您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第4讲 Web服务技术
企业级信息系统开发技术济南大学信息学院刘鹍liukun@ujn.edu.cn第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)。通俗地说,“服务”就是计算机可以提供的某一种功能。■根据来源的不同,“服务”又可以分成两种:■本地服务:使用同一台机器提供的服务,不需要网络。■网络服务:使用另一台计算机提供的服务,必须通过网络才能完成。情景:为什么要使用WebServices₪Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。₪根据W3C的定义,Web服务应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。₪WebService架构的基本思想,就是尽量把非核心功能交给其他人去做,自己全力开发核心功能。Java.Netstub存根skeleton骨架HTTP、XMLSOA与WebServices₪SOA是什么■SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。■面向服务是一种理念,面向服务的架构是基于这种理念的架构方法。■面向服务在不少方面是以面向对象为基础,当前典型的面向服务的解决方案由服务和面向对象的组件构成。SOA与WebServices₪一个典型的电子商务流程电子商务门户订单销售商工厂支付宝物流公司下订单清单浏览支付支付确认支付确认支付订单交货发货SOA与WebServices₪业务层——服务电子商务门户订单支付确认支付销售商支付宝浏览工厂物流公司组合服务服务清单订单下单发货支付确认支付交货业务层(服务)SOA与WebServices₪服务之间是松耦合的₪服务可独立存在网购电子商务门户订单支付确认支付销售商支付宝浏览工厂物流公司组合服务服务清单订单下单发货支付确认支付交货•服务可独立存在:接口和实现可分离的。服务隐藏了服务实现内部复杂逻辑和技术。•服务之间是松散耦合的,服务之间通过消息交互。SOA与WebServices₪在架构人员眼中:一切皆服务组合服务服务清单订单下单发货预支付支付交货技术业务管理人员业务人员设计人员开发人员客户合作伙伴构件技术分布对象技术应用服务器技术架构人员SOA与WebServices₪SOA■一个架构方法。■将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。■接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。■构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。SOA与WebServices₪WebServices■从外部的使用者的角度而言,Web服务是一种部署在Web上的对象/组件,它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应。₪Web服务的特点:■Web服务是基于标准的(WSDL,UDDI,SOAP,XML,TCP,HTTP,SMTP)■Web服务是跨平台、跨语言的■Web服务是面向消息的■Web服务获得了广泛的支持SOA与WebServices₪WebServices应用SOA与WebServices₪SOA架构第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的核心标准■XML■SOAP■WSDL■UDDI10.1.1WebService的核心标准₪XML和XMLSchema■XML(eXtensibleMarkupLangugage,即可扩展标记语言)是WebService技术架构的基石,它是WebService中表示数据的基本格式。■XMLSchema定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型,WebService平台就是用XMLSchema作为其数据类型系统的。XMLXMLXMLSchemaXMLSchema10.1.1WebService的核心标准₪SOAP■SOAP(SimpleObjectAccessProtocol,简单对象访问协议)提供了标准的RPC(远程过程调用协议)方法来调用WebService。■SOAP规范中定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。■SOAP是基于XML和XSD(XMLSchemasDefinition)的,其中XML是SOAP的数据编码方式。10.1.1WebService的核心标准₪WSDL■WSDL(WebServicesDescriptionLanguage,WebServices描述语言)是一种基于XML的,用于描述WebService及其操作、参数和返回值的语言。■一些最新的开发工具既能根据WebService生成WSDL文档,又能通过导入WSDL文档,生成调用相应WebService的代码。10.1.1WebService的核心标准₪UDDI■UDDI(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.1SOAP₪SOAP(SimpleObjectAccessProtocol,简单对象访问协议)是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议。₪SOAP在WebService中作为用于XML消息传递的一种非常普遍的协议,它包括四个部分:■SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;■SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;■SOAPRPC表示(RPCrepresentation),表示远程过程调用和应答的协定;■SOAP绑定(binding),使用底层协议交换信息。₪虽然这四个部分都作为SOAP的一部分定义的,但它们在功能上是相交的、彼此独立的。特别的,信封和编码规则是被定义在不同的XML命名空间(namespace)中,这样使得定义更加简单。10.2.1SOAP₪SOAP的两个主要设计目标是简单性和可扩展性。这就意味着有一些传统消息系统或分布式对象系统中的某些性质将不是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.2WSDL₪WSDL(WebServiceDescriptionLanguage,即Web服务器描述语言)是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、Microsoft等共同提出。通过WSDL,可描述Web服务的三个基本属性:■服务做些什么——服务所提供的操作(方法)■如何访问服务——和服务交互的数据格式以及必要协议■服务位于何处——协议相关的地址,如URL10.2.2WSDL₪WSDL文档在WebServi
本文标题:第4讲 Web服务技术
链接地址:https://www.777doc.com/doc-3969665 .html