SOA之(4)——服务实现的途径

时间:2023-01-20 09:45:08

服务实现的途径(Service Implementation Mediums)

将SOA看成是一个架构模型非常重要,它独立于任何技术平台。对于企业来说,可以根据它当前自身的技术优势来实现SOA,从而达到战略目标。

当前,服务可以通过以下三种方式实现:

  • 组件(component)
  • Web服务(Web service)
  • REST服务(REST service)

(以上三种是Thomas Erl在SOA Design Patterns里提出的)

本质上说,我们选取任何技术在一个分布式系统中实现SOA。这个系列中将会介绍的多数设计模式都与实现方式无关,也有一些与实现相关。里面有些例子基于Web services,因为它从面向服务的历史上看是最为流行的。

服务即组件(Services as Components)

一个组件是为一个分布式系统设计一部分程序,它提供一个接口(interface),传统的API通常是将它的能力作为方法暴露,让其他的程序进行显性访问,与传统API不同的是,组件通常依赖于具体平台的开发和运行时技术。比如,组件可以通过Java或者.NET工具开发,然后部署到运行环境中,与其他组件相互通信以支持技术需求。

SOA之(4)——服务实现的途径

服务即Web Services(Services as Web Services)

Web service提供物理上解耦的技术契约(contract),这个契约包括了WSDL定义,一个或多个XML Schema的定义以及可能的WS-Policy的表达式。面向服务的思想可以应用到对于Web services的设计之中。Web services 提供了一个架构模型,它利用服务契约(service contract)来进行物理解耦,在面向服务的过程中,它的技术中立性(vendor-neutral)也有助于达到设计上的某些目的。

SOA之(4)——服务实现的途径

REST服务(REST Services)

表述性状态转移(REST)为分布式系统提供了一种基于资源(resources)的实现方式。REST services(或RESTful Services)是一个强调简单、可伸缩性和可用性的轻量程序。REST services也可以被用来应用面向服务的原则。

参考:《SOA设计模式》 由Thomas Erl及其他供稿者合著,作为Thomas Erl关于面向服务计算丛书的一部分,于2009年1月由Prentice Hall出版,ISBN 0136135161,版权所有2009 SOA System Inc.。