- 浏览: 118266 次
- 来自: ...
文章分类
最新评论
一、开发包
现有文档:
-
《简单的axis》
现用开发包:
-
服务端开发包使用apache axis
-
客户端开发包使用systinet wasp 5.0
服务端和客户端使用不同开发包的原因:
-
systinet的服务端开发包必须与systinet server一起使用,而我们选择了JBoss等,因此服务端选择了其它的开发包
-
systinet的服务端开发包和客户端开发包缺省占用同一个socket端口,因此无法在同一个应用中同时使用必须systinet的服务端和客户端,因此服务端选择了其它的开发包,对systinet进一步的学习可能会解决这个问题
-
axis的客户端开发包使用了"enum"做普通标识,不能在JDK5中编译,而我们必须用JDK5,因此客户端选择了其它的开发包
服务端和客户端使用不同开发包带来的问题:
-
无法对复杂的数据类型如ArrayList,HashMap等提供支持,因为不同的开发包对非标准WebService类型的编解码方案不一样
-
引入了很多不必要的类库和学习成本,systinet wasp 5.0实在是个很庞大的东西,目前并不能高效的使用它,测试过程中发现目前的使用方式有性能问题
解决方案:
-
客户端也使用axis,在1.4下将生成的stub编译为jar包,然后在1.5中引用
-
目前对systinet的了解非常有限,以上关于它的论述可能不正确,进一步学习后可能会解决上述问题
-
等待axis或systinet各自的升级
二、Nucleus中的WebService
实现
由《简单的axis》可知,发布WebService需要一些配置描述符,目前在M2/Engine/ServiceInterface/nucleus/WEB-INF/中
而增加或修改WebService,只需要修改server-config.wsdd;通常有几种方式修改:
-
如果对axis比较熟悉,可以手工修改
-
如果有合适的eclipse插件,可以使用插件向导修改
-
如果有JBuilder,可以使用JBuilder向导修改
目前使用的是JBuilder+手工修改:
-
可以先新建一些无关的工程,熟悉一下JBuilder对axis和WebService的支持
-
熟悉了之后,使用JBuilder发布Nucleus中新的WebService,从而产生新的server-config.wsdd
-
从新的server-config.wsdd中拷贝出新的WebService对应的描述,粘贴到M2/Engine/ServiceInterface/nucleus/WEB-INF/server-config.wsdd中
设计
为了不依赖于WebService,Nucleus以接口的形式定义了基础服务的接口:
package nucleus.bizcommon.servicegateway:
public interface AgentService
public interface EngineManager
public interface MonitorWebService
public interface OrganizationWebService
public interface PDMWebService
public interface ReportWebService
public interface TaskListWebService
为了在分布式和嵌入式之间方便的进行整体切换,Nucleus定义了服务网关接口:
package nucleus.servicegateway:
public interface WebServiceProvider {
PDMWebService getPDMWebService();
OrganizationWebService getOrganizationWebService();
EngineManager getEngineWebService();
MonitorWebService getMonitorWebService();
TaskListWebService getTasklistWebService();
ReportWebService getReportWebService();
AgentService getAgentService();
}
同时,分别提供了分布式的服务网关
public final class nucleus.servicegateway.ExternalService implements WebServiceProvider
和嵌入式的服务网关
public final class nucleus.servicegateway.InternalService implements WebServiceProvider
然后通过配置就可切换
<bean id="web.service.provider" class="nucleus.servicegateway.InternalService"/>
<!-- <bean id="web.service.provider" class="nucleus.servicegateway.ExternalService"/> -->
此处存在不方便扩展、接口命名没有对应意图(如接口名称中不应包含"Web")等问题,似乎应该把消息系统也包括进来
打包
目前使用CruiseControl和ant来打包,脚本文件位于M2/Engine/*.xml
三、总结
综上所述,新建WebService的步骤是:
-
定义一个服务接口:public interface nucleus.bizcommon.servicegateway.NewService;
-
实现这个接口:public class NewService implements nucleus.bizcommon.servicegateway.NewService;
-
在WebServiceProvider中增加一个方法:NewService getNewService();
-
在ExternalService和InternalService中实现这个方法
-
使用JBuilder发布NewService
-
修改server-config.wsdd
-
打包
发表评论
-
The Object Primer
2004-12-11 11:21 5911,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 757错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 593前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 611前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 46714.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 642同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 608有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 619设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 675关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 711交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 613整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 804一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 746事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 842经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 739BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 6771, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 721读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 755十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 710Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 660Event BusinessWare是一个事件驱动的系统 ...
相关推荐
- **应用场景**: 演示如何将Nucleus PLUS应用于实际的嵌入式项目中。 #### 七、附录 **附录内容包括**: - **Nucleus 常量**: 列出所有对用户有用的Nucleus常量的真实值。 - **系统致命错误**: 记录可能导致系统...
3.2 任务:解释了如何在Nucleus PLUS中创建、管理及调度任务。 3.3 任务通信:阐述了任务间通信的机制和相关服务。 3.4 任务同步:介绍了任务同步的机制,例如信号量、互斥量。 3.5 定时器:解释了如何使用Nucleus ...
《Nucleus中文分析报告...总之,《Nucleus中文分析报告》是深入了解和学习MTK Nucleus RTOS的重要资料,它将帮助读者掌握这个系统的核心概念和技术,从而在实际项目中更加熟练地运用Nucleus,提高产品的性能和可靠性。
Nucleus PLUS中文参考手册.rar Nucleus PLUS中文参考手册.rar
在 Nucleus 中,用户与组设置与 Windows 类似。可以添加或修改用户,并对自定义用户做一些常规设置与归组划分。然而,Nucleus 无法设置组的权限,可以对自定义用户做一些常规设置与归组划分。访问权限实际上是通过...
Nucleus PLUS是一款高性能、可定制的RTOS,旨在满足嵌入式系统开发中的实时需求。这份手册不仅提供了Nucleus PLUS内核的全面概述,还深入探讨了其与实时多任务应用程序的集成方法,是嵌入式系统开发者不可或缺的资源...
安装过程通常涉及将Nucleus PLUS 的源代码或预编译的库文件复制到开发环境中,并配置好相应的环境变量。安装过程中可能还需要配置特定的硬件支持库。 #### 2.3 如何应用Nucleus PLUS 应用Nucleus PLUS 需要按照一定...
Nucleus是一款由Accelerated Technology Inc.(ATI)公司推出的嵌入式实时多任务操作系统,它在全球源码RTOS市场中占据了领先地位。ATI公司成立于1990年,以其平均70%的年增长率迅速成长,并在1999年至2000年间获得...
Nucleus源代码for S3C4510 附详细的porting guide Nucleus PLUS 是为实时要求较高的嵌入式应用设计的实时、任务抢先式、多任务内核。大 约95%的Nucleus PLUS 代码用ANSI C 编写。正因为如此,Nucleus PLUS 非常...
"Plus"可能是该压缩包中包含的一个子目录或者文件,这通常表示这是一个增强版、扩展版或包含了额外功能的版本。在操作系统领域,这样的命名可能意味着"Nucleus Plus"是一个增强了某些功能或优化了性能的"Nucleus...
NucleusPlus是一款轻量级、实时嵌入式操作系统(RTOS),它被广泛应用于各种嵌入式设备和系统中,提供了高效的任务调度、内存管理、中断处理等核心功能。源代码的开放使得开发者能够深入理解其工作原理,进行定制化...
从上述内容中,我们可以得知Nucleus FILE手册主要面向希望在嵌入式系统中使用Nucleus PLUS文件系统的开发者或工程师,它不仅提供了一个文件系统的基本使用指南,还包含了深入的技术细节,以帮助用户充分利用文件系统...
在压缩包中的"nucleus"文件可能包含了整个Nucleus RTOS的源代码目录结构,通常会包含以下部分: - **Kernel**:内核源码,包括任务调度、信号量、互斥锁等核心功能。 - **Memory Management**:内存管理相关的代码...
3. **内存管理**:Nucleus RTOS提供了动态内存分配和释放的功能,源代码中包含了内存池的管理,包括分配、释放和内存碎片的预防机制。这对于资源有限的嵌入式系统尤为重要。 4. **时间管理**:Nucleus RTOS包含时钟...
Nucleus是一款嵌入式实时操作系统(RTOS),因其轻量级、高效的特点,被广泛应用于各种嵌入式系统中。本文将深入剖析Nucleus的操作系统开发流程,并探讨其核心功能,如任务管理、队列、管道、信号量以及调度机制,...
Nucleus PLUS是以源码形式分发的。由于Nucleus PLUS源码是非常庞大,一般用户往往要有一段艰难的理解他的时间。该手册就是帮助Nucleus PLUS用户理解源码而设计的。 Nucleus PLUS 参考手册,Accelerated ...
本篇文章将深入解析Nucleus Plus Internals及Nucleus Plus Reference Manual中的关键知识点。 一、Nucleus Plus概述 Nucleus Plus是一种微内核架构的操作系统,以其高效、可靠和小巧的特性著称。它提供了任务调度、...
3. **定义应用程序任务**:在此步骤中,开发者需要定义应用程序的任务。如果计划使用Nucleus C++提供的服务,则同样需要包含“NUCPP.H”头文件。 4. **编译与汇编**:接下来需要对所有的应用软件进行编译或汇编,...
提供了调试工具和技巧,帮助开发者在开发过程中发现和解决问题。 8. **安全与可靠性**: Nucleus PLUS设计有内置的安全机制,如任务状态检查和内存泄漏检测,确保系统的稳定运行。 通过阅读《Nucleus PLUS参考...
**Nucleus Plus**通常以C库的形式实现,与实时应用相结合后,生成的目标代码可以下载到目标板上运行,或存储在ROM中。值得注意的是,Nucleus Plus通常以源代码的形式发布,用户可以直接查看源代码,这不仅有助于加深...