關鍵字:soa 在面向服務的體系結構中,映射到業務功能的服務是在業務流程分析的過程中確定的。服務可以是細粒度的,也可以是粗粒度的,這取決于業務流程。每個服務都有定義良好的接口,通過該接口就可以發現、發布和調用服務。 企業可以選擇將自己的服務向外發布到業務合作伙伴,也可以選擇在組織內部發布服務。服務還可以由其他服務組合而成。
服務與組件
服務是粗粒度的處理單元,它使用和產生由值傳送的對象集。它與編程語言術語中的對象不同。相反,它可能更接近于業務事務(如 CICS 或 IMS 事務)的概念而不是遠程 CORBA 對象的概念。
服務是由一些組件組成的,這些組件一起工作,共同提供服務所請求的業務功能。因此,相比之下,組件比服務的粒度更細。另外,雖然服務映射到業務功能,但是組件通常映射到業務實體和操作它們的業務規則。作為一個示例,讓我們看一看 WS-I 供應鏈管理(WS-I Supply Chain Management)樣本的定購單(PurchaseOrder)組件模型,如圖 2-9 所示。
圖 2-9 定購單組件模型
在基于組件的設計中,可以創建組件來嚴格匹配業務實體(如顧客(Customer)、定購單(Purchase Order)、定購項(Order Item)),并且封裝匹配這些實體所期望的行為的行為。
例如,定購單(Purchase Order)組件提供獲取關于已定購的產品列表和定購的總額的信息的功能;定購項(Order Item)組件提供獲取關于已定購的產品的數量和價格的信息的功能。每個組件的實現都封裝在接口的后面。因此,定購單(Purchase Order)組件的用戶不知道定購單(Purchase Order)表的模式、計算稅金的算法、以及定單總額中的回扣和/或折扣。
在面向服務的設計中,不能基于業務實體設計服務。相反,每個服務都是管理一組業務實體中的操作的完整單元。例如,顧客服務將響應來自任何其他系統或需要訪問顧客信息的服務的請求。顧客服務可以處理更新顧客信息的請求;添加、更新、刪除投資組合;以及查詢顧客的定單歷史。顧客服務擁有所有與它管理的顧客有關的數據,并且能夠代表調用方進行其他服務查詢,以提供統一的顧客服務視圖。這意味著服務是一個管理器對象,它創建和管理它的一組組件。
第四部分:面向服務的體系結構所帶來的好處
如前所述,企業正在處理兩個問題:迅速地改變的能力和降低成本的要求。為了保持競爭力,企業必須快速地適應內部因素(如兼并和重組)或外部因素(如競爭能力和顧客要求)。需要經濟而靈活的 IT 基礎設施來支持企業。
文章來源于領測軟件測試網 http://www.kjueaiud.com/