第六章web服务本章目标掌握Web服务的基本概念掌握Web服务的工作原理会创建Web服务会调用Web服务会使用JUnit测试程序代码为什么Web服务是大势所趋Web服务优点互操作性:实现不同系统间的相互调用(语言无关、平台无关)服务提供者使用服务的客户端程序提供服务的应用程序与程序的开发语言无关与操作平台(Windows、Linux)无关支付请求返回账单支付请求返回账单可以运行Java,C++,.NET程序可以运行Java,C++,.NET程序购物网站1为什么Web服务是大势所趋Web服务优点松耦合性:松耦合的应用程序具有较好的灵活性购物网站1服务提供者使用服务的客户端程序提供服务的应用程序备用服务提供者提供服务的应用程序Web服务是什么Web服务是一类应用程序,是能够用编程的方法通过Web调用来实现某个功能的应用程序服务调用的客户端程序我要把我实现的支付功能告诉别人,让他们来调用已经有人实现了支付功能,而且还告诉我如何使用这个功能,我可以直接调用了。支付宝服务提供者Web服务是什么Web服务三个角色服务注册机构服务描述服务提供者服务客户端服务服务描述绑定发现发布Web服务是什么Web服务的体系结构应用程序网络服务可靠性UDDIWSDLSOAPXMLHTTPJMSSMTP业务流程网络服务安全性服务质量发现服务描述服务传递消息传输协议传递消息管理Web服务是什么Web服务需要遵守的技术标准XML(描述WEB服务数据的标准方法)SOAP(表示WEB服务信息交换的协议)WSDL(WEB服务描述语言)UDDI(统一描述发现和集成)服务注册机构服务描述服务提供者服务客户端服务服务描述绑定发现发布WSDLUDDIWSDLUDDI在项目中使用Web服务Web服务使用最多的3个场合异构平台整合SOA发布商务服务天气预报如何实现实时预报?使用安付通进行货款支付电子支付服务是谁提供?网站如何来调用的呢?在项目中使用Web服务BDOA项目中哪些功能可以用到Web服务呢?BDOA项目中用到Web服务的地方台帐记录需要发布为Web服务,供财务系统调用演示案例:BDOA系统台账系统服务器JavabdOA服务器Java查账请求返回账务信息创建台账导出服务出品公司是否开源性能操作性Spring支持axisApache是慢复杂弱XFireCodehaus是快容易强Web服务开源框架axis和XFire比较在项目中使用Web服务下载/安装XFire添加XFire用户库创建WebServiceProject创建台帐导出服务接口和实现类发布Web服务测试Web服务演示示例:创建Web服务使用XFire创建Web服务的步骤小结Web服务三个角色分别是什么?创建和发布Web服务的步骤是什么?指导——发布Web服务实现数字累加训练要点:掌握利用XFire创建Web服务需求说明:输入条件:数字n返回结果:1+2+3+4+…n实现思路:1、创建服务接口SumService和实现类型SumServiceImpl2、配置services.xml3、配置web.xml完成时间:20分钟讲解需求说明Web服务的调用使用XFire调用Web服务步骤:获取有效WSDL地址Clientclient=newClient(newURL(wsdlurl))Client.invoke(method,newString[]{params})发布测试Web服务调用创建WebProject演示示例:Web服务调用指导——客户端调用Web服务训练要点:掌握利用XFire创建客户端,调用Web服务需求说明:任意输入一个数字n,返回1+2+…+n的累加和,并在控制台显示出来实现思路:1、创建服务接口SumService.java2、创建客户端调用类Client.java3、运行求数字累加和Web服务4、运行客户端调用服务,传入参数,获得运行结果完成时间:20分钟讲解需求说明小结使用XFire创建Web服务有哪些步骤?使用XFire调用Web服务有哪些步骤?如何获取到WSDL的url值?单元测试单元测试单元测试就是整合程序代码到系统的其余部分之前先测试以便找出程序代码中的臭虫(bugs)为什么要选择JUnit测试工具?开源使用简单可以扩展功能单元测试JUnit的安装在项目中导入JUnit.jar包使用JUnit测试程序代码操作演示:JUnit安装演示示例:用JUnit测试累加程序指导——测试台帐导出服务训练要点:单元测试的作用利用JUnit进行单元测试的步骤需求说明:利用JUnit测试台帐导出服务,断言结果和预期结果相同实现思路:1、添加JUnit的jar包2、创建测试源文件夹和包3、覆盖setUp()进行初始化4、创建测试方法testGetBizAccount()5、运行测试完成时间:30分钟讲解需求说明总结什么是Web服务?Web服务的优势有哪些?Web服务的运行原理?Web服务创建有哪几个步骤?Web服务调用有哪几个步骤?使用JUnit测试工具测试时需要注意什么?