利用JMS和JCA實(shí)現(xiàn)應(yīng)用之間的解偶 |
|
傳統(tǒng)的企業(yè)信息信息系統(tǒng)集成的方法是一種點(diǎn)到點(diǎn)的緊偶合集成。在這種集成方法中,每個(gè)系統(tǒng)都要知道與之相集成的系統(tǒng)的結(jié)構(gòu)和它們之間的通信方式,并且一個(gè)系統(tǒng)的改變將影響其它的相關(guān)系統(tǒng),如果一個(gè)系統(tǒng)被替換,則所有的集成接口也必須進(jìn)行更換。
更糟糕的是,由于企業(yè)業(yè)務(wù)邏輯分布在所有這些信息系統(tǒng)中,這種分散化的業(yè)務(wù)邏輯非常不便于管理和監(jiān)督,也不便于對(duì)業(yè)務(wù)過程進(jìn)行改進(jìn)。因此企業(yè)需要集成業(yè)務(wù)過程和系統(tǒng)的企業(yè)應(yīng)用集成架構(gòu)能夠?qū)崿F(xiàn)業(yè)務(wù)邏輯與應(yīng)用系統(tǒng)之間的解偶。 業(yè)務(wù)過程集成 業(yè)務(wù)過程通常是由事件驅(qū)動(dòng)的,事件就是由用戶行為、軟件和時(shí)間等引起的一些活動(dòng)。跨越多個(gè)異構(gòu)的應(yīng)用系統(tǒng)的業(yè)務(wù)過程的自動(dòng)化通常叫做業(yè)務(wù)過程集成。 解偶應(yīng)用 解偶應(yīng)用作為業(yè)務(wù)過程集成戰(zhàn)略的一部分,要求使不同的系統(tǒng)或者組件完全不必了解其他與之集成的系統(tǒng)或組件。解偶應(yīng)用包括: 消除點(diǎn)到點(diǎn)的通信和消息傳遞; 對(duì)消息的數(shù)據(jù)結(jié)構(gòu)的最少依賴; 集中化管理業(yè)務(wù)過程流; 發(fā)布/訂閱方式的消息傳遞 J2EE應(yīng)用服務(wù)器體系結(jié)構(gòu)是一種基于事件的應(yīng)用集成架構(gòu),在這種集成架構(gòu)中,發(fā)布/訂閱方式的消息傳遞是其中核心組件,它通過消除點(diǎn)到點(diǎn)的消息傳遞和通信方式提供了第一層的解偶。發(fā)布/訂閱消息傳遞是一種異步的消息傳遞技術(shù),使消息生產(chǎn)者和消費(fèi)者相解偶,從而允許多到多的通信。這種解偶使消息的發(fā)布/訂閱雙方根本不用知道對(duì)方是誰。在Java消息服務(wù)(JMS)中,不同的主題域、時(shí)間類型或其它相關(guān)意義的端點(diǎn)集合稱做主題。主題除了不是點(diǎn)到點(diǎn)的之外,其他特性與隊(duì)列的概念相似。企業(yè)集成架構(gòu)可以根據(jù)事件類型設(shè)計(jì)不同的主題,這就意味著消息的發(fā)布方和訂閱方可以不用了解其它組件而被加入。發(fā)布者和訂閱者的減少也是透明的,這樣的優(yōu)點(diǎn)是提供給新的系統(tǒng)一個(gè)展示能力的機(jī)會(huì),他可以與舊的系統(tǒng)并列運(yùn)行,直到其能夠完全代替舊的系統(tǒng)。 在發(fā)布/訂閱方式的消息傳遞中,一個(gè)系統(tǒng)的故障也不會(huì)給其他系統(tǒng)帶來太大的影響,因?yàn)槌掷m(xù)的消息和持久的訂閱者能夠?qū)⑾⑦M(jìn)行排隊(duì)指導(dǎo)故障系統(tǒng)恢復(fù)正常。 JMS使發(fā)布/訂閱簡(jiǎn)單和標(biāo)準(zhǔn)化,JMS在基于J2EE 1.2規(guī)范的應(yīng)用服務(wù)器中就已經(jīng)存在,因此也不需要使用專用的消息傳遞系統(tǒng)接口。 適配器 適配器是一種可配置的組件,實(shí)現(xiàn)事件的格式和內(nèi)容的轉(zhuǎn)換和解偶應(yīng)用。適配器提供了數(shù)據(jù)格式的封裝功能,例如:如果一個(gè)系統(tǒng)提供了一個(gè)CSV(Comma Separate Value)文件,通過多個(gè)適配器可以將其轉(zhuǎn)變成企業(yè)的XML標(biāo)準(zhǔn)的文件,然后進(jìn)行發(fā)布。適配器進(jìn)一步解偶了應(yīng)用,使他們不依賴于特定的數(shù)據(jù)格式。 連接器 連接器特指基于Java 連接器架構(gòu)(JCA:Java Connector Architecture)的源適配器,其在J2EE1.3規(guī)范中被定義。JCA為軟件供應(yīng)商定義了標(biāo)準(zhǔn)的能夠與J2EE1.3應(yīng)用服務(wù)器相集成的企業(yè)信息系統(tǒng)的標(biāo)準(zhǔn)API。JCA連接器提供了一個(gè)重要的能力,它使J2EE應(yīng)用服務(wù)器能夠集成任何使用JCA適配器的企業(yè)信息系統(tǒng),大大簡(jiǎn)化了異構(gòu)系統(tǒng)的集成。有了JCA,企業(yè)只要購買一個(gè)應(yīng)用系統(tǒng)的基于JCA規(guī)范的適配器就可以將企業(yè)應(yīng)用部署到J2EE服務(wù)器上,不用編寫任何代碼就可以實(shí)現(xiàn)與J2EE應(yīng)用服務(wù)器的集成。 工作流 目前,對(duì)工作流有很多不同的名稱,但是其基本的活動(dòng)方式與一個(gè)狀態(tài)機(jī)相同。系統(tǒng)設(shè)計(jì)者為業(yè)務(wù)過程配置不同的狀態(tài)和他們的遷移條件,事件觸發(fā)工作流從一個(gè)狀態(tài)向另一個(gè)狀態(tài)遷移,狀態(tài)遷移本身是一個(gè)重要的業(yè)務(wù)過程事件。工作流提供了以下方面的優(yōu)點(diǎn): 集中了業(yè)務(wù)過程流和流事件,增加了對(duì)發(fā)布/訂閱的影響; 在改變業(yè)務(wù)過程的定義時(shí),減小了對(duì)現(xiàn)有系統(tǒng)的沖擊; 使集成變成了對(duì)業(yè)務(wù)過程的定義,而不是系統(tǒng)之間數(shù)據(jù)的交換。 工作流現(xiàn)在還不是J2EE規(guī)范的一部分,實(shí)現(xiàn)工作流管理系統(tǒng)與J2EE服務(wù)器的集成只能使用專用的工作流管理軟件。 結(jié)論 所有的系統(tǒng)都必須最后實(shí)現(xiàn)完全的集成,傳統(tǒng)的戰(zhàn)術(shù)上的集成方法最終導(dǎo)致花費(fèi)大量的時(shí)間、金錢和系統(tǒng)缺乏柔性。使用業(yè)務(wù)過程管理架構(gòu)解偶應(yīng)用,同時(shí)集成業(yè)務(wù)過程是一個(gè)更好的解決方案。一個(gè)基于J2EE的集成架構(gòu)能夠集中化管理業(yè)務(wù)過程流和用JMS和JCA實(shí)現(xiàn)應(yīng)用的解偶。通過解偶應(yīng)用,業(yè)務(wù)過程的集成能夠大大降低成本,并且提供柔性的業(yè)務(wù)過程流,提高企業(yè)的集成優(yōu)勢(shì)。 |
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||