Posted on 2006-10-17 13:53
幸福鄉 閱讀(317)
評論(1) 編輯 收藏
SOA 是一種 IT 體系結構樣式,支持將您的業務作為鏈接服務或可重復業務任務進行集成,可在需要時通過網絡訪問這些服務和任務。這個網絡可能完全包含在您的公司總部內,也可能分散于各地且采用不同的技術,通過對來自紐約、倫敦和香港的服務進行組合,可讓最終用戶感覺似乎這些服務就安裝在本地桌面上一樣。需要時,這些服務可以將自己組裝為按需應用程序——即相互連接的服務提供者和使用者集合,彼此結合以完成特定業務任務,使您的業務能夠適應不斷變化的情況和需求(在有些情況下,甚至不需要人工干預)。
這些服務是自包含的,具有定義良好的接口,允許這些服務的用戶——稱為客戶機或使用者——了解如何與其進行交互。從技術角度而言,SOA 帶來了“松散耦合”的應用程序組件,在此類組件中,代碼不一定綁定到某個特定的數據庫(甚至不一定綁定到特定的基礎設施)。正是得益于這個松散耦合特性,才使得能夠將服務組合為各種應用程序。這樣還大幅度提高了代碼重用率,可以在增加功能的同時減少工作量。由于服務和訪問服務的客戶機并未彼此綁定,因此可以完全替換用于處理訂單的服務,下訂單的客戶機-服務將永遠不會知道這個更改。所有交互都是基于“服務契約”進行的;服務契約用于定義服務提供者和客戶機之間的交互。通常,您將通過創建“基于消息的”系統來實現此目標。
從業務的角度來說,面向服務的體系結構的重點在于開發能幫助您完成業務任務的技術,而不是通過技術約束來規定您的行動。例如,銷售過程(制造、運輸和收到貨款)可能會涉及數十個步驟和若干不同的數據庫和計算機系統。但就其實質而言,此過程包含一系列人工活動,例如:
- 銷售人員找到潛在客戶
- 客戶訂購產品
- 生產部門制造產品
- 生產部門發出產品
- 收款部門開具產品帳單
- 客戶支付產品貨款
面向服務的體系結構基于這些實際活動或業務服務進行組織,而不是形成公司所維護的不同的信息豎井 (Silo)。
通過實現 SOA,可以帶來大量好處,包括以下各個方面:
- 更高的業務和 IT 一致性
- 基于組件的系統
- 松散耦合的組件和系統
- 基于網絡的基礎設施,允許分散于各地且采用不同技術的資源協同工作
- 動態構建的按需應用程序
- 更高的代碼重用率
- 更好地標準化整個企業內的流程
- 更易于集中企業控制
原文地址http://www-128.ibm.com/developerworks/cn/webservices/newto/#1