體系結(jié)構(gòu)中的集成需求
討論至此,集成已限定為通過基于組件的服務進行的應用程序的集成,但是集成這個主題比這要寬泛得多。在估計一個體系結(jié)構(gòu)的需求時,必須考慮一些集成的類型或“方式”。您必須考慮如下幾方面:
- 應用程序集成
- 終端用戶界面集成
- 應用程序連接
- 流程集成
- 信息集成
-
構(gòu)建集成開發(fā)模型。
終端用戶界面集成涉及如何集成特定用戶訪問的全部應用程序和服務來提供可用、高效、一致的界面。它是一個正在發(fā)展的主題,而新的發(fā)展在近期將主要取決于 Portal 服務器使用方面的進展。雖然 Portlet 已經(jīng)可以通過 Web 服務調(diào)用本地服務組件,但是新技術(shù)(比如用戶遠程 Portlet 的 Web 服務)將使內(nèi)容和應用程序提供者能夠創(chuàng)建交互式服務,這些服務在因特網(wǎng)上可以通過 Portal 即插即用,從而為很多新的集成提供了可能。
應用程序連接是一種集成方式,它涉及體系結(jié)構(gòu)必須支持的所有類型的連接。在一個層次上,這意味著數(shù)據(jù)的同步和異步通信、路由、轉(zhuǎn)換和高速分布、以及網(wǎng)關(guān)和協(xié)議轉(zhuǎn)換器等等。而在另一個層次上,它還與輸入和輸出或源(sources)和匯(sinks)的虛擬化有關(guān),正如您在 EWA 的通道(Channel)和協(xié)議轉(zhuǎn)換程序(Protocol Handlers)中所看到的。這里的問題在于數(shù)據(jù)移入、移出以及在實現(xiàn)體系結(jié)構(gòu)的框架中移動的方式。
流程集成涉及開發(fā)映射到業(yè)務流程和為業(yè)務流程提供解決方案的計算流程、將應用程序集成到流程以及集成一些流程與其他一些流程。雖然第一項需求可能看起來似乎無關(guān)緊要,不過就是體系結(jié)構(gòu)提供一個模擬基本業(yè)務問題的環(huán)境,但是,如果在這一層中不進行充分的分析,體系結(jié)構(gòu)的任何實現(xiàn)注定都將失敗,不管它采用的技術(shù)是多么的巧妙。將應用程序集成到流程可能包括企業(yè)中的應用程序,也可能涉及調(diào)用遠程系統(tǒng)中的應用程序或服務,而這些遠程系統(tǒng)多半屬于業(yè)務合作伙伴。同樣地,流程層集成可能涉及整個流程的集成而不僅僅是來自外部源的單個服務,比如供應鏈管理或金融服務這樣橫跨多個機構(gòu)的流程。為了滿足這樣的應用程序和流程的集成需求,可以使用像 BPEL4WS 這樣的技術(shù),而應用程序框架也可以使用程序配置 Scheme(比如在 EWA 中看到的)。實際上,可以在底層使用 BPEL4WS 來構(gòu)造一個高層配置 Scheme,然后通過一個引擎來驅(qū)動,這個引擎不僅提供流管理,而且還提供其他功能。然而,在構(gòu)建這一切之前,您應該首先了解體系結(jié)構(gòu)方面的需求,然后,再構(gòu)建合適的基礎架構(gòu)。
信息集成是一個流程,其作用在于為所有需要它的應用程序提供對企業(yè)中全部數(shù)據(jù)的一致訪問,而不管這些應用程序是以什么形式需要它,也不受數(shù)據(jù)的格式、來源或位置的限制。在實現(xiàn)時,這項需求可能包括 適配器和轉(zhuǎn)換引擎,不過它通常要比這復雜。而關(guān)鍵的概念往往是數(shù)據(jù)的虛擬化,這可能包括 數(shù)據(jù)總線(Data Bus)的開發(fā),企業(yè)中的所有應用程序都通過標準服務或接口從數(shù)據(jù)總線中請求數(shù)據(jù)。因此,不管數(shù)據(jù)是來自電子數(shù)據(jù)表、本地文件、SQL 或 DL/I 數(shù)據(jù)庫,還是來自內(nèi)存中的數(shù)據(jù)存儲,都可以將數(shù)據(jù)提供給應用程序。永久存儲中的數(shù)據(jù)格式可能還不為應用程序所知。應用程序更不知道管理數(shù)據(jù)的操作系統(tǒng),因而訪問 AIX 或 Linux 系統(tǒng)中的本地文件的方式與這些文件放在 Windows、OS/2、ZOS 或其他系統(tǒng)中時訪問它們的方式相同。同樣地,數(shù)據(jù)的位置也是透明的;由于它是由共同的服務提供的,所以是由訪問服務而不是由應用程序來負責查詢數(shù)據(jù)(無論是本地的還是遠程的),然后按照請求的格式提供數(shù)據(jù)。
應用程序開發(fā)環(huán)境的最后一項需求是,必須考慮可能在企業(yè)中實現(xiàn)的集成的所有方式和層次,并且為它們的開發(fā)和部署做好準備。要想真正做到健壯,開發(fā)環(huán)境必須包括(和執(zhí)行)一種方法來明確地規(guī)定如何設計和構(gòu)建服務和組件,以便促進重用、消除冗余和簡化測試、部署和維護。
上面列出的所有集成方式在任何企業(yè)中都有一定程度的體現(xiàn),盡管在某些情況下它們可能是簡化的,或者沒有明確地進行定義;因而,在著手設計新的體系結(jié)構(gòu)框架時,您必須全面的考慮它們。特定的 IT 環(huán)境可能只有很少的數(shù)據(jù)源類型,因此,消息集成可能會很簡單。同樣地,應用程序連接的作用域可能也很有限。雖然如此,如果希望框架能夠隨著企業(yè)的成長和變化成功地繼續(xù)得以保持,則框架中的集成功能仍然必須由服務提供,而不是由特定的應用程序來完成。