您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > WebService技术讨论
WebService技术讨论WebService技术讨论•WebService简介•WebService协议•WebService主流框架•WebService示例WebService简介•WebService概述•WebService技术体系•WebService优点WebService简介---WebService概述从表面上看,WebService就是一个应用程序,他向外界暴露出一个能够通过Web进行调用的API,这就是说,你能够用编程的方法同过Web调用来实现某个功能的应用程序。从深层次看,WebService是一种新的Web应用程序分支,它们是自包含,自描述,模块化的应用,可以在网络(通常为Web)中被描述,发布,查找以及通过Web来调用。WebService是基于网络的,分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这么规范使得WebService能与其他兼容的组件进行互操作,它可以使用标准的互联网协议,像HTTP和XML,将功能提现在互联网和企业内部网上,WebService平台是一套标准,它定义了应用程序如何在Web上实现互操作性,你可以用你喜欢的任何语言,在你喜欢的任何平台上写WebService。WebService简介---WebService概述WebService简介•WebService概述•WebService技术体系•WebService优点WebService采用SOA(面向服务的架构,ServiceOrientedArchitecture)模型作为它的体系统结构,如图所示:图1SOA模型WebService简介---WebService技术体系服务提供者所能提供的服务接口用WSDL描述出来,然后使用UDDI在服务中介者处将这些服务接口进行注册;服务中介者则使用UDDI注册这些服务接口,并接受服务请求者的查询;服务请求者通过使用UDDI在服务中介者处查询,得到所需的服务接口的描述文件,然后绑定到这些服务,最终完成调用。这三者之间都采用了SOAP(SimpleObjectAccessProtocol)完成。WebService简介---WebService技术体系WebService简介•WebService概述•WebService技术体系•WebService优点WebService简介---WebService优点WebService与Web应用程序比较:WebServiceWeb应用程序编程模型面向服务的编程模型集中式的编程模型语言平台独立性完全的跨语言、跨平台不能完全的跨语言、跨平台WebService简介---WebService优点WebService、COM、CORBA等分布式应用程序比较:WebServiceCom技术Corba技术JavaRMI编程模型面向服务的编程模型接口编程面向服务的编程模型接口编程发布方式Web方式应用程序方式应用程序方式应用程序方式协议通用性W3C的标准协议-SOAP,简单,易于实现DCEIIOPJRMP语言平台独立性完全的跨语言、跨平台Windows平台对等的语言环境完全的跨语言、跨平台跨平台对等的语言环境WebService简介---WebService优点WebService的优点:1、面向服务的分布式编程模型;2、完全的语言,平台独立性;3、协议的通用性;WebService技术讨论•WebService简介•WebService协议•WebService主流框架•WebService示例WebService协议•WSDL•SOAP•UDDI•JAX-WSWebService协议---WSDLWSDL是为分布式系统提供自动执行应用程序通信中所涉及细节的一种描述性文档,它的基本构想是将网络服务描述为能够进行消息交换的通信端点的集合,进而对这些服务在通信中所涉细节进行结构化描述。调用者可以通过接口界面了解通信所需知道的数据类型、消息结构、传输协议等信息,从而调用相关服务。WSDL的框架结构由XMLSchema定义,并由于采用XML,能使WSDL对各种语言实现的服务接口进行描述,对已有系统的集成有独特的好处。1、概述WebService协议---WSDL2、组成1)definition元素:它是整个WSDL文档的根元素,包含所有其它WSDL元素;2)types元素:它包含与交换的消息相关的数据类型定义。为了获得最大程度的互操作性与平台的中立性,WSDL选用XMLSchema作为标准类型系统,也允许通过扩展性元素来添加类型,以增强数据表达能力。types定义可以进行单独存放,使其利于复用;3)message元素:它代表所传输内容的抽象定义。message(消息)由一些逻辑片段(part)构成,片段(part)是一种用于描述消息的逻辑抽象内容的灵活机制,每个片段分别与某个类型系统中的定义相关联,绑定(binding)就是使用片段名称来指定有关片段的绑定专用信息的;WebService协议---WSDL4)portType元素:它代表抽象操作(operation)的集合,以及所涉及的抽象消息;5)port元素:它为绑定(binding)指定一个地址,但不能指定除地址信息以外的任何绑定信息;6)service元素:它用于将一组相关端口(port)聚合在一起,一个服务(service)中的所有端口(port)间都不能相互通信。WebService协议•WSDL•SOAP•UDDI•JAX-WSWebService协议---SOAPSOAP(SimpleObjectAccessProtocal)是由UserLand、IBM、Microsoft、DevelopeMentor等公司共同起草,并由W3C公布推荐的一种分布式处理协议。它基于XML协议,SOAP以XML形式提供了一个简单且轻量的用于在分散或分布环境交换结构化和类型信息的机制,其本身并没有定义任何应用程序语义,如编程模型后特定语义的实,而是通过提供一个有标准组件的包模型和在模块中编码数据的机制定义了一个简单的表示应用程序语义的机制,使其能够用于从信息传递到RPC的各种系统。WebService协议•WSDL•SOAP•UDDI•JAX-WSWebService协议---UDDIUDDI(UniversalDescription,DiscoveryandIntegration)是一种目录服务,可以使用它对WebService进行注册和搜索。UDDI是一种规范由OASIS(OrganizationfortheAdvancementofStructuredImformationStandards)标准化组织制定,它主要提供基于Web服务的注册和发现机制,为Web服务提供三个重要的技术支持:①标准、透明、专门描述Web服务的机制;②调用Web服务的机制;③可以访问的Web服务注册中心。WebService协议•WSDL•SOAP•UDDI•JAX-WSWebService协议---JAX-WSJAX-WS规范是一组XMLwebservices的JAVAAPI,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented来实现自己的webservices。在JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成和处理SOAP消息的代码。JAX-WS的运行时实现会将这些API的调用转换成为对应的SOAP消息。在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(serviceendpointinterface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebService接口。在客户端,用户可以通过JAX-WS的API创建一个代理(用本地对象来替代远程的服务)来实现对于远程服务器端的调用。WebService技术讨论•WebService简介•WebService协议•WebService主流框架•WebService示例WebService主流框架•Axis•XFire•CXFWebService主流框架---AxisAxis是一款开源的WebService运行引擎,它是SOAP协议的一个实现,其本身来源于Apache的另一个项目ApacheSOAP。Axis分为Axis1系列和Axis2系列,两个系列体系结构和使用上有较大的区别,后续讨论均为Axis2。1、概述WebService主流框架---Axis1)采用名为AXIOM(AxisObjectModel)的新核心XML处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。2)支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。3)支持HTTP,SMTP,JMS,TCP传输协议。2、特点WebService主流框架•Axis•XFire•CXFWebService主流框架---XFireXFire是新一代的JavaWeb服务引擎,XFire使得在JavaEE应用中发布Web服务变得轻而易举。它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,为企业转向SOA架构提供了一种简单可行的方式。1、概述WebService主流框架---XFire1)支持多种Web服务业界重要标准如SOAP、WSDL、Web服务寻址(WS-Addressing)、Web服务安全(WS-Security)等;2)高性能的SOAP实现;3)支持基于HTTP、JMS、XMPP等多种协议访问Web服务。2、特点WebService主流框架•Axis•XFire•CXFWebService主流框架---CXFCXF继承了Celtix和XFire两大开源项目的精华,提供了对JAX-WS全面的支持,并且提供了多种Binding、DataBinding、Transport以及各种Format的支持并且可以根据实际项目的需要,采用代码优先或者WSDL优先来轻松地实现WebServices的发布和使用。1、概述WebService主流框架---CXF1)支持JAX-WS2.1;2)支持JavatoWSDL、WSDLtoJava、WSDLtoXML、WSDLtoSOAP、WSDLtoService;3)ApacheCXF提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露。2、特点WebService技术讨论•WebService简介•WebService协议•WebService主流框架•WebService示例WebService示例•Axis2•XFire•CXF•JDKWebService示例---Axis2软件准备1、Eclipse下载eclipse安装版本,为eclipse-jee-juno-SR1-win32版本。2、Tomcat6.0.35:下载Tomcat6.0.35.zip文件。3、Axis2的jar包下载axis2-1.6.2-bin.zip文件。WebService示例---Axis2实现步骤1、配置Eclipse(Eclipse自带开发WebService的工具)打开eclipse,点击菜单windows--preferences--WebS
本文标题:WebService技术讨论
链接地址:https://www.777doc.com/doc-2867065 .html