1. gzyueqian
      18078865874
      首頁 > 新聞中心 > > 正文

      如何使用 J2EE 連接器架構(gòu)實現(xiàn)企業(yè)應(yīng)用

      更新時間: 2007-07-23 10:22:02來源: 粵嵌教育瀏覽量:730

        JCA (J2EE 連接器架構(gòu),Java Connector Architecture)對J2EE標(biāo)準(zhǔn)集的重要補充。因為它注重的是將Java程序連接到非Java程序和軟件包中間件的開發(fā)。連接器特指基于Java連接器架構(gòu)的源適配器,其在J2EE1.3規(guī)范中被定義。JCA連接器同時提供了一個重要的能力,即它使J2EE應(yīng)用服務(wù)器能夠集成任何使用JCA適配器的企業(yè)信息系統(tǒng)(EIS),大大簡化了異構(gòu)系統(tǒng)的集成。有了JCA,企業(yè)只要購買一個基于JCA規(guī)范的適配器,就可以將企業(yè)應(yīng)用部署到J2EE服務(wù)器上,樣不用編寫任何代碼就可以實現(xiàn)與J2EE應(yīng)用服務(wù)器的集成。JCA還提供了一個應(yīng)用服務(wù)器和EIS連接的標(biāo)準(zhǔn)Java解決方案。
        
        JCA定義了一套標(biāo)準(zhǔn)的接口,用于讓連接器把兼容的應(yīng)用程序服務(wù)器無縫的整合起來。同時,定義的另一套標(biāo)準(zhǔn)接口允許客戶(或者應(yīng)用程序服務(wù)器的應(yīng)用程序主機)用一種統(tǒng)一的方法使用連接器。這樣,連接器對于跨應(yīng)用程序服務(wù)器就是可移植的,而客戶程序成為很輕便的連接器。
        
        JCA的目標(biāo)在于企業(yè)應(yīng)用程序集成方面,它提供的標(biāo)準(zhǔn)化體系結(jié)構(gòu)讓J2EE組件能夠?qū)Ξ悩?gòu)EIS進行“即插即用”的訪問,其中包括ERP、事務(wù)處理、老式數(shù)據(jù)庫系統(tǒng)等。
        
        JCA與EIS集成應(yīng)用

        在電子商務(wù)時代,具有因特網(wǎng)功能的業(yè)務(wù)應(yīng)用程序,以及在因特網(wǎng)上集成業(yè)務(wù)處理已經(jīng)成為各大廠商獲得競爭優(yōu)勢的基礎(chǔ)。不過在因特網(wǎng)經(jīng)濟之前,許多公司已經(jīng)在業(yè)務(wù)和管理信息應(yīng)用系統(tǒng)方面進行了大量的投入,如:
        
        ◆ 企業(yè)資源規(guī)劃(Enterprise Resource Planning,ERP)應(yīng)用,如SAP R/3和BAAN。
        
        ◆ 客戶關(guān)系管理(Customer Relationship Management,CRM)應(yīng)用,如Siebel和Clarify。
        
        ◆ 數(shù)據(jù)庫應(yīng)用程序,如DB2和Sybase。
        
        ◆ 大型事務(wù)處理應(yīng)用,如CICS。
        
        ◆ 老式數(shù)據(jù)庫系統(tǒng),如IBM公司的IMS。
        
        這些系統(tǒng)一般稱為企業(yè)信息系統(tǒng)(EIS ,Enterprise Information Systems)。EIS為整個企業(yè)提供信息基礎(chǔ)設(shè)施和服務(wù)。這些信息的形式可能是—個數(shù)據(jù)庫中的一組記錄、一個ERP中的業(yè)務(wù)對象、一個CRM系統(tǒng)的工作流對象,或者是一個事務(wù)處理應(yīng)用程序中的事務(wù)程序。
        
        在連接器出現(xiàn)之前,一些應(yīng)用程序服務(wù)器廠商為集成EIS系統(tǒng)提供了各種可自定義的適配器。這些適配器還提供了自定義的本機接口。但這些內(nèi)容很復(fù)雜,不易理解,并且因為它們試圖支持一種標(biāo)準(zhǔn)體系結(jié)構(gòu)而受到限制。其中一些具體的限制情況如下:
        
        ◆ EIS的應(yīng)用程序編程本身是專用的,而應(yīng)用系統(tǒng)的多樣性表明沒有適用于與開放式體系結(jié)構(gòu)集成的通用接口機制。
        
        ◆ 大型Web應(yīng)用程序要求在客戶、連接管理等方面具有高可用性和可擴展性。傳統(tǒng)情況下,客戶的數(shù)量及他們的活動連接在—個EIS中代價是昂貴的,并且自定義的適配器也缺乏應(yīng)用程序服務(wù)器提供的連接管理機制。
        
        ◆ 管理眾多后端應(yīng)用的安全性和分布式事務(wù)極其復(fù)雜并且缺乏可靠的機制。這意味著現(xiàn)在沒有標(biāo)準(zhǔn)的基礎(chǔ)設(shè)施解決方案來提供一個比較中性的安全性機制,也沒有對眾多EIS資源管理器的通用事務(wù)管理支持。這種情況對于EAI實現(xiàn)會帶來巨大的問題。
        
        考慮到上述難點,Su公司發(fā)布了JCA,以便為J2EE服務(wù)器與異構(gòu)EIS資源的集成提供一個標(biāo)準(zhǔn)的體系結(jié)構(gòu)。其主要目標(biāo)是,通過在一個一致的J2EE環(huán)境中定義一個通用的API及一組通用的服務(wù)來簡化開發(fā)過程。JCA為開發(fā)者提供了一種容易的辦法,以便把EIS與J2EE系統(tǒng)平臺組件無縫地集成起來。圖1顯示了一個帶有JCA的組件和EIS集成應(yīng)用的結(jié)構(gòu)圖。
        
        從圖1可看出,如果需要把一個基于J2EE的應(yīng)用程序與一個現(xiàn)有的EIS集成起來,所需做的就是把適當(dāng)?shù)腅IS連接器(一個遵守JCA規(guī)范的資源適配器,即Resource-adapter)安裝到應(yīng)用程序服務(wù)器上。安裝了這個適配器之后,我們可以開發(fā)J2EE組件,以便使用CCI( Common Client Interface,通用客戶接口)API與EIS接口。采用的方式與使用JDBC與關(guān)系數(shù)據(jù)庫接口相同。也就是說,通過采用非EIS專門化的編程而簡化開發(fā),并且所做配置與后端EIS完全獨立。

       

        Sun的想法是,所有應(yīng)用程序服務(wù)器廠商終都會實現(xiàn)JCA服務(wù),并且EIS廠商將實現(xiàn)遵守JCA規(guī)范的EIS資源適配器。通過支持JCA,所有遵守J2EE的應(yīng)用程序服務(wù)器都可以保證能夠處理眾多和異構(gòu)的EIS資源。因此,JCA既提高了J2EE應(yīng)用程序開發(fā)者的生產(chǎn)率,同時又通過J2EE提供一個可以擴展的集成方案,減少了開發(fā)成本,并且保護了在EIS系統(tǒng)中的現(xiàn)有投資。
        
        J2EE連接器體系結(jié)構(gòu)及其元素

        JCA是在一個遵守J2EE 1.3規(guī)范的應(yīng)用程序服務(wù)器上實現(xiàn)的,同時有一個由EIS廠商提供的遵守JCA的資源適配器。這個資源適配器在應(yīng)用程序服務(wù)器中是—個EIS專用的可插入J2EE組件,它提供了一個用于與基層EIS系統(tǒng)通信的接口。JCA定義了下列元素和服務(wù):
        
        ◆ 系統(tǒng)級合同(Contract)和服務(wù),定義了J2EE組件、應(yīng)用程序服務(wù)器提供者和EIS系統(tǒng)之間的標(biāo)準(zhǔn)接口。這些合同和服務(wù)是由J2EE服務(wù)器提供者實現(xiàn)的,并且也位于EIS廠商的資源適配器中。這些合同和服務(wù)的實現(xiàn)在應(yīng)用程序服務(wù)器與資源適配器的系統(tǒng)級角色和責(zé)任之間定義了一個邏輯劃分(不是物理劃分)。這樣就使J2EE服務(wù)器和資源適配器能夠彼此協(xié)作。不僅如此,它還使得一個遵守JCA規(guī)范的資源適配器可以插入到任何J2EE服務(wù)器中。
        
        ◆ JCA通用客戶接口(CCI),定義J2EE組件(如JSP、EJB)可以用于連接到EIS系統(tǒng)或者與之交互的一個客戶API。除了J2EE客戶組件之外,它還允許非管理的應(yīng)用程序(如Java applet和應(yīng)用程序客戶)使用一個遵守JCA的資源適配器與一個EIS集成。

        ◆ 打包和實施接口,允許各種EIS資源適配器插入J2EE應(yīng)用程序中。
        
        圖2顯示了J2EE連接器體系結(jié)構(gòu)和訪問EIS資源的組件。資源適配器很明顯被看作了JCA的基礎(chǔ)組件,因為它用作J2EE組件、應(yīng)用程序服務(wù)器和EIS系統(tǒng)的中央連接器。  

        在一個使用JCA的J2EE應(yīng)用程序框架中,EIS廠商提供了遵守JCA的資源適配器,并且CCI作為實現(xiàn)的組成部分。J2EE服務(wù)器廠商提供了支持JCA系統(tǒng)級合同的應(yīng)用程序服務(wù)器,從而使得這些資源適配器可以插入到應(yīng)用程序服務(wù)器,并且提供與基層EIS資源的連接能力。這樣就使J2EE應(yīng)用程序開發(fā)者可以使用CCI開發(fā)集成組件。
        
        JCA技術(shù)規(guī)范支持兩類環(huán)境,劃分的基礎(chǔ)是使用資源適配器的客戶應(yīng)用程序類型,這兩類環(huán)境為:
        
        ◆ 管理的環(huán)境 定義一個多層、具有Web能力、基于J2EE并且訪問EIS的應(yīng)用程序。這個應(yīng)用程序可以包含一個或者多個應(yīng)用程序組件(例如EJB、JSP網(wǎng)頁、servlet),它們都實現(xiàn)在各自的容器中。在JCA的上下文環(huán)境中,這些應(yīng)用程序被稱為是管理的應(yīng)用程序。
        
        ◆ 不管理的環(huán)境 連接器體系結(jié)構(gòu)支持Applet或者Java客戶應(yīng)用程序這樣的方式訪問EIS。典型情況下這是一個兩層體系結(jié)構(gòu),其中一個應(yīng)用程序客戶直接使用一個資源適配器庫。資源適配器為客戶提供了低級的事務(wù)和安全性處理。在一個JCA上下文環(huán)境中,這些應(yīng)用程序稱為不管理的應(yīng)用程序。
        
        資源適配器及其合同

        資源適配器包含一個EIS專用的庫(它可以用Java編寫或者用本機接口組件),并提供了與EIS的連接能力。在J2EE應(yīng)用程序服務(wù)器中,資源適配器運行在應(yīng)用程序服務(wù)器的地址空間中,并且管理著對基層EIS的連接。
        
        JCA要求所有遵守JCA的EIS資源適配器及J2EE應(yīng)用程序服務(wù)器支持系統(tǒng)級合同。JCA還推薦(但并不規(guī)定)所有的資源適配器都像對待它們的客戶API一樣支持CCI。這樣就為應(yīng)用程序開發(fā)、集成多個EIS提供了一個基于J2EE的解決方案,并且使EIS資源適配器“具有插入能力”,可以用于應(yīng)用程序服務(wù)器中,并與所有的系統(tǒng)級機制協(xié)作。
        
        一般情況下,在上下文環(huán)境中的一個合同就是在應(yīng)用程序各層之間一個簡單的責(zé)任陳述,這個應(yīng)用程序?qū)崿F(xiàn)了這些層之間的一個標(biāo)準(zhǔn)接口。根據(jù)JCA技術(shù)規(guī)范,資源適配器一般實現(xiàn)兩類合同。這兩類合同為:
        
        ◆ 應(yīng)用程序合同
        
        應(yīng)用程序合同定義了CCI API,通過這個API,—個J2EE客戶組件(例如一個EJB或者servlet)可以與基層EIS資源通信。
        
        ◆ 系統(tǒng)級合同
        
        系統(tǒng)級合同定義了一組系統(tǒng)合同,可讓資源適配器與應(yīng)用程序服務(wù)器鏈接起來。JCA技術(shù)規(guī)范為資源適配器和J2EE應(yīng)用程序服務(wù)器的實現(xiàn)定義了許多系統(tǒng)級合同。
        
        連接管理
        
        連接管理由服務(wù)合同表示,這個服務(wù)合同使—個應(yīng)用程序服務(wù)器能夠提供自己的服務(wù),以生成和管理與基層EIS資源進行連接的連接緩沖池。這樣就提供了一個可以擴展的連接管理設(shè)施以支持大量的客戶。
        
        事務(wù)管理
        
        這個合同把應(yīng)用程序服務(wù)器的事務(wù)處理能力擴充到了基層的EIS資源管理器。在JCA的上下文環(huán)境中,一個EIS資源管理器管理著一組共享的EIS資源以與事務(wù)處理。一個資源管理器可以管理XA事務(wù)和本地事務(wù)兩類事務(wù)。
        
        安全性管理
        
        這項服務(wù)讓開發(fā)者可以定義應(yīng)用程序服務(wù)器和EIS資源之間的安全性。有多種機制用于保護EIS不受未授權(quán)的訪問及其它安全性威脅,其中包括:
        
        1. 使用標(biāo)識符、驗證和授權(quán)機制;
        
        2. 應(yīng)用程序服務(wù)器和EIS資源之間實現(xiàn)安全通信,使用像Kerberos這樣的開放網(wǎng)絡(luò)通信安全協(xié)議,這樣可以為驗證和機密服務(wù)提供端對端的安全性;
        
        3. 啟用EIS專用的安全機制,J2EE服務(wù)器和EIS資源適配器之間的安全性合同,實際上把連接管理沿著安全性的方面進行了擴展。這種安全性合同提供了如下的一個EIS簽發(fā)(sign-on)機制:

        ◆ 把連接請求從資源權(quán)服務(wù); 適配器傳遞到J2EE應(yīng)用程序服務(wù)器,并且打開該服務(wù)器的驗證和授權(quán)服務(wù);

        ◆ 在安全性上下文環(huán)境中,把安全機密憑證信息從應(yīng)用程序服務(wù)器傳遞到資源適配器。

        通用客戶接口(CCI)

        CCI提供了一個簡單的方式來解決編寫基層EIS資源更復(fù)雜的、Java接口的問題。出現(xiàn)了CCI之后,這個問題已經(jīng)成為Java開發(fā)者和EIS廠商之間都知道的“集成問題”。通過在資源適配器中實現(xiàn)CCI,EIS廠商可以提供對它們的EIS產(chǎn)品的一個Java接口,它將在任何遵守J2EE 1.3規(guī)范的應(yīng)用程序服務(wù)器上運行。

        CCI為J2EE應(yīng)用程序組件定義了一個獨立于EIS的客戶API,它為運行與EIS相關(guān)的查詢和EIS事務(wù)處理定義了遠(yuǎn)程功能調(diào)用接口,還可以用于獲得結(jié)果。

        CCI為J2EE應(yīng)用程序服務(wù)器提供了功能調(diào)用,它通過一個JCA資源適配器提供的組件,生成和管理與一個EIS資源的連接,執(zhí)行與一個EIS資源有關(guān)的操作。

        JCA技術(shù)規(guī)范推薦,CCI應(yīng)該形成更豐富功能的,并且成為一個由EIS資源適配器廠商提供的更豐富的編程模型,而不是成為多數(shù)應(yīng)用程序開發(fā)者使用的API。JCA技術(shù)規(guī)范還推薦,所有EIS資源適配器應(yīng)把CCI作為它們的客戶API實現(xiàn),同時它仍然要求這些資源適配器提供與J2EE應(yīng)用程序服務(wù)器相關(guān)的系統(tǒng)合同。需要注意的是,一個資源適配器還可以選擇與CCI不同的附加客戶API,類似于在JDBC實現(xiàn)中可以使用廠商提供的客戶API一樣。使用CCI極大地提高了開發(fā)者的生產(chǎn)率,減少了系統(tǒng)集成的成本,使代碼具有可移植性,應(yīng)用程序可以擴展,以及良好的可維護性。

        CCI被分成四部分(見表1)。所有的具體CCI類和接口在javax.resource.cci程序包都可以方便地找到。

        表1 CCI接口與類

        資源適配器的打包和實施

        JCA定義了打包和實施接口,所以各種資源適配器可以很容易地以一種模塊化和可移植的方式,插入一個遵守J2EE規(guī)范的應(yīng)用程序服務(wù)器。這種模塊稱為資源適配器模塊,它與J2EE應(yīng)用程序模塊相似,可以包括Web和EJB組件。

        圖3顯示出一個資源適配器模塊的打包和實施過程,這個模塊將用于連接一個J2EE應(yīng)用程序和一個EIS資源。典型情況下這個過程與在一個J2EE容器中實施EJB或Web組件相似。一個資源模塊的打包和實施過程如下:

        ◆ EIS資源適配器提供者(通常是EIS廠商)開發(fā)一組Java接口和實用程序類作為資源適配器實現(xiàn)的組成部分。這些Java類實現(xiàn)了JCA合同和資源適配器提供的EIS專門功能。

        ◆ Java類及資源適配器提供者提供的本機庫(如果可用)被打包,同時還有一個實施描述符,構(gòu)成一個資源適配器模塊(RAR文件),與其它J2EE組件實施描述符類似, 資源適配器模塊的實施描述符定義了資源適配器提供者與負(fù)責(zé)資源適配器的實施者之間的服務(wù)合同屬性。

        ◆ 在實施過程中,應(yīng)用程序?qū)嵤┱咴谝粋€應(yīng)用程序服務(wù)器上安裝一個資源適配器模塊,然后利用J2EE應(yīng)用程序服務(wù)器進行配置,并且確定基層EIS環(huán)境目標(biāo)。

        一個應(yīng)用程序的資源適配器模塊打包和實施過程類似于其它J2EE打包和實施過程,特別是與Web和EJB組件相似。但是,在打包和實施資源適配器中涉及到的角色和責(zé)任與其它J2EE組件的相應(yīng)過程稍有不同。資源適配器打包的一個EIS資源適配器就是一個包含在一個RAR檔案文件中的J2EE服務(wù)器組件。它可以在一個目錄中準(zhǔn)備一個或者多個資源適配器,并且把它們打包成.rar文件。 

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 伊人久久综合狼伊人久久 | 欧美三级中文字幕在线观看 | 亚洲欧美自拍另类欧美亚洲中文字 | 在线精品亚洲一区二区小说 | 欧美一区二区三区精品日韩 | 久久免费最新免费视频 |