技术开发 频道

SOA的发展历史与标准规范

    2. 标准与规范 

    2.1 标准与规范的区别 

    大多数人习惯上把“标准”与“规范”这两个术语交替使用,这样做基本没有问题。但严格地讲,二者还是有一定差异的。规范是标准的建议文档。这就意味着,标准一般是由业界公认的标准化组织制定和发布。而规范要灵活的多,多为厂商或非标准化组织发布。事实上,很多规范并不是标准,比如SDO和SCA,而是由某些厂商或厂商联盟制定发布。但是凭借这些厂商强大的市场地位,这些规范往往会成为事实上的标准。 

    我们大体上可以把SOA标准分为XML标准集、Web服务标准集和SOA参考模型,下面我将分别介绍,为叙述方便,不再严格区分标准和规范,统一称作标准。 

    2.2 XML标准集 

    2001年10月,W3C发布了XML信息集(XML Information Set,XML Infoset)。
Infoset是一个抽象的数据模型,它兼容基于文本的XML 1.0,也是所有最新XML规范(XML Schema、XML Query和XSLT 2.0)的基础。由于Web服务架构是以XML Infoset为基础,而不是以某一特定的表现形式为基础,使得该架构及其核心协议组件可与各种编码技术兼容。 

    除了基于纯文本的Infoset编码技术以外,Web服务架构还需要支持另外一种编码技术——即允许不透明的二进制数据与传统的基于文本的标记交织在一起。由于XML Infoset仅支持基于文本的XML,W3C于2005年初发布了XML二进制优化封装协议(XML-binary Optimized Packaging,XOP)。XOP格式使用MIME将原始二进制数据引入到XML 1.0文档中,而不采用base64编码。通过其配套规范——SOAP 消息(Transmission Optimization Method,MTOM)实现将二进制XOP格式绑定到SOAP。XOP和MTOM是将原始二进制数据与基于文本的XML混合在一起的首选方法,它们取代了目前普遍遭到反对的SOAP with Attachments(SwA)和WS-Attachments/DIME。 

    2.3 Web服务标准集 

    经过几年的努力,Web服务标准集已经初具规模,内容涵盖传输层、消息机制、编程模型、服务发现和描述、可靠性、事务处理、安全和管理等方面。尽管其中部分内容还处于规范级别,但由于受到广泛的关注和支持,成为正式标准只是时间上的问题。下面列出了标准的清单:

类型

标准(规范)名称

传输层

Blocks Extensible Exchange Protocol (BEEP)
  HyperText Transfer Protocol

消息

SOAP 1.1
  Web Services Addressing
  Web Services Notification
  Web Services Attachments Profile 1.0
  MTOM Serialization Policy Assertion (WS-MTOMPolicy) Version 1.0

编程模型

Service Component Architecture
  Service Data Object

发现和描述

UDDI
  WSDL
  Web Services Metadata Exchange
  Web Services Policy Assertions Language
  Web Services Policy Attachment
  Web Services Policy Framework
  Web Services Resource Framework

可靠性

Web Services Reliable Messaging
  WS-RM Policy Assertion

事务处理

Web Services Atomic Transaction
  Web Services Business Activity
  Web Services Coordination

安全

Web Services Federation Language
  WS-Federation: Active Requester Profile
  WS-Federation: Passive Requester Profile
  Web Services Provisioning
  Web Services Secure Conversation Language
  Web Services Security 1.0
  Web Services Security Addendum
  WS-Security Kerberos Binding
  Web Services Security Policy
  Web Services Trust
  Security Assertion Markup Language (SAML)

业务流程

WS-BPEL Extension for People
  Business Process Execution Language for Web Services V1.1

管理

Web Services Distributed Management
  Web Services Manageability
  Web Services Manageability -- Concepts
  Web Services Manageability -- Representation
  WS-Resource Transfer
  Web Services Service Registry and Repository

    2.4 SOA参考模型

    SOA参考模型由结构化信息标准促进组织制定和发布。事实上,它并不是一个标准,而是SOA架构的一个抽象框架,统一了SOA相关术语用法并且定义了这些术语的涵义,同时还明确定义了SOA各组件之间的关系。SOA架构师或系统设计人员可以根据这个模型指导自己的SOA实践,下图说明了SOA参考模型与SOA实践之间的关系。


    从上图可以看出,参考模型位于抽象级别的顶部,也就是说参考模型提供了SOA实现的抽象基础。每个SOA架构设计者都要考虑参考架构、模式、模型以及由参考架构派生出的概念架构,审慎思考实际环境(需求、动机和目标等)对实现架构的影响,同时利用已有的标准和协议,这样就形成了一个比较完整的SOA设计方法论。总而言之,SOA参考模型使得我们能够系统地考虑SOA架构的实现,并给出最基本的概念和设计模式。

0
相关文章