- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web服务和业务流程的实现
一、实验目的及要求
1. Web服务实现原理
Web服务的目的是通过使用Web标准来完成应用程序之间的互操作性。Web服务使用低耦合的集成模型来允许灵活的不同系统间的集成。编写并发布Web服务程序,通过实践,熟悉Web服务WSDL、SOAP等相关原理知识,培养动手能力。
2. Web服务业务流程组合原理
业务流程是各种不同功能的活动相连的一组由相关的任务,并且按照一定的业务逻辑执行,Web服务采用BPEL标准描述业务交互中参与者的实际行为,并将一组现有的服务组合起来,从而定义一个新的Web服务。Web服务业务流程组合原理实验要求编写并发布Web服务,并通过设计和编写BPEL流程描述语言,进行部署和调用。通过实践,熟悉Web服务业务流程执行描述语言BPEL规范、流程执行引擎等相关原理知识,培养动手能力。
二、实验设备(环境)及要求
1.Java运行环境 JDK1.6版本
2.Servlet容器运行环境Tomcat 5.X版本
3.Webservice容器运行环境AXIS2 1.5.war
4.Web服务客户端运行环境AXIS2 1.5类库
5.BPEL流程执行引擎工具Apache ODE
三、实验内容与步骤
1. Web服务实现原理
1.编写两个程序,分别实现两个数的加法和减法逻辑,程序的接口定义如下:
interface CalculatorAdd{
public double Add(double x, double y);}
interface CalculatorSub{
public 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 CalculatorSub
{
public double Sub(double x, double y);
}
public class AddSubService implements CalculatorAdd, CalculatorSub
{
public 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%下的\webapp\axis2\WEB-INF\services。
查看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 wsclient
{
public 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();
文档评论(0)