第4讲 Web服务技术_第1页
第4讲 Web服务技术_第2页
第4讲 Web服务技术_第3页
第4讲 Web服务技术_第4页
第4讲 Web服务技术_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

企业级信息系统开发技术济南大学信息学院刘鹍liukun@第10章WebServices开发学习要点:1.掌握WebServices的基础知识。2.熟悉构建WebService的过程。绪:为什么需要分布式EJB:分布式部署应用程序客户端Web端EJB组件1EJB组件2EJB组件3EJB组件nDB绪:为什么需要分布式分布式应用中心端服务器JavaEE地区端服务器.net地区端服务器.net地区端服务器.net地区端服务器.net地区端服务器JavaEE地区端服务器JavaEE地区端服务器JavaEE地区端服务器JavaEEEJB??情景:为什么要使用WebServices两个应用系统之间需要交互数据(通信)如果是同一种语言Java:EJB(RMI/IIOP).Net:.NETRemoting(RPC)如果是使用了不同的语言?Java调用.Net提供的功能?Java.Net?DB这种方式有什么弊端?情景:为什么要使用WebServices什么是服务(Services)?传统上,我们把计算机后台程序提供的功能,称为“服务”(service)。通俗地说,“服务”就是计算机可以提供的某一种功能。根据来源的不同,“服务”又可以分成两种:本地服务:使用同一台机器提供的服务,不需要网络。网络服务:使用另一台计算机提供的服务,必须通过网络才能完成。情景:为什么要使用WebServicesWeb服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。根据W3C的定义,Web服务应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。WebService架构的基本思想,就是尽量把非核心功能交给其他人去做,自己全力开发核心功能。

Java.Netstub存根skeleton骨架HTTP、XMLSOA与WebServicesSOA是什么SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。面向服务是一种理念,面向服务的架构是基于这种理念的架构方法。面向服务在不少方面是以面向对象为基础,当前典型的面向服务的解决方案由服务和面向对象的组件构成。SOA与WebServices一个典型的电子商务流程电子商务门户订单销售商工厂支付宝物流公司下订单清单浏览支付支付确认支付确认支付订单交货发货SOA与WebServices业务层——服务电子商务门户订单支付确认支付销售商支付宝浏览工厂物流公司组合服务服务清单订单下单发货支付确认支付交货业务层(服务)SOA与WebServices服务之间是松耦合的服务可独立存在网购电子商务门户订单支付确认支付销售商支付宝浏览工厂物流公司组合服务服务清单订单下单发货支付确认支付交货服务可独立存在:接口和实现可分离的。服务隐藏了服务实现内部复杂逻辑和技术。服务之间是松散耦合的,服务之间通过消息交互。SOA与WebServices在架构人员眼中:一切皆服务组合

服务服务清单订单下单发货预支付支付交货技术业务管理人员业务人员设计人员开发人员客户合作伙伴构件技术分布对象技术应用服务器技术架构人员SOA与WebServicesSOA一个架构方法。将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。SOA与WebServicesWebServices从外部的使用者的角度而言,Web服务是一种部署在Web上的对象/组件,它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应。Web服务的特点:Web服务是基于标准的(WSDL,UDDI,SOAP,XML,TCP,HTTP,SMTP)Web服务是跨平台、跨语言的Web服务是面向消息的Web服务获得了广泛的支持SOA与WebServicesWebServices应用SOA与WebServicesSOA架构第10章WebService开发10.1Web服务概述10.2WEBService基础10.3XML基础10.4使用JAX-WS构建简单的WebService10.1WebService概述简单来说,WebService就是一个向外界暴露出接口的能够通过网络进行远程调用的应用程序。更准确地说:一方面WebService是一种部署在Web上的对象;另一方面WebService是建立在以XML为主的、开放的Web标准协议规范的基础上的分布式应用新平台,也就是说WebService的实质是一套标准,它定义了应用程序如何在Web上实现互操作。只需要遵守这一套标准,人们可以用任何语言,在任何平台上实现所需要的WebService,并且可以顺利地同网络上任何其它亦遵守上述协议的WebService组件进行互操作,从而可以实现一种高效、低廉的异构平台上应用的集成。对于从事企业应用开发来讲,学习WebService技术是相当必要的。10.1WebService概述WebServices(Web服务)定义:WebService是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。使用标准的互联网协议,像超文本传输协议HTTP和XML。Webservice平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Webservice。10.1WebService概述WebService的特点跨平台的可互操作性跨防火墙的通信应用程序集成B2B的集成软件和数据重用普遍、易用性10.1.1WebService的核心标准WebService的核心标准XMLSOAPWSDLUDDI10.1.1WebService的核心标准XML和XMLSchemaXML(eXtensibleMarkupLangugage,即可扩展标记语言)是WebService技术架构的基石,它是WebService中表示数据的基本格式。XMLSchema定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型,WebService平台就是用XMLSchema作为其数据类型系统的。XMLXMLXMLSchemaXMLSchema10.1.1WebService的核心标准SOAPSOAP(SimpleObjectAccessProtocol,简单对象访问协议)提供了标准的RPC(远程过程调用协议)方法来调用WebService。SOAP规范中定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。SOAP是基于XML和XSD(XMLSchemasDefinition)的,其中XML是SOAP的数据编码方式。10.1.1WebService的核心标准WSDLWSDL(WebServicesDescriptionLanguage,WebServices描述语言)是一种基于XML的,用于描述WebService及其操作、参数和返回值的语言。一些最新的开发工具既能根据WebService生成WSDL文档,又能通过导入WSDL文档,生成调用相应WebService的代码。10.1.1WebService的核心标准UDDIUDDI(UniversalDescriptionDiscoveryIntegration,统一描述、发现和集成协议)是WebService架构下核心的服务描述、发现和集成机制,其目的是在网上自动查找WebService。一旦WebService注册到UDDI,客户就可以很方便地查找和定位到所需要的WebService。10.1.2WebService体系架构服务提供者(ServiceProvider)从企业的角度看,这是服务的所有者。从体系结构的角度看,这是托管被访问服务的平台。服务请求者(ServiceRequestor)从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看,这是寻找并调用服务,或启动与服务交互的应用程序。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另一个WebService)来控制它。服务注册中心(ServiceRegistry)

这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。10.1.2WebService体系架构Bind(绑定)服务请求者通过绑定调用服务提供者提供的服务。Find(查找)服务请求者可以通过服务注册中心查找特定种类的服务。Publish(发布)服务提供者发布服务描述以使服务可访问并且服务请求者可以查找它。第10章WebService开发10.1Web服务概述10.2WEBService基础10.3XML基础10.4使用JAX-WS构建简单的WebService10.2.1SOAPSOAP(SimpleObjectAccessProtocol,简单对象访问协议)是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议。SOAP在WebService中作为用于XML消息传递的一种非常普遍的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;SOAPRPC表示(RPCrepresentation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。虽然这四个部分都作为SOAP的一部分定义的,但它们在功能上是相交的、彼此独立的。特别的,信封和编码规则是被定义在不同的XML命名空间(namespace)中,这样使得定义更加简单。10.2.1SOAPSOAP的两个主要设计目标是简单性和可扩展性。这就意味着有一些传统消息系统或分布式对象系统中的某些性质将不是SOAP规范的一部分。SOAP可简单地理解为这样一个开放协议的组合SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径;XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不太准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(DistributedComputingEnvironment)、RPCCALLS、COM/DCOMCALLS、CORBACALLS、JAVACALLS等等。10.2.1SOAP客户发送请求时,不管客户是什么平台,首先把请求转换成XML格式,SOAP网关可自动执行这个转换。为了保证传送时参数、方法名、返回值的唯一性,SOAP协议使用了一个私有标记表,从而服务器的SOAP网关可以正确地解析;而使用XML作为编码表现形式,提供了更高层次上的抽象,从而实现与平台和环境的无关。10.2.2WSDLWSDL(WebServiceDescriptionLanguage,即Web服务器描述语言)是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、Microsoft等共同提出。通过WSDL,可描述Web服务的三个基本属性:服务做些什么——服务所提供的操作(方法)如何访问服务——和服务交互的数据格式以及必要协议服务位于何处——协议相关的地址,如URL10.2.2WSDLWSDL文档在WebService的定义中使用下列元素:Types-数据类型定义的容器;Message-通信消息的数据结构的抽象类型化定义;Operation-对服务中所支持的操作的抽象描述;PortType-对于某个访问入口点类型所支持的操作的抽象集合;Binding-特定端口类型的具体协议和数据格式规范的绑定。Port-定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问;Srvice-相关服务结点的集合。10.2.3UDDIUDDI(UniversalDescription,DiscoveryandIntegration,即统一描述、发现与集成协议标准)是一个非常重要的创新。它是第一个由平台提供者、软件开发者、交易市场运营者、电子商务企业和全球商务领头羊为解决B2B电子商务的发展的局限性而一起提出的跨行业的解决方案。是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范。同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。10.2.3UDDIUDDI计划是一个广泛的,开放的行业计划,它使得商业实体能够(1)彼此发现;(2)定义它们怎样在internet上互相作用,并在一个全球的注册体系架构中共享信息。UDDI是这样一种基础的系统构筑模块,它使商业实体能够快速、方便地使用它们自身的企业应用软件来发现合适的商业对等实体,并以其实施电子化的商业贸易。UDDI同时也是Web服务集成的一个体系框架。它包含了服务描述与发现的标准规范。UDDI规范利用了W3C和Internet工程任务组织(IETF)的很多标准作为其实现基础,比如XML,HTTP和域名服务(DNS)这些协议。10.2.3UDDI通过这个开放性的计划,企业可以发布他们所期望的在Web上实现商务流程对接的方式的相关信息和技术规范,这潜在地为B2B商务的成长提供了动力。UDDI将通过创建一个全球的、独立平台,运用Internet发现商机、描述服务和综合商务的开放式框架,使所有的贸易都从中获利。UDDI计划不由任何一家现有的公司实际运作。同时它也不是一个标准的实体或者是一个新的公司。UDDI商业注册中心被作为一个支持UDDI规范的Web服务来运作。最初,Ariba,IBM和Microsoft将运作这个分布式的服务,但是额外的注册中心的访问入口仍然被期待着。一个访问入口的委员会(OperatorCouncil)将协助制定访问入口的方针和服务质量等问题。10.2.3UDDI从UDDI可以获得的直接收益包括:具备UDDI能力的企业可以在Internet上通过他们首选的企业应用,快速便捷地发现合适的商业实体并实现彼此之间的互操作,这将最终推动企业自身的经济收益。为企业迅疾地参与全球化的Internet经济提供了一个方便的发展道路。提供了一个为商业在一个简单的开放式环境中,循序渐进地描述他们的服务和商业流程的途径。提供了一组规范,使企业能够在Internet上调用服务并为他们的首选客户提供增值服务。小节:Web服务基础SOAP:SimpleObjectAccessProtocol,简单对象访问协议WSDL:WebServiceDescriptionLanguage,即Web服务器描述语言UDDI:UniversalDescription,DiscoveryandIntegration,即统一描述、发现与集成协议标准第10章WebService开发10.1Web服务概述10.2WEBService基础10.3XML基础10.4使用JAX-WS构建简单的WebService10.3XML基础XML(eXtensibleMakeupLanguage,即可扩展标记语言)是一种简单灵活的文本格式,可以作为创建新的标记语言的基础,以便在文档发布和数据交换中使用。XML基于万维网联盟(W3C)的工作小组发布的一系列标准。因此,非常适合(且不限于)在基于Web的应用程序中使用。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其它与特定领域有关的、语义的、结构化的标记语言的句法语言。10.3XML基础关于XML要理解的第一件事是,它不只是像超文本标记语言(HypertextMarkupLanguage,HTML)或是格式化的程序。XML是一种元标记语言。用户可以定义自己需要的标记。这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。XML定义了一套元句法,与特定领域有关的标记语言(如MusicML、MathML和CML)都必须遵守。如果一个应用程序可以理解这一元句法,那么它也就自动地能够理解所有的由此元语言建立起来的语言。关于XML要了解的第二件事是,XML标记描述的是文档的结构和意义。它不描述页面元素的格式化。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么标记,而不是说明文档看起来是什么样的。10.3XML基础<dt>HotCop <dd>byJacquesMoraliHenriBeloloandVictorWillis <ul>

温馨提示

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

评论

0/150

提交评论