企业级开发WEB服务的实现ppt课件_第1页
企业级开发WEB服务的实现ppt课件_第2页
企业级开发WEB服务的实现ppt课件_第3页
企业级开发WEB服务的实现ppt课件_第4页
企业级开发WEB服务的实现ppt课件_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章WEB效力效力WEB SERICE原理原理 Web Service的概念 Web Service的规范 什么是WSDL 什么是SOAP 什么是UDDI 简单的Web Service的创建和客户端的访问WEB SERVICE的概述的概述 WEB效力产生背景效力产生背景(Cont.)Internet信息化运用需求信息化运用需求Any time Any where Any device跨互联网跨互联网松散耦合松散耦合协同任务协同任务资源共享资源共享互连互连互通互通互操作互操作WEB效力的目的效力的目的为了让地理上分布在不同区域的计算机和设备一同任务,为用户提供各种各样的效力。用户可以控制

2、要获取信息的内容、时间、方式,而不用像目前这样,在无数个信息孤岛中阅读,去寻觅本人需求的信息。选择目的地:天气预告:汇率:飞机票价:Redmond$1.56$1,999.98XML Web Service运用案例运用案例天气预告天气预告XML Web Service汇率汇率XML Web Service飞机票价飞机票价数据库数据库飞机票价飞机票价XML Web ServiceWeb Service任务方式任务方式什么是什么是WEB SERVICE? Web Service的定义:一个Web Service就是一个可以被URI识别的软件运用,它的接口可以被XML描画与发现,并且可以经过基于Int

3、ernet的协议直接支持,与其它基于XML音讯的软件运用交互。 Web Service就是个对外的接口,里面有函数可供外部客户调用留意:里面同样有客户不可调用的函数。Web Service是建立可互操作的分布式运用程序的新平台。Web Service平台是一套规范,它定义了运用程序如何在Web上实现互操作性。他可以用任何他喜欢的言语,在任何他喜欢的平台上写Web Service,只需我们可以经过Web Service规范对这些效力进展查询和访问。 特点特点 Web Service传送的数据只能是序列化的数据,典型的就是XML数据。 Web Service是描画一组操作的接口,这些操作可以经过规

4、范的XML音讯在网络上进展访问。 Web Service可看作是一些模块化的运用程序,这些运用程序能在Web上描画、发布、定位和调用。 Web Service描画了一种重要的分布式计算模型,与DCE、CORBA、RMI等方法不同,它更强调基于单个Internet规范来处理异构的分布式计算问题。 Web Service定义了一种技术,用于描画被访问的软件组件、访问组件的方法以及找到相关效力提供这样的发现方法。 Web Service并不倾向于特定的编程言语和系统平台。也就是说我们可以用多种言语来实现Web Service,比如C#或者是Java等等。 WEB SERVICE技术技术 效力提供者S

5、ervice provider :对外提供效力,并且经过注册来发布效力信息。 效力注册器Service broker:提供效力的发布和定位功能。 效力恳求者Service requester:经过效力代理查询所需效力,并经过效力提供者绑定效力。 WEB SERVICE的规范的规范Web效力效力=WDDL+SOAP+UDDIWSDL Web Service描画言语(WSDL)就是这样一个基于XML的言语,用于描画Web Service及其函数、参数和前往值。由于是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的 。一些最新的开发工具既能根据他的Web Service生成WSDL文档,又

6、能导入WSDL文档,生成调用相应Web Service的代码。 一个简单的一个简单的WSDL文件文件下面是了下面是了HelloWebService效力的效力的WSDL文件的部分内容。文件的部分内容。 .WSDL文件的文件的根元素都是根元素都是 元素包含一个元素包含一个或多个或多个元素元素 Hello WebService效力指定称号效力指定称号 SOAP SOAP即简单对象访问协议Simple Object Access Protocol,是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描画信息内容和如何处置内容定义了框架,将程序对象编码成为XML对象的规那么

7、,执行远程过程调用RPC的商定。SOAP可以运转在任何其它传输协议上。 SOAP音讯:恳求音讯:恳求 在客户同在客户同Hello Web效力音讯交互过程中,将出现如下类似的恳求音效力音讯交互过程中,将出现如下类似的恳求音讯内容:讯内容:xmlns:soapenv=/soap/envelope/xmlns:xsd=/2001/XMLSchema&quotxmlns:ns1=ws.session.examples/这就是在网络上实践传输的这就是在网络上实践传输的SOAP音讯,它包含两部分内容:音讯,它包含两部分内容:其一:其一: POST恳

8、求头信息;恳求头信息;其二:其二:XML文档。文档。 含有含有元素元素 SOAP音讯:呼应音讯:呼应呼应音讯的内容也非常简单:呼应音讯的内容也非常简单:xmlns:soapenv=/soap/envelope/xmlns:xsd=/2001/XMLSchemaxmlns:ns1=ws.session.examples Hello,World!/return 显然,这也是由显然,这也是由HTTP头和头和XML文档构成的。文档构成的。XML文档含有文档含有SOAP信信封,此时,封,此时,SOAP信封表达了调用结果,即简单字符串。信封表达了调用结果,

9、即简单字符串。 UDDI UDDI 的目的是为电子商务建立规范;UDDI是一套基于Web分布式的、为Web Service提供的、信息注册中心的实现规范规范,同时也包含一组使企业能将本身提供的Web Service注册,以使别的企业可以发现的访问协议的实现规范。 UDDI基于现成的规范,如可扩展标志言语XML和简单对象访问协议SOAP。UDDI的一切兼容实现都支持UDDI规范。公共规范是机构成员在开放的、兼容并蓄的过程中开发出来的。 构建一个简单的构建一个简单的WEB SERVICEWEB SERVICE的实现的实现 以以Eclipse+MyEclipse5.0GA版本的集成开发工具为例如来讲

10、解,步骤如下:版本的集成开发工具为例如来讲解,步骤如下: 首先建立一个新的工程Project选择“Web Service Project类型 编写要导出的pojo类,首先是接口 ,之后是实现类配置services.xml 文件部署、测试客户端调用客户端调用Web效力效力 可以直接编写可以直接编写Java程序来调用程序来调用WebService,在调用之前首先要获得,在调用之前首先要获得接口类:接口类:IHelloWorldService.class,借助于接口类来创建效力。,借助于接口类来创建效力。 中心代中心代码如下:码如下:public static void main(String ar

11、gs ) Service srvcModel =new ObjectServiceFactory().create(IHelloWorldService.class);XFireProxyFactory factory =new FireProxyFactory(XFireFactory.newInstance().getXFire();String helloWorldURL = localhost:8080/TestWebService/services/HelloWorldService;try IHelloWorldService srvc =(IHelloWorldService)f

12、actory.create(srvcModel,helloWorldURL);System.out.print(srvc.sayHello(Kedou); catch (Exception e) e.printStackTrace(); 本章总结本章总结Web Service的概念 Web Service的规范 什么是WSDL 什么是SOAP 什么是UDDI 简单的Web Service的创建和客户端的访问 动手实际:数学计算动手实际:数学计算Webservice 运用运用1创建一个对数字进展简单的加、减、乘、除操作的Web效力。2编写客户端程序进展测试。实现步骤实现步骤1新建一个新建一个We

13、bService工程工程 ,之后编写业务操作,之后编写业务操作的接口类的接口类 2实现该接口的业务实现该接口的业务3在工程下的在工程下的WebService目录下的目录下的services.xml文文件中配置件中配置Web效力效力4发布发布Web效力。启动效力器并测试效力能否部效力。启动效力器并测试效力能否部署胜利署胜利 5编写客户端进展测试编写客户端进展测试 1新建一个WebService,工程命名为NumOperator,之后编写业务操作的接口类INumWebservice,代码如下:package com.test.webservice;public interface INumWebs

14、ervice public int add(int num1,int num2);public int subtract(int num1,int num2);public int ride(int num1,int num2);public double divide(double num1,double num2);以上的INumWebservice接口中含有四个方法,分别代表不同的操作。其中相除的操作前往的值是double类型。2编写以上接口的实现类:NumWebserviceImpl,代码如下:package com.test.webservice;public class NumWe

15、bserviceImpl implements INumWebservice public int add(int num1, int num2) return num1+num2;public int subtract(int num1, int num2) return num1-num2;public int ride(int num1, int num2) return num1*num2;public double divide(double num1, double num2) double d = 0;if(num2!=0)d=num1/num2;return d;3配置Web效

16、力,在工程下的WebService目录下的services.xml文件中添加如下代码:NumWebservicecom.test.webservice.INumWebservicecom.test.webservice.NumWebserviceImplwrappedliteralapplication4之后发布Web效力。启动效力器并测试效力能否部署胜利,在IE阅读器中输入: “localhost:8080/NumOperator/services/NumWebservice?wsdl 假设能看到效力器自动生成的wsdl文件,即阐明配置胜利。5编写客户端进展测试,代码如下:package c

17、om.test.webservice.client;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory;import com.test.webservice.INumWebservice;public class TestHelloWorldService p

18、ublic static void main(String args ) Service srvcModel = new ObjectServiceFactory().create(INumWebservice.class);XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire();String helloWorldURL = localhost:8080/+ NumOperator/services/NumWebservice;try INumWebservice srvc =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论