1、1Web Services 及其在网络管理中的应用1 Web Services 概述1.1 Web Services 的定义Web Services 技术通过借鉴和利用现有的 Internet 开放互联标准,为运行在各种平台/框架上的不同软件应用程序之间进行互操作提供了一种标准方式。W3C( World Wide Web Consortium)对 Web Services 的定义是“Web 服务是一个可以支持网络上机器-机器之间互操作的软件系统,它的接口用一种机器可处理的格式(特指WSDL: Web Service Description Language)描述。其他系统根据服务描述中指定的方
2、式使用 SOAP 消息与该 Web 服务进行交互,具有代表性的是使用 HTTP,采用一个结合了其他Web 相关标准的 XML(Extensible Markup Language)串行化序列进行传送。 ”(A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL)
3、. Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.) 1IBM 给 Web Services 的定义是“一个 Web service 是一个描述一组操作的接口,这些操作在网络上可通过标准化的 XML 消息传递进行访问。 ”(
4、A Web service is an interface that describes a collection of operations that are network-accessible through standardized XML messaging.) 2尽管目前对 Web Services 尚无一个公认的确切定义,但几乎所有的定义都有以下的共同点:Web Services 可以通过标准的 Web 协议访问从而向用户提供其实现的功能;Web Services 的接口使用一种标准的基于 XML 的方法描述;Web Services 可以通过注册以被潜在用户发现并使用。1.2
5、Web Services 的体系结构Web Services 体系结构模型是一个概念性框架,它包括三种角色 2: 服务提供者:实现服务并在 Internet 上提供这个服务。 服务请求者:需要某种功能的商业团体和个人组织,与服务注册中心一起发现Web 服务,然后调用这些服务以创建相应的应用程序。 服务注册中心:为服务提供交换的场所。服务注册中心充当服务提供者与服务请求者之间的中介。Web 上提供的各种服务在这里注册,服务提供者把各种服务说2明存放于此,服务请求者通过服务注册中心搜索和发现所需要的服务,并得到与服务提供者的服务绑定信息,从而可以与服务提供者进行绑定。这三个角色之间主要有三种 We
6、b 服务操作: 发布(Publish):发布是一种对服务进行描述,并将此描述置入注册服务器和注册中心的过程。在发布过程中,服务提供者需要通过身份验证,才能在服务器中进行服务描述。 查找(Find ):查找是服务请求者向服务注册中心查询服务提供者所提供的服务所处位置的过程。服务请求者在下述两种情况下使用查找操作:在服务设计时为了简化程序开发查找已有范围的接口描述;在要求服务时为了得到相应服务而查找服务的绑定和位置描述。 绑定(Bind ):绑定是在服务请求者在要求服务时,按照相应的描述信息进行服务定位、连接和调用的过程,用以启动服务的交互。绑定所基于的信息是一组服务请求者和服务提供者之间的描述信
7、息,包括服务的访问路径、调用参数、返回结果、传输协议、安全要求等。服务提供者将服务部署在 Web 上,通过使用 WSDL 来描述 Web 服务所提供的功能。服务提供者将所部署的服务发布在 Web 上,由服务注册中心帮助服务提供者和服务请求者找到彼此。服务请求者使用 API 向服务注册中心寻求它所需要的服务,当服务注册中心返回结果时(将它们作为搜索结果) ,服务请求者将这些结果与特定服务绑定起来以获取服务。Web Services 体系架构模型如图 1 所示:服 务 请 求 者 服 务 提 供 者服 务 注 册中 心 服 务服 务 描 述服 务 描 述发 布WSDL, UDI查 找 绑 定WSD
8、L, UDI图 1:Web Services 体系架构模型图 1 中显示了 Web Services 体系架构模型包括的三种角色和角色之间的三种操作。另外,相关的两个概念是服务和服务描述,服务是 Internet 上的软件,这些软件是服务提供者在 Internet 上发布的,服务请求者通过调用或交互获得服务;服务描述包含接口和实现的详细细节,包括数据类型、操作、绑定信息和网络位置等。在有些服务描述中还包括分3类和其他元数据信息,这些信息通常是为了协助服务请求者发现和使用服务。服务提供者可以把服务说明直接发送给服务请求者(一般是特定服务) ,或者发送到服务注册中心,由服务请求者到统一的注册中心来
9、查找(一般是通用服务) 。2 国内外标准化组织的工作内容及进展情况目前从事 Web Services 标准化工作的组织主要有国外的 W3C,OASIS( Organization for the Advancement of Structured Information Standards) ,WS-I( Web Services Interoperability Organization)和 OGF( Open Grid Forum) 。以及国内的万维网联盟。下面分别对这几个主要的标准化组织在 Web services 方面的研究情况和进展进行总结。2.1 W3CW3C 是一个国际化的开发万
10、维网标准的联盟机构,W3C 研究的技术以 Activities 来划分,每一项技术均属于一个 Activity。W3C Activities 通常分为以下几组 3:1) 工作组(Working Group):从事技术开发工作,其产出通常包括技术报告、软件、测试套、及对其他组的产出进行评论等。2) 兴趣组(Interest Group):负责一般性工作,其主要目的在于将那些希望评估具有潜力的 Web 技术和策略的人们集中到一起,并向他们提供交流想法的论坛。3) 协调组(Coordination Group):负责管理 W3C 内部组之间或与 W3C 之外实体之间的依赖关系并方便它们之间的通信。W
11、3C 中负责研究 Web Services 技术的 Activity 是体系结构域中的 Web Services Activity。该 Activity 包含一个 Semantic Web Services 兴趣组,一个 Web Services 协调组,以及以下八个工作组:1) Semantic Annotations for Web Services Description Language 工作组 4:开发一个可以允许注释 Web services 描述的机制,该机制利用 WSDL 2.0 扩展机制的优点以在 Web services 中获得对语义既简单又一般的支持。2) Web Ser
12、vices Addressing 工作组 5:通过提炼 WS-Addressing 来标准化引用和寻址Web Services 的机制。3) Web Services Choreography 工作组 6:创建 Choreography 的定义、描述Choreography 的语言、以及在 Choreographed Web services 之间进行组合和交互的规则。4) Web Services Description 工作组 7:设计接口的组件,包括消息、消息交换模式和协议绑定。5) Web Services Policy 工作组 8:标准化表达 Web service 的能力和需求的通
13、用策略框架。该框架包括:表达 Web service 能力和需求的策略数据模型;合并和比较 Web 4service 能力和需求的处理模型;表示策略数据模型的 XML 信息集。6) XML Schema Patterns for Databinding 工作组 9:致力于识别一组通用的数据抽象并为它们定义一套推荐的 XML Schema 模式以简化 XML Schema 到被识别的数据结构的映射。7) XML Protocol 工作组 10:根据需要维护和开发 SOAP 1.2 规范及其扩展。8) Web Services Architecture 工作组(已结束) 11:设计一个合理的 We
14、b Services 体系结构。Web Services Activity 各工作组的产出文档及相关实现如表 1 所示。表 1 Web Services Activity 各工作组的产出列表产出文档工作组名称 状态 文档名称 文档内容 时间 相关实现Semantic Annotations for WSDL为 WSDL 定义扩展属性来描述WSDL 组件的附加语义2006-09-28Semantic Annotations for WSDLWD Semantic Annotations for WSDL - Usage GuideSAWSDL 规范的伴随文档,给出描述如何将语义注释与 Web s
15、ervice 联系起来的例子2006-09-28暂无Web Services Addressing 1.0 - Core定义一套抽象特性和一个 XML信息集表示法来引用 Web services 及便于消息中 endpoints的端到端寻址2006-05-09RECWeb Services Addressing 1.0 - SOAP Binding定义 Web Services Addressing 1.0 Core 中定义的抽象特性到SOAP 消息的绑定2006-05-09CR Web Services Addressing 1.0 - WSDL Binding定义如何使用 WSDL 描述
16、Web Services Addressing 1.0 Core中定义的抽象特性2006-05-29Web Services AddressingGN SOAP 1.1 Request Optional Response HTTP BindingSOAP 1.1 为交换请求和响应给出的 HTTP 绑定提供“请求可选响应” ,允许具有状态码 202的 HTTP 响应具有一个 SOAP包封或为空2006-03-211)CR Test Suite - Core and SOAP binding2)CR Test Suite - WSDL binding CR Web Services Choreog
17、raphy Description Language从全局视点定义参与者共同互补的行为,从而描述参与者端到端合作2005-11-09Web Services Choreography Requirements基于一组代表性的用例,为Web Services Choreography 描述需求2004-03-11Web Services Choreography WDWeb Services Choreography Model Overview提供定义 Choreography 所需的信息模型来描述数据和数据间关系2004-03-24暂无5Web Services Choreography D
18、escription Language: Primer为理解 WSCDL 的用法和特性提供教程2006-06-19Web Services Description Language (WSDL) Version 2.0 Part 0: Primer对 WSDL 简单和非技术性的介绍2006-03-27Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language描述 WSDL 2.0 2006-03-27CRWeb Services Description Language (WSDL) Version 2.
19、0 Part 2: Adjuncts定义 WSDL 中用到的预定义扩展:消息交换模式、操作风格、绑定扩展2006-03-27Web Services Description Language (WSDL) Version 2.0 SOAP 1.1 Binding描述 WSDL 2.0 与 SOAP 1.1 协议一道使用的具体细节2006-03-27Web Services Description Language (WSDL) Version 2.0: RDF Mapping描述以 RDF 和 OWL 建模的表示法,以及将特定 WSDL 转换到 RDF 格式的映射步骤2006-03-27Web
20、 Services Description Requirements为 Web Services Description Specification 描述工作组的需求2002-10-28WDWeb Services Description Usage Scenarios描述指导 WSDL 开发的使用场景2002-06-04Describing Media Content of Binary Data in XML需要在 XML 文档中表明及在XML Schema 中规定与二进制元素内容相关的内容类型2005-05-04Web Services DescriptionGN Discussion
21、of Alternative Schema Languages and Type System Support in WSDL 2.0明确 DTD(文档类型定义)和Relax NG 的基本扩展2005-08-171) Apache Woden:WSDL 2.0 的解析器和验证器;2) WSDL 1.1 to WSDL 2.0 converterWeb Services Policy 1.5 Framework提供通用模型和相应的语法来描述基于 Web services 的系统中实体的策略2006-11-17Web Services Policy 1.5 - Attachment 定义两个通用机
22、制来关联策略2006-11-17Web Services PolicyWDWeb Services Policy 1.5 - Primer对 Web Services Policy 语言进行介绍性的描述2006-10-18暂无Basic XML Schema Patterns for Databinding 1.0提供一套基本的在现有数据绑定实现之间是可互操作的 XML Schema 1.0 模式2006-11-22Advanced XML Schema Patterns for Databinding 1.0提供一套通用的 XML Schema 1.0 模式2006-11-22XML Sch
23、ema Patterns for DatabindingWDXML Schema Patterns for Common Data Structures 1.0提供一套简单的 XML Schema 1.0 模式,可用于描述经常使用到的数据结构的 XML 表示法2006-05-12监测 XML Schema 或WSDL 文档所呈现的模式的 Detector6SOAP Version 1.2 Part 0: Primer 提供理解 SOAP 1.2 规范的教程2003-06-24SOAP Version 1.2 Part 1: Messaging Framework使用 XML 技术定义可扩展的消
24、息传递框架,包含可在多种底层协议上交换的消息结构2003-06-24SOAP Version 1.2 Part 2: Adjuncts定义 SOAP Version 1.2 Part 1: Messaging Framework 中可能用到的一组附属物2003-06-24SOAP Version 1.2 Specification Assertions and Test Collection提供一套测试来判断 SOAP 处理器是否实现了 SOAP 1.2 中的断言2003-06-24SOAP Message Transmission Optimization Mechanism描述优化 SOA
25、P 消息的传输和 /或无线格式的抽象特性和具体实现2005-01-25XML-binary Optimized Packaging定义一种更有效的序列化具有膜类内容的 XML 信息集的方式 XOP2005-01-25RECResource Representation SOAP Header Block描述 SOAP 消息中承载资源表示的 SOAP 头的语义和序列化信息2005-01-25XML Protocol Abstract Model (announcement) 描述 XML 协议的抽象模型2003-02-20WD SOAP Optimized Serialization Use C
26、ases and Requirements记录用例并规定优化 SOAP 消息处理和序列化的需求2004-06-08XML Protocol (XMLP) Requirements描述 XML Protocol 工作组的需求2003-07-28XML Protocol Usage Scenarios描述 SOAP 使用场景以及如何使用 SOAP1.2 规范实现之2003-07-30SOAP 1.2 Attachment Feature为 SOAP 附件定义表示抽象模型的 SOAP 特性2004-06-08SOAP Version 1.2 Email Binding说明了 SOAP 1.2 协议绑
27、定框架应用到 Email(RFC2822 )上2002-06-26SOAP Version 1.2 Message Normalization定义同样的交付所有语义等同的 SOAP 消息的转换算法2003-10-08XOP Inclusion Mechanism - Frequently Asked Questions在建设 XOP 的过程中,对XML Protocol 工作组的包含机制的选择2004-06-08GNDescribing Media Content of Binary Data in XML需要在 XML 文档中表明及在XML Schema 中规定与二进制元素内容相关的内容类型
28、2005-05-04XML ProtocolRFC The “application/soap+xml“ media type (RFC 3902)定义可被用来描述 SOAP 1.2 消息的“application/soap+xml”媒介类型2004-091) Apache Axis:SOAP的实现,最新版为 v1.4 final。2) Apache Axis2:Apache Axis 的改进和扩展,最新版为v1.1。支持SOAP1.1,SOAP1.2,以及 WS-ReliableMessaging(Supported by Apache Sandesha2) ;WS-Coordination
29、和 WS-AtomicTransaction(Supported by Apache Kandula2) ;WS-Security( Supported by Apache Rampart) ;WS-Addressing。7Web Services Architecture定义 Web Services 体系结构,定义功能组件和这些组件之间的关系2004-02-11Web Services Architecture Requirements为 Web services 标准参考体系结构描述一组需求2004-02-11Web Services Glossary 定义 Web Services 体
30、系结构定义和使用到的词汇表 2004-02-11Web Services Architecture Usage Scenarios描述 Web Services 体系结构的用例和使用场景2004-02-11Web Services ArchitectureGNWeb Service Management: Service Life Cycle描述 Web service 的生命周期,以及由 Web service 执行的请求处理2004-02-11暂无注: CR: Candidate Recommendation;REC: Recommendation;WD: Working Draft;GN
31、: Working Group Note2.2 OASISOASIS 成立于 1993 年,是一个非营利的国际性团体,致力于驱动电子商务标准的开发、融合和采用。它产生全球性的标准,覆盖安全、Web Services、一致性、商务交易、供应链等多个方面。OASIS 具有两个关于 XML 和 Web services 标准的信息门户: Cover Pages 和 XML.org。OASIS 的工作通过技术委员会(TC:Technical Committee 12 )的形式展开,在 Web Services 方面包括以下 TC:1) Asynchronous Service Access Proto
32、col (ASAP) TC13:创建 SOAP 协议的简单扩展,用来支持异步或长期运行 Web 服务的启动、管理和监控。2) ebXML Business Process TC14:提供基于标准的商务流程来提升使用 XML 定义的商务协作的自动化和可预测性。3) ebXML Collaboration Protocol Profile and Agreement (CPPA) TC15:描述交易参与者如何通过交换电子信息进行电子商务交易。4) ebXML Implementation, Interoperability and Conformance (IIC) TC16:允许软件提供者创建遵
33、守 ebXML 规范并可与 ebXML 规范进行交互的基础设施和应用。5) ebXML Messaging Services TC17:定义电子商务交易的传输、路由和封装机制。6) ebXML Registry TC18:定义和管理可互操作的注册中心及存储库。7) Electronic Business Service Oriented Architecture (ebSOA) TC19:提出电子商务中使用 SOA(面向服务体系结构)的架构模式。8) Framework for Web Services Implementation (FWSI) TC20:定义主要的、多平台的、厂家中立的、跨
34、行业的 Web Services 实现方法和功能组件。9) Open Building Information Exchange (oBIX) TC21: 定义支持建筑物中的机械和电8子控制系统与企业应用进行通信的协议。10) Translation Web Services TC22:将自动化转化和定位的流程实现为 Web Service。11) UDDI Specification TC23:定义能够动态的发现和调用 Web Services 的标准方法。12) Web Services Business Process Execution Language (WSBPEL) TC24:使
35、用户可以方便的将业务流程活动描述为 Web Services,并定义如何连接这些活动以完成特定的任务。13) Web Services Composite Application Framework (WS-CAF) TC25:定义一个开放框架用来支持多个 Web Services 应用之间进行协作的组合。14) Web Services Distributed Management (WSDM) TC26:定义一个 Web Services体系结构来管理分布资源。15) Web Services for Remote Portlets (WSRP) TC27:通过汇聚诸如门户等媒介来标准化使
36、用面向表述的 Web Services 的方法。16) Web Services Notification (WSN) TC28:为 Web Services 提供一种发布和订购通知/事件的标准方式。17) Web Services Quality Model TC29:定义通用的标准来衡量服务互操作性、安全和可管理性方面的质量水平。18) Web Services Reliable Exchange (WS-RX) TC30:提出使用 Web Services 进行可靠的信息交互的协议。19) Web Services Reliable Messaging (WSRM) TC31:WS-Re
37、liability 1.1 提供了一个标准的、可互操作的模型来保证消息传递到应用或 Web Services。20) Web Services Resource Framework (WSRF) TC32:定义一个使用 Web Services对有状态资源进行建模和访问的开放框架。21) Web Services Secure Exchange (WS-SX) TC33:定义 WS-Security 扩展和策略来允许多个 SOAP 消息进行可靠的交互。22) Web Services Security (WSS) TC34:为实现安全功能提供技术基础,如在实现更高层 Web Services
38、应用的消息的完整性和安全性。23) Web Services Transaction (WS-TX) TC35:定义用来协调分布式应用程序活动产出的协议。OASIS Web services 方面各 TC 的产出文档及相关实现如表 2 所示。表 2 OASIS 在 Web services 方面各 TC 的产出列表产出文档工作组名称 状态 文档名称 文档内容 时间相关实现9ASAP CDAsynchronous Service Access Protocol (ASAP) Version 1.0创建 SOAP 协议的简单扩展,用来支持异步或长期运行 Web 服务的启动、管理和监控2005-05
39、-18EasyASAP:C+实现;AxisASAP:Java 实现;ebXML Business ProcessCSebXML Business Process Specification Schema Technical Specification v2.0.4使用 XML 定义基于标准的促进业务合作定义自动化和可预测交换的业务流程基础2006-10-13ebXML CPPA OSCollaboration-Protocol Profile and Agreement Specification Version 2.0详细定义 Collaboration-Protocol Profile 和
40、 Collaboration-Protocol Agreement2002-09-23CS ebXML Test Framework v1.0 为 ebXML 规范自动运行的测试套描述一个测试框架 2004-10-11ebXML IICEDebXML EAN-UCC Deployment Guide for ebMSG描述为 EAN UCC 规定的 ebXML消息服务实现的细节 2003-04-07WDebXML Messaging Services 3.0: Part 1, Core Features定义用于交换电子商务消息的与通信协议中立的方法 2006-12-14CDebXML Mess
41、aging Services 3.0: Conformance Profiles定义支持特定消息传递方式或使用上下文的一致性 profiles 2006-06-14ebXML Messaging ServicesOS ebXML Message Service Specification 2.0 定义用于交换电子商务消息的与通信协议中立的方法 2002-04-01ebXML Registry Information Model v3.0定义可存储在 ebXML 注册表中的元数据和内容类型 2005-05-02ebXML Registry OS ebXML Registry Services a
42、nd Protocols v3.0为 ebXML 注册表定义服务和协议 2005-05-02ebSOA - - - - -PRDWeb Service Implementation Methodology在 Web Services 实现方法学中规定 Web Service 相关活动 2005-07-06FWSICD Functional Elements Specification 2.0 描述了一组功能元素 2006-09-21oBIX CD oBIX Specification 为机-机通信规定对象模型和 XML格式 2006-03-31 Obix Java ToolkitTransla
43、tion Web Services- - - - -UDDI Specification OS UDDI Version 3描述 UDDI 注册中心所有实例的Web Services、数据结构以及行为 2005-02-03JAX-RPC Client for UDDI 3.0.2WSBPEL CD Web Services Business 定义描述基于 Web Services 的业 2005-12-2110Process Execution Language Version 2.0务流程行为的语言WS-CAF CDWS-Coordination Framework specificatio
44、n and associated XML提供一组基于标准组件服务定义机制来创建融和其他应用的多种服务 2005-10-24CD WSDM Primers 帮助开发者理解 WSDM 2006-02-24WSDM OS WSDM 1.1 将 Web services 体系结构及相关技术用于分布资源的管理 2006-08-01Apache MuseWSRP OS WSRP 1.0 允许应用程序设计者或管理者选择符合的远端内容和应用程序提供者 2003-08WS-BaseNotification 1.3 2006-10-01WS-BrokeredNotification 1.3 2006-10-01W
45、SN OSWS-Topics 1.3使用基于主题的发布定购模式定义标准的 Web services 通知方法2006-10-01Web Services Quality ModelCD Quality Model for Web Services v2.0 提供在开发和使用 Web Services过程中的质量管理模型 2005-09CD Web Services Reliable Messaging v1.1 描述允许消息在节点之间被可靠传递的协议 2006-08-11WS-RXCDWeb Services Reliable Messaging Policy Assertion v1.1为
46、WS-ReliableMessaging 描述领域特定的策略断 2006-08-11WSRM OSWeb Services Reliable Messaging TC WS-Reliability 1.1定义基于 SOAP 的协议来交换具有保证的传递的、无重复的和保证消息序列的 SOAP 消息2004-11-15 Apache Sandesha2CD WSRF Primer 用具体实例介绍 WSRF 2006-05-23OS WSRF v1.2 定义 Web services 可用一致并可互操作的方式来访问状态的框架 2006-04-01WSRFCSWS-Resource MetadataDe
47、scriptor specification提出表示元数据的信息模型 2006-06-27WS-SX -WSS OS WS-Security 1.1 描述对 SOAP 消息传递的改进来提供消息的完整性和保密性 2006-02-01 Apache RampartWS-Coordination v1.1 描述可扩展框架来提供协调分布应用动作的协议 2006-08-30WS-AtomicTransaction v1.1定义与扩展协作框架一起使用的原子交易协作类型 2006-08-30WS-TX PRDWS-BusinessActivity v1.1定义与扩展协作框架一起使用的业务活动协作类型 200
48、6-11-08注:CD :Committee Draft;CS: Committee Specification;OS:OASIS Standard;ED:Editors Draft ;PRD:Public review drafts112.3 WS-IWS-I 是一个开放的组织,旨在推进 Web Services 跨平台、跨操作系统、跨编程语言的互操作性。WS-I 的目标在于获得 Web Services 的互操作性;加速 Web Services 的部署;以及鼓励 Web Services 的应用等。WS-I 的产出为 Web services 开发者提供资源来创建可互操作的 Web se
49、rvices 以及验证他们的结果与 WS-I 指南的一致性 36。WS-I 的产出主要包括:- Profiles:为如何同时使用相关 Web services 规范以获得最佳互操作性提供了实现指南。- 示例应用程序:展示与 WS-I 指南一致的 Web services 应用程序,这些实现是使用多种不同的平台、编程语言和工具开发的,用于展示起作用的互操作性并为 Web services 开发者提供可用的资源。示例应用程序用作开发者在他们的开发环境中遵循 WS-I 指南的工作示例。- 测试工具:用于判断与 Web service 的消息交互是否与 WS-I 指南一致。这些工具监视这些消息并分析产出日志来识别所有已知的互操作性问题。WS-I 目前的工作组包括:1) Basic Profile 工作组 37:为 Web Services 提供基础的核心规范集合。该工作组目前正在进行 Basic Profile 1.2 和 Basic Profile 2.0 的工作。2) Basic Security Profile 工作组 38:正在开发处理传输安全、 SOAP 消息传递安全以及其他面向 Basic Pr