免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验目的及要求1. Web服务实现原理Web服务的目的是通过使用Web标准来完成应用程序之间的互操作性。Web服务使用低耦合的集成模型来允许灵活的不同系统间的集成。编写并发布Web服务程序,通过实践,熟悉Web服务WSDL、SOAP等相关原理知识,培养动手能力。2. Web服务业务流程组合原理业务流程是各种不同功能的活动相连的一组由相关的任务,并且按照一定的业务逻辑执行,Web服务采用BPEL标准描述业务交互中参与者的实际行为,并将一组现有的服务组合起来,从而定义一个新的Web服务。Web服务业务流程组合原理实验要求编写并发布Web服务,并通过设计和编写BPEL流程描述语言,进行部署和调用。通过实践,熟悉Web服务业务流程执行描述语言BPEL规范、流程执行引擎等相关原理知识,培养动手能力。二、实验设备(环境)及要求1Java运行环境 JDK1.6版本2Servlet容器运行环境Tomcat 5.X版本3Webservice容器运行环境AXIS2 1.5.war4Web服务客户端运行环境AXIS2 1.5类库5BPEL流程执行引擎工具Apache ODE三、实验内容与步骤1. Web服务实现原理1编写两个程序,分别实现两个数的加法和减法逻辑,程序的接口定义如下:interface CalculatorAdd public double Add(double x, double y);interface CalculatorSubpublic double Add(double x, double y);2将这两个程序发布为Web服务3. 编写调用客户端程序,分别调用加法和减法,并输出预期的计算结果2. Web服务业务流程组合原理编写BPEL流程CaculateComputer ,分别调用两个数的加法和减法逻辑Web服务程序:客户端输入3个数字,BPEL流程接收请求,先调用加法Web服务,获得结果后,再将结果和第三个参数,作为减法Web的输入,调用减法Web服务,获得预期结果,并返回客户。编写调用客户端程序,调用CaculateComputer BPEL,并输出预期的计算结果四、实验结果与数据处理1. Web服务实现原理 搭建Web服务平台环境,结果如下图。 编写Java程序分别实现CalculatorAdd和CalculatorSub接口,代码如下。package wstest;interface CalculatorAdd public double Add(double x, double y);interface CalculatorSubpublic double Sub(double x, double y);public class AddSubService implements CalculatorAdd, CalculatorSubpublic double Add(double x, double y)return x+y;public double Sub(double x, double y)return x-y; 使用eclipse的AXIS2 Service Archiver插件生成aar文件到%tomcat%下的webappaxis2WEB-INFservices。查看http:/localhost:8080/axis2/services/listServices,结果如下图。 使用eclipse的AXIS2 Code Generator插件根据:8080/axis2/services/AddSubService?wsdl描述文件生成调用Web服务的相关Java源码,结果如下图。 编写相应Web服务的客户端调用程序,代码如下。import java.rmi.RemoteException;import wstest.*;import org.apache.axis2.AxisFault;public class wsclientpublic static void main(String args)try double x1 = 7.89;double y1 = 6.54;double x2 = 6.78;double y2 = 4.32;AddSubServiceStub stub = new AddSubServiceStub();Add add = new Add();add.setX(x1);add.setY(y1);Sub sub = new Sub();sub.setX(x2);sub.setY(y2);AddResponse addresponse = stub.add(add);SubResponse subresponse = stub.sub(sub);System.out.println(add.getX() + + + add.getY() + = + addresponse.get_return();System.out.println(sub.getX() + - + sub.getY() + = + subresponse.get_return(); catch (AxisFault e) e.printStackTrace(); catch (RemoteException e) e.printStackTrace(); 客户端顺利调用了加法和减法Web服务,运行结果如下图。2. Web服务业务流程组合原理 搭建BPEL流程执行引擎平台环境,在浏览器地址栏中输入http:/localhost:8080/ode/,结果如下图,运行正常。 利用上一实验实现的加减法Web服务,使用eclipse BPEL Designer开发BPEL流程CaculateComputer。在图形界面中设置伙伴链接、变量,设计BPEL流程的赋值和调用等,即可完成开发。流程简图如下。BPEL流程CaculateComputer的WSDL描述如下。 BPEL流程文件CaculateComputer.bpel如下。 0.0 0.0 0.0 0.0 0.0 Apache ODE部署描述文件deploy.xml如下。 true false 将项目中的文件都打包成zip格式,如下图。在http:/localhost:8080/ode/deployment.html 选择打包好的zip文件,部署BPEL流程,结果如下图。使用eclipse的Web Service Explorer,根据地址http:/localhost:8080/ode/processes/CaculateComputer?wsdl 测试部署的BPEL流程,如下图,结果正确。编写客户端调用程序,代码如下(使用eclipse的AXIS2 Code Generator插件根据http:/localhost:8080/ode/processes/CaculateComputer?wsdl描述文件生成调用Web服务的相关Java源码)。import java.rmi.RemoteException;import wstest.*;import org.apache.axis2.AxisFault;public class BPELclientpublic static void main(String args)try double a = 3.1;double b = 6.5;double c = 2.3;CaculateComputerStub stub = new CaculateComputerStub();CaculateComputerRequest request = new CaculateComputerRequest();request.setA(a);request.setB(b);request.setC(c);CaculateComputerResponse response =cess(request);System.out.println(request.getA() + + + request.getB() + - + request.getC() + = + response.getResult(); catch (AxisFault e) e.printStackTrace(); catch (RemoteException e) e.printStackTrace();客户端运行结果如下图,结果正确。五、分析与讨论1. SOAP消息是如何进行编码和解析?在SOAP消息中必须指明编码规则,以使得接收端能够正确的解码数据。可以使用不同的编码规则(RPC, RPC-literal, document-style),基于W3C XML Schema。SOAP 编码方案将 SOAP 数据模型序列化为XML。解析SOAP消息就像解析XML一样,可以使用JAXB,SAX,DOM等方法。2. 不同模式Web服务客户端编写方式有什么差异?对性能进行比较。使用wsdl2java可以极大地简化调用WebService的步骤,并使代码更加简洁。使用RPC方式调用WebService编码工作量较大,但效率比使用wsdl2java高。3. 理解BPEL中不同标签定义的实际语义含义?:定义变量。:接受服务请求这发来的消息,得到参数。:根据不同的条件调用不同的服务。:用新的数据来更新变量的值。:调用外部服务。:将BPEL流程的返回变量返回给服务请求者。 :通过定义会话里每个服务扮演的角色以及指定由每个服务提供的portType接收会话上下文里的消息来刻画了两个服务之间的会话关系。:相关集在其语义上类似于延迟绑定的常数。:故障处理程序。:补偿处理程序。:事件处理程序。:从业务流程中生成故障。:立即终止。:等待一段给定的时间或等到某一时刻。:定义一组按顺序先后执行的活动。:反复执行一个活动,直到某个成功条件被满足为止。:阻塞并等待某一个合适的消息的到达或超时警报响起。当其中一个触发器触发后,相关的活动就被执行,pick也随即完成了。:指定一个或多个并行地执行的活动。:定义嵌套活动,这个嵌套活动有和自己关联的变量、故障处理程序和补偿处理程序。:已正常完成执行的内层作用域上调用补偿。4. 采用BPEL来组合多个Web服务成为一个新的Web服务,有什么优
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务审计报表分析自动化处理工具会计科目全面覆盖版
- 跨部门协同办公及项目管理模板
- 学会分享的议论文13篇
- 租房子合同模板高清(3篇)
- 2025年物联网行业物联网技术应用与智能设备发展研究报告及未来发展趋势预测
- 狸花猫脾气测试题及答案
- 2025年体育产业体育品牌营销策略研究报告及未来发展趋势预测
- 2025年电信行业5G网络和物联网发展研究报告及未来发展趋势预测
- 天马行空的想象世界:想象作文5篇
- 上海低压电工实操考试题库及答案
- 2025山西太原市面向劳务派遣人员招聘2人笔试历年参考题库附带答案详解
- 山地建筑规划方案设计规范
- 关于“校园餐”专项整治工作开展情况的汇报
- 2025年汽车后市场初步法律法规政策解读方案
- 2025至2030中国草甘膦行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国高空平台行业项目调研及市场前景预测评估报告
- 加油站操作员三级安全教育(班组级)考核试卷及答案
- 冬季八防安全培训课件
- 诊断学腹部体格检查课件
- T-CRACM 0003-2025 中医体质药食同源膏方标准
- NCCN肾癌指南精要
评论
0/150
提交评论