精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-08
概念SCA导入:一个SCA组件,可以模拟成其他应用,供SCA其他组件调用,它再调用真正的应用。它可以绑定成Web服务、EJB、JMS(包括MQ)、SCA模块等。 介绍用户输入一个名字,返回“Hello”+用户名。 架构一个流程,一个SCA导入(绑定为Web服务)。 <v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 287.25pt; HEIGHT: 42.75pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape> <v:shape id="_x0000_s1026" style="MARGIN-TOP: 7.95pt; Z-INDEX: -1; LEFT: 0px; MARGIN-LEFT: 351.5pt; WIDTH: 103.5pt; POSITION: absolute; HEIGHT: 2in; TEXT-ALIGN: left; mso-position-horizontal: right" type="#_x0000_t75" wrapcoords="-157 0 -157 21488 21600 21488 21600 0 -157 0"><v:imagedata o:title="" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png"></v:imagedata><w:wrap type="tight"></w:wrap></v:shape>流程三个活动: l Receive:流程的起点,接收外部的消息; l Invoke:调用Java服务; l Reply:流程的终点,返回结果。 两个变量:保存消息。 开发Java服务1. 创建一个动态Web应用项目(WID自动创建相应的EAR项目),项目名称: HelloService。 2. 创建一个Java类,类名:HelloService,包名:bpe.samples.invoker,代码如下: public String hello(String name) {<o:p></o:p> System.out.println("Hello, " + name);<o:p></o:p> if (name==null || name.length()==0) {<o:p></o:p> return "Hello World!";<o:p></o:p> } else {<o:p></o:p> return "Hello, " + name;<o:p></o:p> }<o:p></o:p> }<o:p></o:p> 3. 将Java类生成Web服务,WID将自动将其部署到WPS上: a) Web服务类型为Java Bean(还有其他类型,如:EJB、ISO、DADX等); b) Web服务运行时为IBM WebSphere(WID支持的还有Apache Axis 1.0和IBM SOAP); c) WSDL样式为文档/文字(还有RPC/文字、RPC/编码); d) 安全性配置为没有安全性(WID支持XML签名、XML加密)。 4. 打开浏览器,输入http://localhost:9080/HelloService/services 开发流程1. 创建一个Module项目,项目名称:Invoker。 2. 将HelloService生成的WSDL文件HelloService导入到Invoker中。 3. 创建一个新的WSDL,名称InvokerProcess,文件夹bpc/samples。 4. 在WSDL中创建一个方法operation1,参数input1,类型为string,返回output1,类型为string。 5. 创建一个流程,流程名InvokerProcess,文件夹bpc/samples,使用现有的WSDL文件InvokerProcess。 6. 将导入的WSDL文件HelloService拖拽到流程中,自动生成一个流程伙伴连接。 7. 在流程中拖拽一个Invoke活动,将其与HelloService伙伴连接绑定,并将其入参与变量Input1绑定,出参与变量Output1绑定。 8. 打开装配图,将创建的业务流程拖入到装配图中。 9. 将导入的WSDL文件HelloService拖拽到装配图中,将其作为一个带Web服务绑定的SCA导入组件,选择现有的Web服务端口HelloService,将其命名为HelloServiceImport1。 10. 将流程InvokeProcess与HelloServiceImport1连接到一起。 11. 将WID自动生成的EAR项目HelloServiceEAR和InvokerApp部署到WPS中。 运行见示例1。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2923 次