面向服务的体系结构
面向服务的体系结构(英語:service-oriented architecture)並不特指一種技術,而是一種分散式運算的軟體設計方法。軟體的部分組件(呼叫者),可以透過網路上的通用協定呼叫另一個應用軟體元件執行、運作,讓呼叫者獲得服務。SOA原則上採用开放标准、与軟體资源进行交互并采用表示的标准方式。因此應能跨越廠商、產品與技術。一項服務應視為一個獨立的功能單元,可以遠端存取並獨立執行與更新,例如在線查詢信用卡帳單。 SOA中的一項服務應有以下四個特性:
SOA是什么企业系统的架构师认为SOA能够帮助业务迅速和高效地响应变化的市场条件[1]。服务導向的架构在宏观(服务)上,而不是在微观上(对象),因此提高了重複使用性。同时,服务導向的架构可以简化与传统系统的互连和使用。 在某种意义上说,服务導向的架构可以被认为是一种演化,而不是革命。它捕捉到了之前体系架构的许多最佳实践或实际应用。比如在通信系统中,近年來進展有限的解決方案多採用完全靜態的綁定來與網路中的其他設備溝通,但若正式採用SOA方式,解決方案就更能妥善定位,進而突顯定義明確且可高度跨平台操作介面的重要性。[2] 有些人质疑服务導向的架构是不是1970年代模块化编程,1980年代的面向事件设计,1990年代的基于接口/构件设计的一种复兴?(1990s)[來源請求]。 服务導向的架构提升了将用户从服务实现分开的目标。服务可以运行在不同的服务器上,并通过网络被访问。 这也大大增加了服务的重用[來源請求]。 SOA的原則以下指導原則是開發,維護和使用SOA的基本原則[3]: 下面是一些特定的體系架構原則:
除此以外,在定義一個SOA實現時,還需要考慮以下因素:
服務導向的架构和Web服务协议
服務導向的架构通常被定义为通过Web服务协议栈暴露的服务[來源請求]。与SOA相关的Web服务的标准主要有:
注意,一个系统要成为服務導向的系统并不需要这些协议,比如一些服務導向的系统可以通过CORBA实现。 参考文献
外部链接参见 |
Portal di Ensiklopedia Dunia