- 浏览: 124459 次
- 来自: ...
-
文章分类
最新评论
一、开发包
现有文档:
-
《简单的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 6271,书名 被翻译成“ ... -
错误处理规范
2004-12-11 16:47 787错误处理规范 〇、概念澄清 概念 解释 错误 ... -
Java,误解为何如此之深
2005-08-24 13:50 617前几天被电话面试,问J ... -
Java:画蛇添足的编码规范
2005-09-02 13:13 659前几天公司培训编码规范: 第n条: ... -
synchronized : 规则, 推论与实践
2007-07-23 22:32 50714.3.Synchronization. Rule ... -
交互设计: 股市帮凶
2008-05-04 21:30 684同事 Y 在线操作股票时, 把"买入"点成 ... -
交互设计: 火车上的厕所
2008-05-26 17:17 642有人在动车组的厕所前等了很久, 直到乘务员路过说厕所是被锁住了 ... -
设计原则与模式: 案例介绍--CppUnit
2008-06-01 20:15 679设计原则与模式: 案例介绍--CppUnit CppUnit ... -
工作流:形参,实参,相关数据
2004-12-11 11:40 709关于形参,实参,相关数据 一、形参(FormalParame ... -
工作流:第一次发版,过程总结
2004-12-11 11:42 735交流 即时讨论:小组成员咫尺之遥,有问题立即提出并解决 ... -
工作流:第一次发版,设计总结
2004-12-11 11:43 651整体 面向接口:消息系统,持久系统等,其实现都是可替换 ... -
Beyond Workflow : An Introduction to Vitria BusinessWare
2005-09-26 10:13 824一、简介 Busines ... -
Vitria BusinessWare: 存储与访问安全
2006-03-26 15:45 776事实上,BusinessWare使用LDAP做为存储机制和 ... -
Vitria BusinessWare: 平台与软件总线
2006-04-01 12:59 881经过一段时间的使用 ... -
Vitria BusinessWare: Web Services
2006-04-01 14:30 789BusinessWare的Web Services ... -
Web Services:自洽,编码,交换模型
2006-04-01 16:02 7271, 自洽 以前曾经写过: 目前WebServi ... -
Web Services:WSDL 1.1 规范中的几个错误
2006-04-01 16:40 769读完了WSDL 1.1的规范,令人惊讶的是发现似乎例子中有几个 ... -
C++/CLI:被忽视的集成技术
2006-05-17 20:02 816十几行代码,就使一个重要的旧系统组件,完全融入了基于.Ne ... -
AJP/JK:异构Web平台的集成技术
2006-05-25 21:44 754Tomcat Connector 可以将Tomcat ... -
Vitria BusinessWare: 事件与端口
2006-05-27 17:24 719Event 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内核的全面概述,还深入探讨了其与实时多任务应用程序的集成方法,是嵌入式系统开发者不可或缺的资源...
3. **内存管理**:Nucleus RTOS提供了动态内存分配和释放的功能,源代码中包含了内存池的管理,包括分配、释放和内存碎片的预防机制。这对于资源有限的嵌入式系统尤为重要。 4. **时间管理**:Nucleus RTOS包含时钟...
安装过程通常涉及将Nucleus PLUS 的源代码或预编译的库文件复制到开发环境中,并配置好相应的环境变量。安装过程中可能还需要配置特定的硬件支持库。 #### 2.3 如何应用Nucleus PLUS 应用Nucleus PLUS 需要按照一定...
Nucleus是一款由Accelerated Technology Inc.(ATI)公司推出的嵌入式实时多任务操作系统,它在全球源码RTOS市场中占据了领先地位。ATI公司成立于1990年,以其平均70%的年增长率迅速成长,并在1999年至2000年间获得...
1、Nucleus_PLUS.pdf 第一章 介绍 1.1 关于NucleusPLUS 1.2 实时应用 1.3 为什么需要Nucleus PLUS 第二章开始 2.1 应用开发综述 2.2 安装Nucleus PLUS 2.3 如何使用Nucleus PLUS 2.4 应用程序初始化 2.5 目标...
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**:内存管理相关的代码...
Nucleus是一款嵌入式实时操作系统(RTOS),因其轻量级、高效的特点,被广泛应用于各种嵌入式系统中。本文将深入剖析Nucleus的操作系统开发流程,并探讨其核心功能,如任务管理、队列、管道、信号量以及调度机制,...
Nucleus PLUS是以源码形式分发的。由于Nucleus PLUS源码是非常庞大,一般用户往往要有一段艰难的理解他的时间。该手册就是帮助Nucleus PLUS用户理解源码而设计的。 Nucleus PLUS 参考手册,Accelerated ...
本篇文章将深入解析Nucleus Plus Internals及Nucleus Plus Reference Manual中的关键知识点。 一、Nucleus Plus概述 Nucleus Plus是一种微内核架构的操作系统,以其高效、可靠和小巧的特性著称。它提供了任务调度、...
"Nucleus PLUS参考手册.pdf"和"Nucleus plus 移植笔记.pdf"则是关于Nucleus RTOS本身的官方文档和实践经验分享,它们包含了操作系统的核心功能、API使用方法以及将Nucleus移植到不同硬件平台的步骤和技术细节。...
3. **定义应用程序任务**:在此步骤中,开发者需要定义应用程序的任务。如果计划使用Nucleus C++提供的服务,则同样需要包含“NUCPP.H”头文件。 4. **编译与汇编**:接下来需要对所有的应用软件进行编译或汇编,...