企业级开发WEB服务的实现

上传人:s9****2 文档编号:567299007 上传时间:2024-07-19 格式:PPT 页数:30 大小:5.07MB
返回 下载 相关 举报
企业级开发WEB服务的实现_第1页
第1页 / 共30页
企业级开发WEB服务的实现_第2页
第2页 / 共30页
企业级开发WEB服务的实现_第3页
第3页 / 共30页
企业级开发WEB服务的实现_第4页
第4页 / 共30页
企业级开发WEB服务的实现_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《企业级开发WEB服务的实现》由会员分享,可在线阅读,更多相关《企业级开发WEB服务的实现(30页珍藏版)》请在金锄头文库上搜索。

1、企业级开发WEB服务的实现Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望课程内容课程内容Web Service的概念 Web Service的标准 什么是WSDL 什么是SOAP 什么是UDDI 简单的Web Service的创建和客户端的访问WEB SERVICE的概述的概述 WEB服务产生背景服务产生背景(Cont.)Internet信息化应用需求信息化应用需求HTMLHTMLSOAP/WSDL/UDDISOAP/WSDL/UDDIAny time Any where Any

2、device跨互联网跨互联网松散耦合松散耦合协同工作协同工作资源共享资源共享互连互连互通互通互操作互操作WEB服服务的目的目标为了让地理上分布在不同区域的计算机和设备一起工作,为用户提供各种各样的服务。用户可以控制要获取信息的内容、时间、方式,而不必像目前这样,在无数个信息孤岛中浏览,去寻找自己需要的信息。选择目的地:天气预报:汇率:飞机票价:雨雨雨雨Redmond$1.56$1,999.98Northwind Northwind 商务旅游网商务旅游网商务旅游网商务旅游网XML Web Service应用案例应用案例InternetInternet天气预报天气预报XML Web Service

3、汇率汇率XML Web Service飞机票价飞机票价数据库数据库飞机票价飞机票价XML Web ServiceWeb Service工作模式工作模式什么是什么是WEB SERVICE? Web Service的定义:一个Web Service就是一个可以被URI识别的软件应用,它的接口可以被XML描述与发现,并且可以通过基于Internet的协议直接支持,与其它基于XML消息的软件应用交互。 Web Service就是个对外的接口,里面有函数可供外部客户调用(注意:里面同样有客户不可调用的函数)。Web Service是建立可互操作的分布式应用程序的新平台。Web Service平台是一套标

4、准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web Service,只要我们可以通过Web Service标准对这些服务进行查询和访问。 特点特点 Web Service传递的数据只能是序列化的数据,典型的就是XML数据。 Web Service是描述一组操作的接口,这些操作可以通过标准的XML消息在网络上进行访问。 Web Service可看作是一些模块化的应用程序,这些应用程序能在Web上描述、发布、定位和调用。 Web Service描述了一种重要的分布式计算模型,与DCE、CORBA、RMI等方法不同,它更强调基于单个Internet

5、标准来解决异构的分布式计算问题。 Web Service定义了一种技术,用于描述被访问的软件组件、访问组件的方法以及找到相关服务提供这样的发现方法。 Web Service并不倾向于特定的编程语言和系统平台。也就是说我们可以用多种语言来实现Web Service,比如C#或者是Java等等。 WEB SERVICE技术技术 服务提供者(服务提供者(Service provider) :对外提供服:对外提供服务,并且通过注册来发布服务信息。务,并且通过注册来发布服务信息。 服务注册器(服务注册器(Service broker):提供服务的发):提供服务的发布和定位功能。布和定位功能。 服务请求者

6、(服务请求者(Service requester):通过服务代):通过服务代理查询所需服务,并通过服务提供者绑定服务。理查询所需服务,并通过服务提供者绑定服务。 WEB SERVICE的标准的标准Web服务服务=WDDL+SOAP+UDDIWSDL Web Service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的 。一些最新的开发工具既能根据你的Web Service生成WSDL文档,又能导入WSDL文档,生成调用相应Web Service的代码。 一个简单的一个简单的

7、WSDL文件文件下面是了下面是了HelloWebService服务的服务的WSDL文件的部分内容。文件的部分内容。 .WSDL文件的文件的根元素都是根元素都是 元素包含一个元素包含一个或多个或多个元素元素 Hello WebService服务指定名称服务指定名称 SOAP SOAP即简单对象访问协议(Simple Object Access Protocol),是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其它传输协议上。 SOA

8、P消息:请求消息:请求 在客户同在客户同Hello Web服务消息交互过程中,将出现如下类似的请求消服务消息交互过程中,将出现如下类似的请求消息内容:息内容:xmlns:soapenv=http:/schemas.xmlsoap.org/soap/envelope/xmlns:xsd=http:/www.w3.org/2001/XMLSchema"xmlns:ns1=http:/ws.session.examples/这就是在网络上实际传输的这就是在网络上实际传输的SOAP消息,它包含两部分内容:消息,它包含两部分内容:其一:其一:HTTP POST请求头信息;请求头信息;其二:其二:

9、XML文档。文档。 含有含有元素元素 SOAP消息:响应消息:响应响应消息的内容也非常简单:响应消息的内容也非常简单:xmlns:soapenv=http:/schemas.xmlsoap.org/soap/envelope/xmlns:xsd=http:/www.w3.org/2001/XMLSchemaxmlns:ns1=http:/ws.session.examples Hello,World!/return 显然,这也是由显然,这也是由HTTP头和头和XML文档构成的。文档构成的。XML文档含有文档含有SOAP信信封,此时,封,此时,SOAP信封表达了调用结果,即简单字符串。信封表达了

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

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

12、接口类来创建服务。 核心代核心代码如下:码如下:public static void main(String args ) Service srvcModel =new ObjectServiceFactory().create(IHelloWorldService.class);XFireProxyFactory factory =new FireProxyFactory(XFireFactory.newInstance().getXFire();String helloWorldURL = http:/localhost:8080/TestWebService/services/Hello

13、WorldService;try IHelloWorldService srvc =(IHelloWorldService)factory.create(srvcModel,helloWorldURL);System.out.print(srvc.sayHello(Kedou); catch (Exception e) e.printStackTrace(); 本章总结本章总结Web Service的概念 Web Service的标准 什么是WSDL 什么是SOAP 什么是UDDI 简单的Web Service的创建和客户端的访问 动手实践:数学计算动手实践:数学计算Webservice 应用

14、应用(1)创建一个对数字进行简单的加、减、乘、除操作的Web服务。(2)编写客户端程序进行测试。实现步骤实现步骤(1)新建一个)新建一个WebService工程工程 ,之后编写业务操作,之后编写业务操作的接口类的接口类 (2)实现该接口的业务)实现该接口的业务(3)在工程下的)在工程下的WebService目录下的目录下的services.xml文文件中配置件中配置Web服务服务(4)发布)发布Web服务。启动服务器并测试服务是否部服务。启动服务器并测试服务是否部署成功署成功 (5)编写客户端进行测试)编写客户端进行测试 (1)新建一个WebService,工程命名为NumOperator,之

15、后编写业务操作的接口类INumWebservice,代码如下:package com.test.webservice;public interface INumWebservice 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

16、类型。(2)编写以上接口的实现类:NumWebserviceImpl,代码如下:package com.test.webservice;public class NumWebserviceImpl 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

17、 divide(double num1, double num2) double d = 0;if(num2!=0)d=num1/num2;return d;(3)配置Web服务,在工程下的WebService目录下的services.xml文件中添加如下代码:NumWebservicecom.test.webservice.INumWebservicecom.test.webservice.NumWebserviceImplwrappedliteralapplication(4)之后发布Web服务。启动服务器并测试服务是否部署成功,在IE浏览器中输入:“http:/localhost:808

18、0/NumOperator/services/NumWebservice?wsdl”如果能看到服务器自动生成的wsdl文件,即说明配置成功。(5)编写客户端进行测试,代码如下:package com.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.Ob

19、jectServiceFactory;import com.test.webservice.INumWebservice;public class TestHelloWorldService public static void main(String args ) Service srvcModel = new ObjectServiceFactory().create(INumWebservice.class);XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire();St

20、ring helloWorldURL = http:/localhost:8080/+ NumOperator/services/NumWebservice;try INumWebservice srvc = (INumWebservice)factory.create(srvcModel,helloWorldURL);System.out.println(测试两数字相加:+srvc.add(17,64);System.out.println(测试两数字相减:+srvc.subtract(105,26);System.out.println(测试两数字相乘:+srvc.ride(215,46);System.out.println(测试两数字相除:+srvc.divide(49,15); catch (Exception e) e.printStackTrace();

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号