当前位置首页 > 计算机 > WEB服务/网站/SEO
搜柄,搜必应! 快速导航 | 使用教程

企业级开发WEB服务的实现

文档格式:PPT| 30 页|大小 5MB|2024-10-09 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 30
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第三章,WEB服务(WEB SERICE)原理,课程内容,Web Service的概念,Web Service的标准,什么是WSDL,什么是SOAP,什么是UDDI,简单的Web Service的创建和客户端的访问,WEB SERVICE的概述,WEB服务产生背景(Cont.),Internet,信息化应用需求,HTML,SOAP/WSDL/UDDI,Any time,Any where,Any device,跨互联网,松散耦合,协同工作,资源共享,互连,互通,互操作,WEB服务的目标,为了让地理上分布在不同区域的计算机和设备一起工作,为用户提供各种各样的服务用户可以控制要获取信息的内容、时间、方式,而不必像目前这样,在无数个信息孤岛中浏览,去寻找自己需要的信息选择目的地:,天气预报:,汇率:,飞机票价:,雨,Redmond,$1.56,$1,999.98,Northwind 商务旅游网,XML Web Service应用案例,Internet,天气预报XML Web Service,汇率,XML Web Service,飞机票价,数据库,飞机票价,XML Web Service,Web Service工作模式,什么是WEB SERVICE?,Web Service的定义:,一个Web Service就是一个可以被URI识别的软件应用,它的接口可以被XML描述与发现,并且可以通过基于Internet的协议直接支持,与其它基于XML消息的软件应用交互。

    Web Service就是个对外的接口,里面有函数可供外部客户调用(注意:里面同样有客户不可调用的函数)Web Service是建立可互操作的分布式应用程序的新平台Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web Service,只要我们可以通过Web Service标准对这些服务进行查询和访问特点,Web Service,传递的数据只能是序列化的数据,典型的就是XML数据Web Service,是描述一组操作的接口,这些操作可以通过标准的XML消息在网络上进行访问Web Service,可看作是一些模块化的应用程序,这些应用程序能在Web上描述、发布、定位和调用Web Service,描述了一种重要的分布式计算模型,与DCE、CORBA、RMI等方法不同,它更强调基于单个Internet标准来解决异构的分布式计算问题Web Service,定义了一种技术,用于描述被访问的软件组件、访问组件的方法以及找到相关服务提供这样的发现方法Web Service,并不倾向于特定的编程语言和系统平台也就是说我们可以用多种语言来实现Web Service,比如C#或者是Java等等。

    WEB SERVICE技术,服务提供者(Service provider):对外提供服务,并且通过注册来发布服务信息服务注册器(Service broker):提供服务的发布和定位功能服务请求者(Service requester):通过服务代理查询所需服务,并通过服务提供者绑定服务WEB SERVICE的标准,Web服务=WDDL+SOAP+UDDI,WSDL,Web Service描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的一些最新的开发工具既能根据你的Web Service生成WSDL文档,又能导入WSDL文档,生成调用相应Web Service的代码一个简单的WSDL文件,下面是了HelloWebService服务的WSDL文件的部分内容WSDL文件的根元素都是,元素包含一个或多个元素,Hello WebService服务指定名称,SOAP,SOAP即简单对象访问协议(Simple Object Access Protocol),是用于交换XML编码信息的轻量级协议。

    它有三个主要方面:,XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定SOAP可以运行在任何其它传输协议上SOAP消息:请求,在客户同Hello Web服务消息交互过程中,将出现如下类似的请求消息内容:,xmlns:soapenv=http:/soap/envelope/,xmlns:xsd=http:/www.w3.org/2001/XMLSchema",xmlns:ns1=http:/,这就是在网络上实际传输的SOAP消息,它包含两部分内容:,其一:HTTP POST请求头信息;,其二:XML文档含有元素,SOAP消息:响应,响应消息的内容也非常简单:,xmlns:soapenv=http:/soap/envelope/,xmlns:xsd=http:/www.w3.org/2001/XMLSchema,xmlns:ns1=http:/,Hello,World!/return,显然,这也是由HTTP头和XML文档构成的XML文档含有SOAP信封,此时,SOAP信封表达了调用结果,即简单字符串UDDI,UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

    UDDI基于现成的标准,如可扩展标记语言(XML)和简单对象访问协议(SOAP)UDDI的所有兼容实现都支持UDDI规范公共规范是机构成员在开放的、兼容并蓄的过程中开发出来的构建一个简单的WEB SERVICE,WEB SERVICE的实现,以Eclipse+MyEclipse5.0GA版本的集成开发工具为示例来讲解,步骤如下:,首先建立一个新的工程(Project)选择“Web Service Project”类型,编写要导出的pojo类,首先是接口,之后是实现类,配置services.xml 文件,部署、测试,客户端调用Web服务,可以直接编写Java程序来调用WebService,在调用之前首先要获得接口类:IHelloWorldService.class,借助于接口类来创建服务核心代码如下:,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/HelloWorldService;,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 应用,(1)创建一个对数字进行简单的加、减、乘、除操作的Web服务。

    2)编写客户端程序进行测试实现步骤,(1)新建一个WebService工程,之后编写业务操作的接口类,(2)实现该接口的业务,(3)在工程下的WebService目录下的services.xml文件中配置Web服务,(4)发布Web服务启动服务器并测试服务是否部署成功,(5)编写客户端进行测试,(1)新建一个WebService,工程命名为NumOperator,之后编写业务操作的接口类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,类型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 divide(double num1,double num2),double d=0;,if(num2!=0),d=num1/num2;,return d;,(,3,)配置,Web,服务,在工程下的,WebService,目录下的,services.xml,文件中添加如下代码:,NumWebservice,wrapped,literal,application,(4)之后发布Web服务。

    启动服务器并测试服务是否部署成功,在IE浏览器中输入:,“http:/localhost:8080/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.ObjectServiceFactory;,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();。

    点击阅读更多内容
    卖家[上传人]:痛苦女王
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档