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