1. 企業集成的新方向: SOI
什么是"以服務為中心的集成"?
"以服務為中心的集成"是英文詞語"Service-Oriented Integration"的中文翻譯,簡稱 SOI。 它可以定義為:在"以服務為中心的體系架構"(Service-Oriented Architecture,SOA)中,通過服務的交互來集成各企業的 IT 資源,如分布的應用或者數據,幫助企業 IT 部門將已有但老舊而不靈活的系統集成起來,釋放其中功能或數據為可重用的服務與業務流程。
為什么需要"以服務為中心的集成"?
企業集成的推動因素。推動"企業應用集成"(Enterprise Application Integration, EAI )的因素,來自商務和技術兩個方面。從商務的角度,今天企業要在全球化的經濟環境中求生存和發展,就必須努力適應越來越強的競爭和越來越快的變化,這意味著一個企業的業務模型要變得靈活以快速應變,也就是隨需應變。在一個企業的業務模型變得靈活的轉型過程中,需要將業務流程不斷地自動化,然后跨部門橫向集成它們,并且管理和優化它們,這意味著支撐這些流程的技術基礎,即 IT 應用和數據資源等,需要在企業范圍內集成。所以,業務靈活應變的能力是 SOI 的驅動因素之一。
在技術方面,IT 部門面臨著業務部門越來越高的期望值,就是用更少的錢做更多的事情,但要做得更快、更好,這迫使 IT 部門考慮如何最大程度地重用已有應用的功能和數據資源,來支持新應用的開發。但這種重用面臨著如何將高度異構、分布的各個應用集成起來的難題,SOI是目前最有效的解決之道。在 SOI 中,首先各個應用的功能被封裝為基于標準來描述和供訪問的服務;其次,借助于 SOI 的通用連接能力,這些來自不同應用的服務,不需要關心對方的位置和實現技術,以松散耦合的方式相互交互來完成集成,所以只要服務的接口描述不變,服務的使用者和提供者雙方可以自由發生變化而互不影響;最后,通過服務組合,服務可以按不同的方式來組合成為不同的業務流程。當某個業務流程發生變化的時候,大多數時候,我們調整組裝服務的方式來滿足這種變化??傊?,這種通過重用粗粒度服務而不是在底層編程來開發新應用以滿足業務新需求的方法,使得 IT 組織能夠以更少的投入、更快的速度、更好的質量來開發應用。綜上所述,可以靈活應變的重用方式,是 SOI 的另一個驅動因素。
集成解決方案的發展沿革。集成企業應用的方法各種各樣,初級一點的借助于簡單的機制如應用編程接口,管道、共享目錄和文件,或者某些傳輸協議如 FTP 來交換數據和互操作;高級一點的則使用各種消息中間件來提供消息的傳輸、轉換、合并、路由和分發、事件的發布和訂閱等;分布式計算技術,如 CORBA,COM 等,也有較廣的使用。
在初期實踐中,應用之間的連接拓撲大多數情況下是點對點的,硬編碼的,所使用的協議是非標準的,功能的提供者和使用者之間是緊耦合的,功能的粒度通常較細,數據的表示也不統一。隨著集成復雜度的增長,和實踐經驗的總結,開始出現一些從好的實踐中總結出來的集成模式,如消息中樞(Message Backbone)、信息總線、應用集成中心(Application Integration Hub),這些模式從不同的角度以不同的方式來管理集成的復雜性,但都或多或少地嘗試提供一個集成基礎設施來簡化應用之間日趨復雜的連接拓撲,提供異構數據和功能訪問方式之間的轉換,甚至提供一致的數據和功能表示與訪問方式。通過元數據和應用相關的領域知識,這些集成基礎實施提供了很多中介和轉換的機制與模式來實現高級的功能,如路由、動態選擇等能力。
隨著互聯網絡技術的發展、普及和應用,相關技術和標準,如 XML 和 Web Service,被廣為接受,這給應用集成帶來了新的發展。企業應用架構的風格開始朝著以服務為中心的方向發展,而企業應用集成也轉向以服務為中心的集成,服務的描述和訪問基于開放一致的標準(如 WSDL),連接應用的基礎設施繼承了過去發展的成果,并通過支持開放標準,來提供通用的連接服務,包括基本的服務如消息傳輸、轉換,事件的發布和訂閱,服務的中介(選擇、路由),和高級的服務如安全、事務、服務質量,以及可管理性,來使得服務在一個標準、開放、可靠、安全、可管理、滿足服務質量要求的環境下,以松散耦合的方式相互交戶,根據需求動態地進行企業應用集成,達成非常高程度的靈活應變能力和重用能力。SOI 是對現有集成技術與實踐的總結和標準化。
SOI 的好處。SOI 繼承和發展了傳統的 EAI,比較而言,SOI 的好處在于:
2. SOI解決方案
2.1. SOI解決方案的要素
通常,完整的SOI 解決方案包括如下要素:
IBM的 Websphere 業務集成參考架構(見圖1,以下稱參考架構)是典型的以服務為中心的企業集成架構,本文接下來的討論都將以此參考架構為背景進行。
以服務為中心的企業集成采用"關注點分離"(Separation of Concern)的方法規劃企業集成中的各種架構元素,同時從服務視角規劃每種架構元素提供的服務,以及服務如何被組合在一起完成某種類型的集成。這里架構元素提供的服務既包括狹義的服務(WSDL描述),也包括廣義的服務(某種能力)。從服務為中心的視角看來,企業集成的架構按圖1所示的方式劃分為六大類:
2.2. 連接服務 - 企業服務總線
企業服務總線(Enterprise Service Bus),以下簡稱ESB, 是過去消息中間件的發展,ESB 采用了"總線"這樣一種模式來管理和簡化應用之間的集成拓撲結構,以廣為接受的開放標準為基礎來支持應用之間在消息、事件和服務的級別上動態地互聯互通。
ESB 的基本特征和能力包括:描述服務的元數據和服務注冊管理;在服務請求者和提供者之間傳遞數據,以及對這些數據進行轉換的能力,并支持由實踐中總結出來的一些模式如同步模式,異步模式等;發現、路由、匹配和選擇的能力,以支持服務之間的動態交互,解耦服務請求者和服務提供者。高級一些的能力,包括對安全的支持、服務質量保證、可管理性和負載平衡等。
ESB 所提供的基于標準的連接服務,將應用中實現的功能或者數據資源轉化為服務請求者能以標準的方式來訪問的服務;當請求者來請求一個服務時,ESB 中這種中介轉化過程可能簡單到什么也沒有,也可能要很復雜的中介服務支持,包括動態地查找、選擇一個服務,消息的傳遞、路由和轉換、協議的轉換。這種中介過程,是 ESB 借助于服務注冊管理以及問題域相關的知識(如業務方面的一些規則等)自動進行的,不需要服務請求者和提供者介入,從而實現了解耦服務請求者和提供者的技術基礎,使得服務請求者不需要關心服務提供者的位置和具體實現技術,雙方在保持接口不變的情況下,各自可以獨立地演變。
所以,ESB 采用總線結構模式簡化了應用之間的集成拓撲,通過源自實踐的模式,提供了基于標準的通用連接服務,使得服務請求者和服務提供者之間可以以松散耦合、動態的方式交互,從而在不同層次上使得SOI 解決方案是一個松散耦合、靈活的架構。
需要注意的是,ESB 是一種架構模式,不能簡單地等同于特定的技術或者產品,但實現 ESB 確實需要各種產品在運行時和工具方面的支持。IBM 有很好的產品支持,運行時支持包括 WebSphere ESB 和 WebSphere Message Broker;而工具方面 IBM 則有 WebSphere Integration Developer,支持用戶以圖形界面的方式來完成相關的開發任務,如發布服務,使用各種模式,轉換消息,定義路由等等。
2.3. 業務邏輯服務
整合已有應用 - 應用和信息訪問服務。已有應用和信息是實現業務邏輯和業務數據的重要資產。通過集成已有的應用和信息將可以在已有企業系統上實現更多增值服務,所以集成已有應用和信息是企業集成中重要的一環。
以服務為中心的企業集成通過應用和信息訪問服務(Application and Information Aclearcase/" target="_blank" >ccess Service)來實現對已有應用和信息集成。它通過各種適配器技術將已有系統中的業務邏輯和業務數據包裝成企業服務總線支持的協議和數據格式。通過企業服務總線,這些被包裝起來的業務邏輯和數據就可以方便的參與上層的業務流程,從而已有應用系統的能力可以得以繼續發揮。這里的已有應用包括遺留應用、預包裝的應用和各種企業數據存儲。在參考架構中,主要有兩類訪問服務:
整合新開發的應用 - 業務應用服務。和已有應用和數據類似,新開發的應用也作為重要的業務邏輯成為企業集成的目標。以服務為中心的企業集成通過業務應用服務(Business Application Service)實現新應用集成。一方面業務應用服務幫助程序員開發可重用、可維護和靈活的業務邏輯組件,另一方面,它也提供運行時的集成提供對業務邏輯組件的自治管理。在參考架構中,有三類業務應用服務:
整合客戶和業務伙伴(B2C/B2B)-伙伴服務。以服務為中心的企業集成通過伙伴服務提供與企業外部的B2B的集成能力。因為業務伙伴系統的異構性,伙伴服務需要支持多種傳輸協議和數據格式。在參考架構中,提供如下服務:
共2頁: 1 [2] 下一頁 |