当前SOA的实现形式是Web服务,基于公开的W3C及其他公认标准。这些标准能确保跨系统合作伙伴的互操作性,通过流程和工具进行开发与交付;帮助更好地管理IT资产和提高其可见性;确保服务质量;通过减少对特定实现的依赖性来提高灵活性。
SOA采用第一代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*来实现。SOAP、WSDL和UDDI在前一章节中已经做了详细的介绍,这里不再赘述。SOA所利用的第二代Web服务定义的WS-*相关协议包括以下几种。
WS-Security协议基于向消息Header(标头)添加SOAP扩展来存储安全元数据。这些扩展提供了将安全令牌与消息关联的通用机制,从而替代了固定的安全机制。通用平台支持不同的安全机制,此协议设计为可扩展协议。(www.xing528.com)
在OASIS在线社区中,Web服务的业务流程执行语言(BPEL4WS)定义如下:“此协议定义了用于基于流程及其合作伙伴间的交互描述业务流程的行为的模型和语法。它还定义与合作伙伴的多个服务交互如何协调来实现业务目标,以及此协调所必要的状态和逻辑。”由于有明确的需求,BPEL4WS引入了处理业务异常和错误的方法,还引入了用于补偿在出现错误的情况下反转其他已提交流程的方式。因为BPEL需要通用支持,因此该协议以广泛认可的WSDL协议为基础,而WSDL本身又是基于XML的。
正如WS-I网站中所述:“Web服务互操作性组织(Web Services Interoperability Organization,WS-I)是一个开放行业组织,其宗旨是为所选的Web服务标准提供最佳实践,提高跨平台、操作系统和编程语言的Web服务互操作性。”其主要目标是,在使用Web服务对系统互联时,为确保互操作性提供指导和建议。WS-I具有4个主要的可交付内容:①概要,即描述可互操作且作为集合工作的Web服务的实现指导原则和最佳实践的具有版本控制的规范;②用于演示概要中指导原则的用例和使用场景;③示例应用程序;④概要遵从性测试工具。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。