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