無論您是 IT 架構師、開發人員或管理員,還是僅僅希望瞭解 SOA 及其能如何幫助您的組織的更多信息,都能通過本文虛構的公司 JK Enterprises 實現 SOA 解決方案的過程瞭解很多信息。首先,我們將概略地介紹 SOA 和 IBM 所提供的用於幫助您採用 SOA 解決方案的方法,以及如何對這些 SOA 解決方案加以完善(如果您已經開始採用的話)。
引言:使 IT 與您的業務保持一致,提高業務靈活性
面向服務的體系結構(Service-Oriented Architecture,SOA)是一種 IT 體系結構風格,支持將您的業務轉換爲一組相互鏈接的服務或可重複業務任務,可在需要時通過網絡訪問這些服務和任務。這個網絡可以是本地網絡、Internet,也可以分散於各地且採用不同的技術,通過對來自紐約、倫敦和中國香港的服務進行組合,可讓最終用戶感覺似乎這些服務就安裝在本地桌面上一樣。可以對這些服務進行結合,以完成特定的業務任務,從而讓您的業務快速適應不斷變化的客觀條件和需求。
當在戰略業務目標的引導下進行 SOA 實現工作時,可確保對業務進行積極轉換,並能夠實現 SOA 的好處,具體如下:
- IT 與業務的一致性
- IT 資產的最大化重用
這些有助於確保在耗資巨大的 IT 項目中的投資能夠給業務帶來長遠的價值。
那麼,該如何步入 SOA 的領地,它又會如何影響您的業務呢?IBM 確定了五個切入點,可確保所進行的每個基於 SOA 的解決方案都能提供真正的業務價值。每個切入點都提供了相應的場景或已定義的方法,以幫助實現相應的技術,從而實現每個切入點所定義的業務價值。
SOA 切入點
IBM 定義的五個切入點(均基於實際的客戶經驗確定)能幫助您和您的業務實現預定義的 SOA 解決方案,從而從中獲益。這些切入點同時受到業務需求(人員、流程和信息切入點)和 IT 需求(連接性和重用切入點)的驅動。以下是五個切入點的一般描述信息:
- 人員:SOA 的這個切入點關注用戶體驗,以幫助生成調用和實現更好的協作,從而獲得一致的人員與流程交互,提高業務效率。例如,通過使用 SOA,可以創建基於服務的 Portlet 來提高此協作。
- 流程:流程切入點可幫助企業瞭解其業務中發生的情況,從而支持其對現有業務模型進行改進。通過使用 SOA,可以將業務流程轉換爲可重用且具有靈活性的服務,從而改進和優化這些新流程。
- 信息:通過使用 SOA 的這個切入點,能以一致而可見的方式利用公司中的信息。通過在所有業務領域提供這個一致而受信任的信息,可促進企業各個領域的創新工作,從而更爲有效地進行競爭。通過使用 SOA,可以更好地控制信息,而且通過信息與業務流程的結合,可以發現很多有意義的新關係。
- 連接性:利用連接性切入點,可以有效地連接基礎設施,從而將企業中的所有人員、流程和信息整合到一起。通過在服務間和整個環境中實現靈活的 SOA 連接,可以獲取現有業務流程並在不需要太多工作的情況下通過其他業務通道提供此流程。甚至還能以安全的方式連接防火牆外的外部合作伙伴。
- 重用:通過 SOA 重用服務,可以充分利用企業中已經存在的服務。通過對現有資源進行構建,可以簡化業務流程,在整個企業內確保一致性並縮短開發時間。所有這些將能幫助您節約大量的時間和資金。另外,還能減少服務中的功能重複,並能獲得使用企業中爲大家所熟悉的經過驗證的核心應用程序的好處。
我們將以名爲 JK Enterprises 的虛構公司實現特定 SOA 方法的情況爲例,將這些切入點與各個場景相對應。首先讓我們瞭解一下各個場景。
SOA 場景
之所以定義切入點,是爲了幫助客戶瞭解如何認識 SOA。不過,還需要進一步的實現細節來幫助客戶的業務和 IT 團隊開始 SOA 之旅。而這正是需要更爲具體的場景的原因。
同樣,IBM 技術專家在參考實際的客戶經驗和多年的積累的情況下,認識到業務部門在設計和實現 SOA 解決方案的過程中經常會遵循多個常見的場景。通過定義這些場景,IBM 爲您提供了預定義的真實方法,幫助實現 SOA 解決方案。每個場景都提供了經過測試和集成的產品或實現,用於實現此場景。因此,可以將這些場景映射到您公司具體的目標和需求,從而很好地確定自己如何實現這些好處。
- 服務創建:創建靈活的基於服務的業務應用程序。新的面向服務的應用程序將業務行爲作爲服務公開,同時還能重用作爲服務公開的業務邏輯。
- 服務連接性:無論何時何地使用何種工具,都能使用中間層服務網關或總線讓各種應用程序訪問核心服務集,從而通過無縫的消息和信息流將企業中的人員、流程和信息連接起來。
- 交互與協作服務:必須通過多種設備(如瀏覽器、PC 和移動設備)向人類用戶提供一個或一組服務。交互與協作服務還可通過將這些服務聚合爲視圖,以交付信息並在業務流程的上下文進行交互,從而提高人員工作效率。
- SOA 所支持的業務流程管理:業務流程管理是將軟件功能和業務專業知識相結合來加速流程改進和促進業務創新的學科。
- 作爲服務的信息:“作爲服務的信息”可在企業內作爲可重用服務訪問複雜的異類數據源。
- SOA 設計:通過一組角色、方法和構件保持業務設計建模和 IT 解決方案設計的一致,以提供一組供優化的顯式業務流程和用於組合及集成的服務。
- SOA 治理:建立並執行 SOA 開發與運行時流程。定義策略、流程和工具來監視服務的歸屬、使用人、使用方式及提供時間。
- SOA 安全性和管理:作爲 IT 服務管理(IT Service Management,ITSM)服務一部分的發現、監視、保護、供應、更改和生命週期管理工作。
之前討論的五個 SOA 切入點直接映射到(即具有一對一關係)本列表中的前五個場景。(例如,重用直接映射到服務創建,而連接性直接映射到服務連接性。)我們還將討論其他 SOA 場景,這些場景均以上面的五個切入點爲基礎。即 SOA 設計、SOA 治理與 SOA 安全性以及管理。
讓我們花一點時間給出一個實際的切入點、場景及其實現。在圖 1 中,可以看到重用切入點如何直接映射到服務創建場景,而後者包含四個實現,其中一個名爲“從頭創建新服務”(create new services from scratch)。因此,將這些加以結合,在此示例中,您將通過重用切入點進入 SOA,此切入點可幫助您對公司的現有服務加以充分利用。如果隨後發現缺少主要 SOA 服務,“從頭創建新服務”實現詳細說明了如何創建 SOA 服務。
您現在應該已經對五個 SOA 切入點和八個場景很熟悉,而且也應該知道了每個場景如何通過多個實現幫助您實現 SOA 解決方案。圖 1 給出了一個示例,說明了可以如何將這些部分進行混合和匹配,以提供任何企業都能夠利用的各種 SOA 方法。爲了進一步說明這些方法,在本文剩下的部分,我們將瞭解 JK Enterprises 如何在整個企業實現 SOA 所帶來的很多好處。