收藏 分享(赏)

学科前沿技术讲座-Web Services技术.ppt

上传人:sjmd695 文档编号:7649030 上传时间:2019-05-23 格式:PPT 页数:123 大小:673KB
下载 相关 举报
学科前沿技术讲座-Web Services技术.ppt_第1页
第1页 / 共123页
学科前沿技术讲座-Web Services技术.ppt_第2页
第2页 / 共123页
学科前沿技术讲座-Web Services技术.ppt_第3页
第3页 / 共123页
学科前沿技术讲座-Web Services技术.ppt_第4页
第4页 / 共123页
学科前沿技术讲座-Web Services技术.ppt_第5页
第5页 / 共123页
点击查看更多>>
资源描述

1、2019/5/23,Web Services 技术讲座,2019/5/23,Web Services技术讲座作业,写一篇根据Web Services技术分析的技术报告,具体要求: 内容包括: (1)Web Services技术介绍 (2)Web Services技术的优势不足(与传统的分布式计算方式(J2EE,CORBA等) (3)个人对Web Services技术的观点 字数要求:3000字以上(禁止抄袭、转载别人的文档) 提交方式:纸张 提交时间:第五周周末之前,2019/5/23,目录,Web Services的背景介绍 Web Services体系架构 Web Services中的核心

2、技术 XML技术 SOAP技术 Web Services 接口描述(WSDL) Web Services 注册与发现(UDDI) Web Services实现 Web Services应用实例 Web Services应用框架 Web Services发展趋势,2019/5/23,目录,Web Services的背景介绍 Web Services体系架构 Web Services中的核心技术 XML技术 SOAP技术 Web Services 接口描述(WSDL) Web Services 注册与发现(UDDI) Web Services实现 Web Services应用实例 Web Serv

3、ices应用框架 Web Services发展趋势,2019/5/23,Web Services背景介绍,产生背景Web应用和传统桌面应用之间存在连接的鸿沟,成为阻碍Web应用进入主流工作流的巨大障碍大多数基于电子商务的应用和基于Web的商业服务开发语言不同、部署平台不同、通信协议不同、对外交换的数据格式不同,系统集成代价很高,2019/5/23,Web Services背景介绍,实现目的主要目标:在现有的各种异构平台的基础上构筑一个通用 的与平台无关、语言无关的技术层,各种不同平台 之上的应用依靠这个技术层来实施彼此的连接和集 成。与传统Web应用技术的差异: 传统Web应用技术解决的问题是

4、如何让人来使用Web应用提供的服务 Web Services则要解决如何让计算机系统来使用Web应用所提供的服务,2019/5/23,Web Services背景介绍,概 念Web Service: 封装成单个实体并发布到网络上供使用的功能集合体(使用Web Services技术而创建的应用实例)Web Services:泛指(应用实例的复数)Web Services技术:一个指功能集合体被调用所提供的服务(架构Web Service的整体技术框架 )在现有的web技术和设施之上,制定新的协议和标准,提出新的技术来实现的,是现有应用面向Internet的一个延伸,现有Internet应用面向更

5、好的互操作能力的一个延伸 优点:开放、简单、跨平台、低代价集成,2019/5/23,Web Services背景介绍,主要特征完好的封装性松散耦合使用协约的规范性使用标准协议规范高度可集成能力,2019/5/23,Web Services背景介绍,Web Services的类别面向商务的Web Services(Business-oriented Web Services) 面向消费者的Web Services(Consumer-Oriented Web Services) 面向设备的Web Services(Device-Oriented Web Services) 面向系统的Web Ser

6、vices(System-Oriented Web Services),2019/5/23,Web Services背景介绍,Web Services的类别面向商务的Web Services (Business-oriented Web Services)该类服务针对的是那些面向企业应用服务,包括企业内部的ERP系统,企业间的SRM ( Social Relation Management)/CRM ( Customer Relation Management)等系统。当这些系统以Web Services的形式在网络(Internet和Intranet)中出现时,企业内的应用集成将更为容易,而

7、在企业间的众多合作伙伴的系统对接也将不再是无法完成的任务。目前,现有的解决方案和产品的提供商有Bowstreet (后被IBM收购), Epicentric(后被Vignette公司收购)等。,2019/5/23,Web Services背景介绍,Web Services的类别面向消费者的Web Services(Consumer-Oriented Web Services)此类服务针对的是那些原先的B2C的网站的改造,为这些Browser-Oriented的Web应用增加了Web Services的应用界面,使得第三方的桌面工具或其自身提供的增值的桌面工具能够利用更优秀的用户界面提供跨越多个

8、B2C服务的桌面服务。这将使得用户使用Internet更为方便,能够获得更加便捷的服务。比如,我们完全就可以在个人理财桌面系统中继承(调用) Internet 上的股票价格查询Web Services、机票预定Web Services等,使得个人理财应用的自动化程度更高。,2019/5/23,Web Services背景介绍,Web Services的类别面向设备的Web Services(Device-Oriented Web Services)此类服务的使用终端一般是手持设备和日用家电。对于前者而言,可以在不用修改网络服务的体系架构的前提下,令先前的网络服务支持除PC以外的各种终端,比如P

9、alm、PocketPC、手机等。如此,那些天气预报服务、E-mail服务、主动信息服务等将更为有效和便捷。而后者对于日用家电则可能是一个市场的启动期,有了Web Services作为基础框架,智能型的日用家电将真正获得标准的支持,从而有了广泛使用的可能。,2019/5/23,Web Services背景介绍,Web Services的类别面向系统的Web Services(System-Oriented Web Services)一些传统意义上的系统服务,比如用户权限认证,系统监控等,如果被迁移到全球范围的Internet上或者企业内部的Intranet上,其作用范围将从单个系统和局部网络拓

10、展到整个企业网络和整个Internet。如此,基于同一系统服务的不同应用将得以在整个Internet环境中部署,譬如跨国企业的所有在线服务可以使用同一个用户权限认证Web Services。,2019/5/23,支持Web Services的企业,2019/5/23,Web Services的特点,缺点 Web Services通常需要大量的CPU资源。因为XML数据要经过多步处理才能被系统使用。首先是效验(validate),检查它的格式是否符合XML的规范,以及根据应用程序定义(DTD或Schema)检查是否符合语义上的规范;然后还要进行解析(parse),从XML文档分解出单个的元素;最

11、后还要转换成应用程序所需要的二进制表达(例如,把“12” 转换成整型12的二进制表示)。,2019/5/23,Web Services的特点,Web Services还意味着占用较多的内存资源。在进行XML解析的时候,会产生大量的临时内存对象。特别是在处理DOM ( Document Object Model )对象的时候。这些大量的临时对象对于象JAVA这类自动回收内存的语言和系统其实是一种负担,大量的临时对象将会使系统每隔一段时间就会进行内存回收,从而降低系统的性能。当然,现在有的Web Services的产品(如axis)采用了SAX (Simple API for XML )技术,大大

12、减少了内存的占用量。,2019/5/23,Web Services的特点,网络资源的消耗也是Web Services应用的一些限制。因为基于XML数据的传递通常数据量要比二进制的协议(如RMI/IIOP )要大的多。这种额外的消耗在网络资源比较紧张或网络传输比较频繁的应用中会产生一定的影响。 Web Services是一种无状态(stateless)的服务 数据绑定不足,2019/5/23,Web Services的特点,适用环境 基于WAN和Internet的应用 基于异构平台的应用 EAI(企业应用集成) 行业内部B2B应用,2019/5/23,Web Services的技术规范,组织 W

13、3C (www.w3.org ) OASIS (www.oasis-open.org ) WS-I (www.ws-i.org ) 规范 XML(eXtensible Markup Language )可扩展置标语言 XML Schema SOAP(Simple Object Access Protocol)简单对象访问协议 WSDL (Web Services Description Language ) UDDI (Universal Description,Discovery and Integration)统一描述、发现和集成协议),2019/5/23,Web Services平台,M

14、icrosoft .Net IBM Web Services Sun ONE ,2019/5/23,目录,Web Services的背景介绍 Web Services体系架构 Web Services中的核心技术 XML技术 SOAP技术 Web Services 接口描述(WSDL) Web Services 注册与发现(UDDI) Web Services实现 Web Services应用实例 Web Services应用框架 Web Services发展趋势,2019/5/23,Web Services体系架构,角色和行为三个角色: Web服务提供者:Web服务的拥有者,等待为其它服务和

15、用户提供自己的功能; Web服务请求者: Web服务功能的使用者,使用SOAP消息向Web服务提供者发送调用信息得到其服务。 Web服务中介者:将一个Web服务请求者和合适的提供者联系在一起的管理者,一般是UDDI。 三个行为: 发布:发布服务描述,让用户或其它服务知道一个 Web服务的存在和相关信息 查找:找到合适的Web服务 绑定:在提供者与请求者之间建立某种联系,调用服务,2019/5/23,Web Services体系架构,Web Service实现步骤Web服务提供者设计实现Web服务,并将调试正确后的Web服务通过Web服务中介者发布,在UDDI注册中心注册; Web服务请求者向W

16、eb服务中介者请求特定的服务,中介 者根据请求,查询UDDI注册中心,为请求者寻找满足请求的服务; Web服务中介者向Web服务请求者返回满足条件的Web服务的描述信息,该描述信息用WSDL写成,机器也能够阅读; 利用从Web服务中介者返回的描述信息生成相应的SOAP消息,发送给Web服务提供者,以实现Web服务的调用; Web服务提供者按SOAP消息执行相应的Web服务,并且 将服务结果给Web服务请求者返回。,2019/5/23,目录,Web Services的背景介绍 Web Services体系架构 Web Services中的核心技术 XML技术 SOAP技术 Web Service

17、s 接口描述(WSDL) Web Services 注册与发现(UDDI) Web Services实现 Web Services应用实例 Web Services应用框架 Web Services发展趋势,2019/5/23,Web Services核心技术,主要技术规范XML(eXtensible Markup Language) XML Schema SOAP(Simple Object Access Protocol) WSDL( Web Services Description Language) UDDI( Universal Description, Discovery and

18、Integration ) WS-Security( Web Services Security ) WSFL(Web Services Flow Language) WSCL(Web Services Conversation Language) WSXL( Web Services Experience Language) WSIA&WSRP( Web Services for Interactive Applications & Web Services for Remote Portals),2019/5/23,Web Services核心技术 Web Service 协议栈,2019

19、/5/23,Web Services核心技术,核心技术职能XML: 整个Web Services技术架构的基石SOAP :Web服务调用和执行WSDL:Web服务描述UDDI :Web服务发布、发现与绑定,2019/5/23,Web Services核心技术,XMLXML(eXtensible Markup Language,可扩展标记语言) 用严格的嵌套标记表示数据信息,特别适合Internet环境多点 数据交换的环境下使用。在B2B电子商务应用环境中,XML 是一个非常优秀而且极为适合的商务信息交换技术。各个B2B 解决方案的软件提供商制订了用于B2B应用之间交换商务消息 的XML格式,它

20、们包括xCBL、cXML、BizTalk等,这些交换 格式已经在众多的B2B应用中使用。2000年UN/CEFACT与 OASIS联手开始制定全球电子商务信息交换格式ebXML,完 全确立了XML作为商务应用中信息交换的标准技术的地位。 使用XML来描述商务信息使得各种B2B应用在数据层上具有 了开放集成的能力。,2019/5/23,Web Services核心技术,UDDI(1)UDDI(Universal Description, Discovery and Integration,统一描述、发现和集成)是一套面向Web服 务的信息注册中心的实现标准和规范。UDDI规范和调用 模式在web

21、上建立起发现服务,这些发现服务为所有的请 求者提供了一致的接口,使得已经发布的Web服务能通过 编程被需要的请求者发现。UDDI规范文本定义了UDDI 操作入口站点(UDDI Operator Site)能够支持的API接口 和API中用XML描述的数据结构的具体定义。,2019/5/23,Web Services核心技术,UDDI(2)UDDI注册中心是所有提供公共UDDI注册服务的站 点的通称。它是一个逻辑上的统一体,在物理上则是以 分布式系统的架构实施的,不同站点之间采用对等网络 结构实现,因此访问其中任意一个站点就基本等于访问 了UDDI注册中心。访问UDDI操作入口站点所获得的结 果

22、是整个UDDI注册中心所覆盖区域的信息,信息查询无 需身份认证;而在UDDI操作入口站点上进行信息发布则 必须使用该UDDI操作入口站点自身的用户方能实施,同 时以后的更新、删除都必须通过这个操作入口站点,并 使用初始发布时使用的用户进行权限认证。,2019/5/23,Web Services核心技术,UDDI(3)UDDI注册中心的信息内容分白页信息、黄页信息和绿页信息几个部分。 白页中存放企业的地址、联系方式、企业身份识别等企业信息; 黄页中存放基于标准分类的行业类别信息; 绿页中存放Web服务的技术信息。多个合作站点之间能够无缝地共享注册信息。 商业实体信息、服务信息、绑定信息和服务调用

23、规范的说明信息是四种主要信息类型,它们是技术人员在需要使用合作伙伴所提供的Web服务时必须了解的技术信息。这些元素构成一个UDDI信息结构(businessEntity, businesService, bindingTemplate, tModel)。,2019/5/23,Web Services核心技术,UDDI(4)UDDI的接口包含有查询API和发布API两类。查询API用来快速地定位候选商业实体、Web服务及其调用规范和相关信息的细节。以find_xx命名的API提供了多种搜索标准,能对注册中心中的数据进行广泛地搜索。如果事先已经知道所需服务的关键字,则可以直接调用以get_xx命名

24、的API得到相应的信息。 发布API有保存API和删除API。一旦得到授权,一个独立的机构可以注册任意数量的businessEntity 或tModel信息,也可以修改原先发布的信息。使用以save_xx命名的保存API来保存新信息,使用以delete_xx命名的删除API来删除已经注册在UDDI中心的信息。,2019/5/23,Web Services核心技术,SOAP(1)SOAP (Simple Object Access Protocol,简单对象访问协议)用于Web Services 调用的XML消息表示。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简

25、单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据重编码机制来表示应用语义。主要由SOAP信封、编码规则、RPC表示三部分组成。,2019/5/23,Web Services核心技术,SOAP(2)SOAP信封定义了一个整体的SOAP消息表示框架,可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作是否是必须的等。 SOAP编码规则定义了数据的编码机制,通过这样一个编码机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序定义的数据类型所衍生的实例。 SOAP RPC表示定义了一个用于表示远程调用和响应的约定,例如,如何使用HTTP或SMTP协

26、议与SOAP绑定,如何传输过程调用,在具体传输协议的哪个部分传输过程响应等。三部分在功能上是正交的、彼此独立的。信封和编码规则是被定义在不同的XML命名空间中,这样有利于通过模块化获得定义和实现的简明性。,2019/5/23,Web Services核心技术,WSDL(1)WSDL (Web Services Description Language,Web服务描述语言) 是描述Web服务的XML格式的语言。WSDL把Web服务定义为网络端点(endpoint)的集合。它有一个根元素,使用类型(types)、消息(message)、端口类型(porttype)、绑定(binding)、端口(p

27、ort)和服务(service)等元素来定义Web服务。其中:types:消息的数据类型定义,通常用来描述交换消息; message:待传输数据的抽象定义,由一个或多个部分组成; porttype:抽象操作的集合,其中的一个操作(operation)指向一条输入或输出消息; binding:使操作和消息的具体协议与数据格式规范关联; port:指定一个用于绑定的地址,由此定义一个通讯端点; Service: 相关port的集合。,2019/5/23,Web Services核心技术,WSDL(2)在WSDL中,端点和消息的抽象定义同具体的网络部署(deployment)和数据格式绑定是相互分离

28、的,这样就可以实现抽象定义消息和端口类型,实现它们的重用。以上协议和技术还有待于逐步发展成熟,还有不少的问题需要解决,需要制定新的协议和规范。已经有一些其它的协议和技术被提了出来,例如SwA、WSFL、WSDL等。,2019/5/23,WEB Services相关的技术:,第一部分:表示数据 (XML) 第二部分:交换消息 (SOAP) 第三部分:服务描述 (WSDL) 第四部分:服务发现与发布 (UDDI和WS-Inspection),2019/5/23,第一部分:表示数据 (XML),1.一个XML的例子:笔记本电脑 更新时间“2002-06-12T12:00“ACER 22800 239

29、000 /笔记本电脑,2019/5/23,第一部分:表示数据 (XML),2.XML的命名空间: 为了唯一的标识XML元素,大家必须使用全局唯一的标示符URI. URI是一个唯一的标识一个资源的串(Uniform Resource Identifier),URI分成了两个子类,一个是URL,一个是URN(Uniform Resource Name)。,2019/5/23,2.XML的命名空间:,URL(Universal Resource Locator统一资源定位符):不仅定义了从何处获取资源,而且还定义了如何获取资源(即采用何种协议http或FTP) URN:就是代表一个资源与位置无关的串

30、:至于资源在何处或如何到达资源则没有任何要求,因为一个URN只是一个唯一性串。其语法提供了全局唯一性。urn: 例:urn:foo-bar:foobar.1用于解析URN的Internet协议还没有出台,其工作方式与DNS解析主机名称的工作方式类似 。,2019/5/23,3.XML模式:(XML Schema),XML模式是DTD(Document Type Definition)的超集,DTD可以指定元素是包含字符数据还是其他数据或是一个空元素,DTD不能指定某个特殊元素是否包含整数、浮点数或字符串。另外,DTD有自己的语法,而XML模式遵循XML语法。 1.用途:数据类型定义。 2.xs

31、:或xsd前缀一般保留给模式定义,xsi前缀用于模式实例。xsi:schemaLocation=“http:/ Schema中的第一个出现的元素,用于声明该XML文档是一个Schema文档。 例:,2019/5/23,(2).元素定义:,ElementType元素是用于定义XML Schema文档中出现的元素。ElementType只是起到声明元素的作用,而元素的真正引用还是要依靠element. 语法定义如下: ,2019/5/23,(3)元素引用,element元素是用于声明在ElemntType中引用的元素。其语法表达式为:注:type唯一指定了要引用的元素类型,因此其取值必须同Elem

32、entType中的name属性严格一致。,2019/5/23,(4)分组定义:,2019/5/23,(5)属性定义:用于定义该Schema文档中出现的属性类型。,2019/5/23,(6)属性引用:,AttributeType和attribute的关系与ElementType和element的关系相同。 ,2019/5/23,(7)数据类型:,元素和属性的数据类型可以使用元素datatype来定义。 datatype元素只是定义数据类型的一个手段,我们更方便用dt:type属性。 例如: 和 ,2019/5/23,XML Schema例子:,2019/5/23,第二部分:交换消息,请求消息响应

33、消息,服务请求者,服务提供者,2019/5/23,1.定义,SOAP(Simple Object Access Protocol)是基于XML实现了一种消息格式以交换请求和使用,使用XML作为SOAP消息的基础使得任何实现基本的INTERNET通信服务的系统都能处理和传送这类消息 。,2019/5/23,解释:,a:SOAP中的“简单”一词是相对术语,在这里,相对于其他用于此目的的协议来说,它是简单的,包括DCOM和CORBA,它们也能实现软件之间的通信,但是也很不友好。 b:而术语“协议”表示双方认可的一个标准,即如何格式化消息以便双方能够通信。SOAP协议只是定义了一种消息格式,它并没有为

34、交换消息而强加某种特定的传送协议,因此可采用HTTP,FTP ,SMTP等协议来传送消息。,2019/5/23,2.SOAP的设计目标:,简明性:主要表现在SOAP的整个消息结构非常简单(一个Envelop中只包含了Header和Body两部分)除了消息结构外,SOAP没有定义额外的表述结构标准,没有定义自己的编码标准,没有定义自己的传输协议。 可扩展性:表现在SOAP可以使用任意的模式定义方式来定义内部传输内容的结构(编码方式一般使用XML Schemal),可以与任意的网络传输方式来完成传输。,2019/5/23,3.SOAP的消息交换模型:,SOAP一般会和实现模式结合,例如:请求响应

35、。soap响应soap消息 soap消息CA中心 e-Marketplace 企业,AccountService,Product Service,Purchase Order,2019/5/23,4.结构:,SOAP(Simple Object Access Protocol )它包括四个部分: 1.SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架; 2.SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; 3.SOAP RPC表示(RPC representation),表示远程

36、过程调用和应答的协定; 4.SOAP绑定(binding),使用底层协议交换信息。,2019/5/23,POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset=“utf-8“ Content-Length: nnnn SOAPAction: “http:/example.org/2001/06/quotes“ DIS,SOAP消息,2019/5/23,SOAP消息响应:,HTTP/1.1 200 OK Content-Type: text/xml; charset=“utf-8“ Content-Length: nnnn

37、 34.5 ,2019/5/23,(1)SOAP包封,SOAP Header 典型的扩展例子可以是实现一些诸如认证、事务管理以及支付的Header条目。 SOAP actor属性: SOAP actor属性的值是一个URI,指明下一个进行消息处理的SOAP中介。若省略SOAP actor属性,则表明接收者是SOAP消息的最终接收者。 SOAP mustUnderstand属性:用于指明一个Header条目是否能够被接受方正确的理解。将返回“true”或“false”.,2019/5/23,SOAP Body,这个调用负责指定要执行的方法名以及所有传递给方法的参数。在WEB服务者接受、翻译并处理

38、完了这个方法调用之后,它就会发送一个响应或错误消息。,2019/5/23,SOAP Fault,SOAP Fault元素是用于在SOAP消息中传输错误或状态信息。如果SOAP消息需要包含SOAP Fault元素的话,它必须作为一个Body条目出现,同时在Body元素内它必须不出现多于一次(至多出现一次)。,2019/5/23,SOAP Fault元素定义了如下子元素,faultcode :此元素必须在SOAP Fault 中出现,SOAP定义了一个小的错误集合,用于定义覆盖基本的SOAP错误。 faultstring:是为那些错误代码提供一个人可以读懂的错误解释。 faultactor :用于

39、指示错误源,属性的值是一个标识该源的一个URI。 Detail:它可以添加用户自定义的错误(包括错误消息和错误号 ),2019/5/23,(2)SOAP编码,SOAP编码规则(encoding rules),定义了一个数据的编码机制,通过这样一个编码机制来定义应用程序中需要使用的数据类型,它遵循XML模式规范的结构和数据类型定义,其中包括简单类型(整数,字符串等)和一些复杂类型(struct,Array等) 。,2019/5/23,(3)SOAP与传输协议绑定:(一般是HTTP),将SOAP绑定在HTTP上可以利用HTTP丰富的特性集,更恰当的描述应当是SOAP的语义通过HTTP的映射而很自然

40、地成为HTTP的语义。同时,SOAP很自然的利用HTTP的请求响应模型。 SOAPAction HTTP请求:可以用于指示SOAP HTTP请求的目的,它的值是一个标识该目的的URI。SOAP对于格式上并没有严格的限制,同时对URI的描述以及是否要是可解析的都没有严格的限制。当发出SOAP HTTP请求时,HTTP客户必须使用该头字段。,2019/5/23,(4).在RPC中使用SOAP,SOAP RPC表示(RPC representation),定义了一个用于表示远端过程调用和响应的约定,例如如何传输过程调用,在具体传输协议的哪个部分传输过程响应,因为我们可以在HTTP的响应的时候传递过程

41、响应。,2019/5/23,为实施一个方法调用,需要以下信息:,目标SOAP结点的URI: 方法名 可选的方法或过程的特征 方法或过程的参数 可选的头数据,2019/5/23,5总结:,SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。,2019/5/23,SOAP的优势:,SOAP是平台独立的:SOAP是普通的XML,可以运行任何平台。 SOAP消息描述了消息负载的每个数据元素,这样就可以很容易的诊断可能出现的问题 。 自

42、由的传输绑定 (不仅仅是HTTP);自由的语言绑定 (比如Java, C#)。 SOAP降低了安全风险:SOAP只是XML,因此它能够使用端口80,而该端口通常配置HTTP,因此SOAP消息无需开放其他任何端口,就能通过防火墙的优点,从而降低了潜在的安全风险。,2019/5/23,SOAP的不足:,SOAP允许每个平台按照他们认为的方式考虑如下的特征: . 对象调用:SOAP规范不打算定义如何创建对象实例。 . 垃圾收集:SOAP规范没有定义不再需要对象时如何销毁对象,如没有定义如何去除对象。 . 安全性:SOAP没有讨论,依靠其他技术(比如安全套接层SSL) 。验证:SOAP也没有提到,众多

43、技术都可以实现。,2019/5/23,第三部分:服务描述WSDL,XML是一种编码数据的标准方法。SOAP基于XML定义了一种消息格式以便交换方法请求和响应,并最终完成WEB服务的调用,而WSDL则是用于描述如何使用SOAP来调用WEB服务的。,2019/5/23,1.定义:,WSDL将WEB服务描述定义为一组服务访问点。它包含对一组操作和消息的抽象定义,绑定到这些操作和消息的一个具体协议和这个绑定的一个具体服务访问规范。,2019/5/23,1Types:数据类型的容器,它是用某种类型系统,很多情况下这个部分指的是XML模式定义(XML Schema Definition, XSD) 2Me

44、ssages通信消息的数据机构的抽象类型化定义。使用TYPE所定义的类型来定义整个消息的数据结构。 3Operation:对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求响应消息对。 4. PortTypes:对于某个访问入口点类型所支持的操作的抽象集合。 5 Bindings:特定端口类型的具体协议和数据格式规范的绑定。 6 Port :定义为协议数据格式绑定与具体WEB访问地址组合的单个服务访问点。 7. Services:相关服务访问点的集合。 8. Import: 引用其他的接口服务文档。,2019/5/23,2.结构,类型部分:数据类型的容器,包含了

45、所有在消息中使用的XML元素的类型定义。,2019/5/23,消息部分:具体定义了通信中使用消息的数据结构,Message元素包含了一组Part元素(相当于函数中的参数),2019/5/23,端口类型部分:定义了一种服务访问入口类型。所谓访问入口类型就是传入传出消息模式及其格式(WSDL中支持四种访问入口调用的模式:A:单请求;B:单响应;C:请求响应;D:响应请求)。PortType的定义会引用消息定义部分的一到两个消息,作为请求或响应消息的格式。一个PortType可以包含若干个Operation,而一个Operation则是指访问入口支持的一种类型的调用 。,2019/5/23,小结:以

46、上三种描述了WEB服务的抽象定义(抽象定义层),这三部分与具体WEB服务部署细节无关,是可复用的描述。(即这三部分可以说是WEB服务本身,与具体的语言实现,遵从的平台的细节规范,被部署到那台机器无关),2019/5/23,绑定部分:定义了某个PortType与具体的网络传输协议或消息交换协议相绑定,以及具体的数据格式规范。从这一层开始,就与具体的服务部署相关了。,2019/5/23,服务部分:描述的是一个具体的被部署的WEB服务所提供的所提供的所有访问入口的部署细节,一个Service往往有多个服务访问入口(Port)。Port描述的是一个服务访问入口的部署细节 。,2019/5/23,第四部

47、分:服务发现与发布,WEB 服务发现是定位或发现一个或多个说明特定的WEB 服务的文档的过程,WEB 服务的客户通过发现来知道某个Web 服务是否存在,以及从哪里功能获取这个WEB 服务的文档。,2019/5/23,1.定义: UDDI是一种使贸易伙伴彼此发现对方和查询对方的规范。它是最终用户通过搜索企业列表、企业分类或者实际WEB服务的可编程描述。使查找产品和服务成为可能。解释:UDDI不仅是一个简易的搜索引擎,它也包含了如何通过编程来和这些WEB服务进行交互。 (对UDDI的使用可以用手动查询或程序查询),2019/5/23,UDDI工作原理,2019/5/23,2.UDDI数据表类型:,

48、白页:包含了基本的企业信息,诸如企业名称、文字性介绍(可能是多国语言)以及联系方式,包括名称、电话号码、电子邮件以及属于这些企业的网站。 黄页:按分类法对企业信息进行分类,在UDDI的第一个版本中,这种分类法包括了对行业、产品或服务以及位置的分类。 绿页:包含了如何与企业进行电子交互的信息,包含交易过程(也就是,创建订单和检查存货等多种WEB服务)、服务描述(个人WEB服务和它们的用途)以及解释如何通过调用一个给定的WEB服务的捆绑信息。,2019/5/23,UDDI的数据结构:,2019/5/23,商业实体信息:businessEntity 元素 许多合作伙伴希望能准确地定位到你提供的服务的

49、相关信息,并把这些信息作为了解你们企业的开始。技术人员、程序员或应用程序希望知道你的企业名称和一些关键性的标识。所有“businessEntity”中的信息支持“黄页”分类法。如:Business Key, Name,Description,Contacts等。,2019/5/23,商业服务信息:businessService元素 businessService 和下面要提到的bindingTemplate一起构成了“绿页”信息。businessService 结构是一个描述性的容器,它将一系列有关商业流程或分类目录的Web 服务的描述组合到一起。 (包含businessKey,service

50、Key,name,description).,2019/5/23,技术绑定信息:bindingTemplate元素对于每一个businessService,存在一个或多个Web 服务的技术描述bindingTemplate。这些技术描述包括应用程序连接远程Web 服务并与之通讯所必须的信息。这些信息包括Web应用服务的地址、应用服务宿主和调用服务前必须调用的附加应用服务等。另外,通过附加的特性还可以实现一些复杂的路由选择,诸如负载平衡等。 包括(bindingKey,businessKey,serviceeKey,accessPoint(指向WEB服务入口点的URL、EMAIL、电话号码等)等)。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报