SOA FAQ

 

1.         什麼是SOA

SOA(Service-Oriented Architecture)是面向服務的構架的簡稱,SOA是一種方法,它將企業中的應用組織成可重用的服務,以達到通過快速組合和重用這些服務來響應業務需求的變化。相對於組件,SOA提高了重用的層次,可提供更粗粒度的重用。

 

2.         SOA的目標是什麼?SOA的關鍵點是什麼?

SOA的目標是通過構建可重用的服務來提高IT響應業務需求的能力。

SOA的關鍵是基於標準的、松耦合的、可重用的服務。

 

3.         SOA可帶來什麼好處?

首先SOA提供可快速重用的服務,提高了IT和業務整合效率,可更快的交付產品;其次使IT能更好符合業務的需求;最後SOA能屏蔽IT環境的底層技術複雜性。

 

4.         SOA標準化情況如何?

SOA所應對的是異構的系統,因此使用標準化的技術來降低系統間的交互至關重要,SOA所涉及的主要標準化技術包括:

Ø         XML: XQuery用來查詢XML中的數據,XSD用來定義XML的格式,XSLT用來在不同各式的XML格式間進行轉換。

 

Ø         Web服務: SOAP用於Web服務的訪問,WSDL用來描述可被重用的服務,UDDI用來描述服務的發現方式;

 

Ø         JMS消息: SOA中進行異步消息處理時採用J2EE標準的JMS方式來連接符合此標準的消息服務器,如WebSphere MQWebLogic MQ 等。

 

Ø         數據庫訪問: SQLJDBC,不需要再多作解釋。

 

Ø         業務流程管理: BPELBusiness Process Execution Language),SOA中會涉及業務的組合,因此採用標準的語言來對業務流程進行描述是必不可少的。

 

5.         SOA系統的主要構成是什麼?

不同廠商的SOA系統會有各自的特性,但要實現SOA的意圖,一些共性的功能還是不可缺少的,從目前看,一個SOA系統至少應包含下面的功能:

Ø         服務管理:服務管理是SOA系統的核心功能,它實現對可重用服務的統一管理,簡化服務的部署和使用。

 

Ø         數據管理:無論底層使用的是哪家的數據庫系統,SOA系統都應提供一個統一的數據管理視圖,可以一致的方式訪問數據服務,便於數據服務的創建、修改和重用。

 

Ø         安全管理:當業務以服務方式暴露出來後,需要一套管理機制來保證只有有權限的角色才能訪問被允許訪問的服務,防止未經授權的訪問。單點登錄、日誌記錄、錯誤和異常處理等都屬於安全管理所提供的服務。

 

Ø         服務構建:提供一個開發環境,可以高效開發新的服務和將遺留系統的功能包裝成可重用的服務。

 

Ø         流程管理:SOA通常會連接一個業務流程中的多個服務,以可視化的方式來設置這些服務之間的使用方式是SOA系統必須提供的功能,如果採用編碼方式來實現,效率太低,而且也不能靈活地修改流程以適應業務需求的多變性。

Ø         門戶:爲使用SOA的系統和用戶提供統一的訪問模式。

 

 

 

6.         目前SOA的主要供應商?

BEAIBMMicrosoftOracle…,這個列表可能會隨着時間而發生變化。各家廠商對SOA的實現都有其自身的特性。

 

7.         實施SOA的最佳實踐?

Ø         漸進式:實施SOA不可能採用一步到位方式將現有系統一次性全部變成SOA的系統,而應該採用循序漸進方式將現有系統逐步轉爲符合SOA系統。這樣可減少系統切換風險,並且可以在逐步實施中積累經驗。

 

Ø         參考構架:SOA的供應商通常會將自己的成功實施經驗總結出來,形成一個參考構架,作爲新實施SOA企業的參考指南,幫助企業明確實施SOA要達成的目標和合適的方法。通過參考構架可極大提高實施SOA的概率。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章