JCA: Java步入應(yīng)用集成時(shí)代(作者:不詳) ![]() 要支持JCA的事務(wù)和安全功能需要目標(biāo)程序通過(guò)資源適配器為程序的訪(fǎng)問(wèn)暴露足夠的事務(wù)和安全界面.過(guò)時(shí)的應(yīng)用程序或者是應(yīng)用程序平臺(tái)如果不經(jīng)過(guò)加強(qiáng)則有可能只能部分的符合JCA標(biāo)準(zhǔn). 許多的適配軟件很可能只能支持最小的"無(wú)事務(wù)"選項(xiàng)而且可能只能擁有一個(gè)部分支持目標(biāo)環(huán)境的安全結(jié)構(gòu)的安全界面. 最小化的資源適配器也許只能改進(jìn)那些在JCA出現(xiàn)以前由不同的銷(xiāo)售商開(kāi)發(fā)的非標(biāo)準(zhǔn)適配器.在目前的開(kāi)發(fā)階段,JCA與更現(xiàn)代的和更開(kāi)放的目標(biāo)應(yīng)用程序或環(huán)境結(jié)合的時(shí)候最能體會(huì)它的威力.到2004年,在軟件集成項(xiàng)目中少于百分之三十的軟件包和遺留下來(lái)的適配軟件將使用JCA, 而且擁有完全功能的將少于百分之十--包括對(duì)事務(wù)的支持,完全的安全性,以及CCI(0.7 的可能性). 資源適配器用系統(tǒng)界面來(lái)與底層的J2EE應(yīng)用服務(wù)器交互.資源適配器通過(guò)JCA系統(tǒng)界面將繁雜的細(xì)節(jié)處理過(guò)程交給底層的應(yīng)用服務(wù)器,從而滿(mǎn)足可伸縮性,集成性,和安全性方面的要求,上層的應(yīng)用程序假設(shè)底層的應(yīng)用服務(wù)器知道如何處理對(duì)JCA系統(tǒng)界面調(diào)用.因此,應(yīng)用服務(wù)器銷(xiāo)售商聲明支持JCA,其本身并不保證能夠提供對(duì)應(yīng)用程序集成的支持除非銷(xiāo)售商還提供(通過(guò)合作或是獨(dú)立開(kāi)發(fā))預(yù)先開(kāi)發(fā)的JCA資源適配器. JCA 通用客戶(hù)界面是調(diào)用程序(用戶(hù)程序或是集成中間件)使用的一套應(yīng)用編程界面(API).JCA CCI被用做對(duì)資源適配器的標(biāo)準(zhǔn)訪(fǎng)問(wèn)過(guò)程,不管實(shí)際的目標(biāo)程序或是環(huán)境是如何工作的.因?yàn)樗械馁Y源適配器支持相同的一套AIP,所有的調(diào)用程序和外界程序間的交互過(guò)程就形成了標(biāo)準(zhǔn).但是對(duì)CCI支持在JCA 1.0中是可遷的.許多的資源適配器會(huì)暴露非標(biāo)準(zhǔn)的但是滿(mǎn)足特定目標(biāo)或平臺(tái)訪(fǎng)問(wèn)方式的客戶(hù)界面. CCI與企業(yè)版JavaBeans(EJB)的調(diào)用界面是不同的,而且JCA 資源適配器的封裝方式也不盡相同;JCA的Java編譯文件(JAR)與EJB JAR文件有不同的設(shè)計(jì)方式.所以CCI代表了J2EE范圍內(nèi)一個(gè)新的專(zhuān)門(mén)的編程模型;它是復(fù)雜的而且需要專(zhuān)門(mén)的技術(shù)知識(shí).但是實(shí)際使用CCI的開(kāi)發(fā)者的大部分很可能將是工具軟件銷(xiāo)售商(例如WebGain和IBM Visual Age)以及集成中間件生產(chǎn)商(例如WebMethods和TIBCO Software),而不是企業(yè)應(yīng)用開(kāi)發(fā)者. 要支持JCA, 集成中間件銷(xiāo)售商一般不得不采用一整套J2EE平臺(tái),就象JCA設(shè)計(jì)需要的那樣(也就是"managed"選項(xiàng)).但它們中的大多數(shù)還沒(méi)有這樣的能力,所以可能只是實(shí)現(xiàn)JCA標(biāo)準(zhǔn)的功能弱一些的"unmanaged"選項(xiàng).這種情況很可能拖延集成中間件銷(xiāo)售商對(duì)JCA全部標(biāo)準(zhǔn)的采用,因而也就會(huì)拖延對(duì)整個(gè)JCA的采用.到2004年,所有主導(dǎo)的集成中間件銷(xiāo)售商都將通過(guò)獨(dú)立開(kāi)發(fā)或是合作在它們的產(chǎn)品里捆綁進(jìn)一個(gè)J2EE應(yīng)用服務(wù)器(0.7的可能性). JCA 對(duì) Web服務(wù)(Web services) 資源適配器的代碼是復(fù)雜的,需要對(duì)目標(biāo)平臺(tái)內(nèi)部結(jié)構(gòu)的深刻了解和程序設(shè)計(jì)方面高級(jí)的知識(shí).因此,外部應(yīng)用程序(而不是調(diào)用程序的開(kāi)發(fā)者)銷(xiāo)售商將開(kāi)發(fā)大部分的資源適配器.所以,套裝軟件銷(xiāo)售商和運(yùn)行環(huán)境銷(xiāo)售商對(duì)它的采用程度將決定整個(gè)工業(yè)對(duì)JCA的接受程序.目前,很少有銷(xiāo)售商已經(jīng)開(kāi)始(并己決定了發(fā)布時(shí)間)致力于為它們的程序提供JCA資源適配器.雖然我們可以預(yù)見(jiàn)在未來(lái)的六個(gè)月內(nèi)還會(huì)有類(lèi)似的宣稱(chēng)出現(xiàn),但是銷(xiāo)售商必須決定是否支持JCA或者Web服務(wù)描述語(yǔ)言(WSDL)作為它們標(biāo)準(zhǔn)的外部訪(fǎng)問(wèn)界面. JCA在功能上比Web服務(wù)要豐富,但是它發(fā)布起來(lái)更難而且限制了銷(xiāo)售商只能從Java環(huán)境訪(fǎng)問(wèn)它們.Web服務(wù)界面能夠自動(dòng)的包括對(duì)Java,微軟,和其它結(jié)構(gòu)的支持.一個(gè)可能的折衷是銷(xiāo)售商同時(shí)提供對(duì)JCA和Web服務(wù)界面的支持,也許使用Web服務(wù)來(lái)打包JCA CCI.在未來(lái)的版本里,JCA很可能擴(kuò)展它對(duì)XML和松偶合訪(fǎng)問(wèn)的支持.未來(lái)的JCA版本還可能提供對(duì)CCI和Web服務(wù)的標(biāo)準(zhǔn)化的支持.因此,JCA將為對(duì)JCA資源適配器的緊耦合(JCA)和松耦合提供協(xié)議. 未來(lái)對(duì)適配器的改進(jìn)要求 JCA要求資源適配器運(yùn)行在J2EE容器里;非Java目標(biāo)程序的本地適配器是不被支持的.通常,將適配器和目標(biāo)應(yīng)用程序放在一起能夠提高集成度和事務(wù)交換的能力.要達(dá)到這個(gè)目的,用戶(hù)將不得不走到標(biāo)準(zhǔn)的前面去.開(kāi)發(fā)一個(gè)外部的非JCA適配器然后為它開(kāi)發(fā)一個(gè)JCA包容器是可能的.但是這種分布的適配器將不那么好管理而且不太可能實(shí)現(xiàn)JCA標(biāo)準(zhǔn)的完整功能. JCA標(biāo)準(zhǔn)沒(méi)有解決一個(gè)資源適配器是應(yīng)該總是代表整個(gè)目標(biāo)環(huán)境(3270 CICS)還是代表一個(gè)或多個(gè)外部程序的功能(例如這樣的功能,"從一個(gè)3270 CICS 應(yīng)用程序獲取客戶(hù)信息").復(fù)合資源適配器--那些為幾個(gè)外部環(huán)境(例如AS/400和R/3)--則連提都沒(méi)有提到.當(dāng)前的應(yīng)用集成的實(shí)際顯示一個(gè)適配器的功能范圍可以是"瘦"或者含有很多的技術(shù)而在商業(yè)邏輯方面變得"胖"而笨重.對(duì)大多數(shù)集成項(xiàng)目來(lái)說(shuō)關(guān)鍵性的異步集成方式也沒(méi)有出現(xiàn)在JCA 1.0里. 當(dāng)實(shí)際采用JCA的時(shí)候這些問(wèn)題就會(huì)出現(xiàn)而且有可能需要在JCA未來(lái)的版本里做進(jìn)一步的擴(kuò)展和明確.制定JCA 2.0的工作已經(jīng)開(kāi)始. 應(yīng)用集成更大的一幅畫(huà)面 JCA的范圍被限制在適配器技術(shù)里,這相對(duì)于整個(gè)應(yīng)用集成平臺(tái)來(lái)說(shuō)是一個(gè)小部分.許多應(yīng)用集成的需求和方案還沒(méi)有包括在J2EE里.它不支持語(yǔ)義數(shù)據(jù)傳輸,業(yè)務(wù)進(jìn)程管理,異步集成(JCA 的目標(biāo)只有請(qǐng)求/應(yīng)答 式的適配器風(fēng)格),消息倉(cāng)庫(kù)和集成系統(tǒng)管理.JCA完全面向?qū)ν綇?fù)合應(yīng)用的支持,支異步應(yīng)用程序集成視而不見(jiàn).要滿(mǎn)足這些要求,到2004年附加的與集成有關(guān)的標(biāo)準(zhǔn)將被添加進(jìn)J2EE(0.8的可能性). 總結(jié) JCA是對(duì)J2EE顯著的擴(kuò)展,但它沒(méi)有能夠適應(yīng)所有應(yīng)用集成項(xiàng)目的需求. 不管JCA如何,J2EE的用戶(hù)在建立它們的集成內(nèi)構(gòu)的時(shí)候?qū)⒗^續(xù)部分的依賴(lài)專(zhuān)有解決方案. |
|
|
來(lái)自: 五虎斷門(mén)刀 > 《我的圖書(shū)館》