新起点
SOA
2020-04-11 16:17:33

面向服务的体系结构(英语:service-oriented architecture)并不特指一种技术,而是一种分布式运算的软件设计方法。软件的部分组件(调用者),可以透过网络上的通用协议调用另一个应用软件组件运行、运作,让调用者获得服务。SOA原则上采用开放标准、与软件资源进行交互并采用表示的标准方式。因此应能跨越厂商、产品与技术。一项服务应视为一个独立的功能单元,可以远程访问并独立运行与更新,例如在线查询信用卡账单。

SOA中的一项服务应有以下四个特性:

企业系统的架构师认为SOA能够帮助业务迅速和高效地响应变化的市场条件。服务导向的架构在宏观(服务)上,而不是在微观上(对象),因此提高了重复使用性。同时,服务导向的架构可以简化与传统系统的互连和使用。

在某种意义上说,服务导向的架构可以被认为是一种演化,而不是革命。它捕捉到了之前体系架构的许多最佳实践或实际应用。比如在通信系统中,近年来进展有限的解决方案多采用完全静态的绑定来与网络中的其他设备沟通,但若正式采用SOA方式,解决方案就更能妥善定位,进而突显定义明确且可高度跨平台操作接口的重要性。

有些人质疑服务导向的架构是不是1970年代模块化编程,1980年代的面向事件设计,1990年代的基于接口/构件设计的一种复兴?(1990s)。 服务导向的架构提升了将用户从服务实现分开的目标。服务可以运行在不同的服务器上,并通过网络被访问。 这也大大增加了服务的重用。

以下指导原则是开发,维护和使用SOA的基本原则:

下面是一些特定的体系架构原则:

除此以外,在定义一个SOA实现时,还需要考虑以下因素:

服务导向的架构通常被定义为通过Web服务协议栈暴露的服务。与SOA相关的Web服务的标准主要有:

注意,一个系统要成为服务导向的系统并不需要这些协议,比如一些服务导向的系统可以通过CORBA实现。

相关:

网站公告: