SOA是什么?
SOA是面向服務的架構,是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行交互。
為何選擇SOA?
不同種類的操作系統,應用軟件,系統軟件和應用基礎結構相互交織,這便是IT企業的現狀。
SOA架構,是一種粗粒度、開放式、松耦合的服務結構,要求軟件產品在開發過程中,按照相關的標準或協議,進行分層開發。通過這種分層設計或架構體系可以使軟件產品變得更加彈性和靈活,且盡可能的與第三方軟件產品互補兼容,以達到快速擴展,滿足或響應市場或客戶需求的多樣化、多變性。
利用SOA架構開發的時候,其基于松耦合的特性能給企業帶來諸多的好處:
第一、更易維護
第二、更高的可用性
第三、更好的伸縮性
什么情況下不適合SOA?
首先,安全問題。SOA做為一種基于服務的架構,其面向的是流程。如果這個架構出現問題,那么將導致所有的業務癱瘓。
而現在企業信息化的發展趨勢是IT和業務結合得越來越緊密,或者可以說業務對IT的依賴程度越來越高,相信如果SOA不能很好地解決安全問題,將會極大地限制其發展。
其次,個性化問題。SOA通過所謂粗粒度服務接口和分級,確實提高了效率。實現流程化以后,也確實簡化了開發難度。國內的中小企業占到了企業總量的70%,他們的需求很具個性化,而且比較在意價格的因素。實際上這和SOA高度集成的性質是不相符的。