日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何使用JCA (J2EE 连接器架构)实现企业应用--转载

發(fā)布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用JCA (J2EE 连接器架构)实现企业应用--转载 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JCA (J2EE 連接器架構(gòu),Java Connector Architecture)是對J2EE標準集的重要補充。因為它注重的是將Java程序連接到非Java程序和軟件包中間件的開發(fā)。連接器特指基于Java連接器架構(gòu)的源適配器,其在J2EE1.3規(guī)范中被定義。JCA連接器同時提供了一個重要的能力,即它使J2EE應用服務器能夠集成任何使用JCA適配器的企業(yè)信息系統(tǒng)(EIS),大大簡化了異構(gòu)系統(tǒng)的集成。有了JCA,企業(yè)只要購買一個基于JCA規(guī)范的適配器,就可以將企業(yè)應用部署到J2EE服務器上,這樣不用編寫任何代碼就可以實現(xiàn)與J2EE應用服務器的集成。JCA還提供了一個應用服務器和EIS連接的標準Java解決方案。

  JCA定義了一套標準的接口,用于讓連接器把兼容的應用程序服務器無縫的整合起來。同時,定義的另一套標準接口允許客戶(或者應用程序服務器的應用程序主機)用一種統(tǒng)一的方法使用連接器。這樣,連接器對于跨應用程序服務器就是可移植的,而客戶程序成為很輕便的連接器。

  JCA的目標在于企業(yè)應用程序集成方面,它提供的標準化體系結(jié)構(gòu)讓J2EE組件能夠?qū)Ξ悩?gòu)EIS進行“即插即用”的訪問,其中包括ERP、事務處理、老式數(shù)據(jù)庫系統(tǒng)等。

  JCA與EIS集成應用

  在電子商務時代,具有因特網(wǎng)功能的業(yè)務應用程序,以及在因特網(wǎng)上集成業(yè)務處理已經(jīng)成為各大廠商獲得競爭優(yōu)勢的基礎(chǔ)。不過在因特網(wǎng)經(jīng)濟之前,許多公司已經(jīng)在業(yè)務和管理信息應用系統(tǒng)方面進行了大量的投入,如:

  ◆ 企業(yè)資源規(guī)劃(Enterprise Resource Planning,ERP)應用,如SAP R/3和BAAN。

  ◆ 客戶關(guān)系管理(Customer Relationship Management,CRM)應用,如Siebel和Clarify。

  ◆ 數(shù)據(jù)庫應用程序,如DB2和Sybase。

  ◆ 大型事務處理應用,如CICS。

  ◆ 老式數(shù)據(jù)庫系統(tǒng),如IBM公司的IMS。

  這些系統(tǒng)一般稱為企業(yè)信息系統(tǒng)(EIS ,Enterprise Information Systems)。EIS為整個企業(yè)提供信息基礎(chǔ)設(shè)施和服務。這些信息的形式可能是—個數(shù)據(jù)庫中的一組記錄、一個ERP中的業(yè)務對象、一個CRM系統(tǒng)的工作流對象,或者是一個事務處理應用程序中的事務程序。

  在連接器出現(xiàn)之前,一些應用程序服務器廠商為集成EIS系統(tǒng)提供了各種可自定義的適配器。這些適配器還提供了自定義的本機接口。但這些內(nèi)容很復雜,不易理解,并且因為它們試圖支持一種標準體系結(jié)構(gòu)而受到限制。其中一些具體的限制情況如下:

  ◆ EIS的應用程序編程本身是專用的,而應用系統(tǒng)的多樣性表明沒有適用于與開放式體系結(jié)構(gòu)集成的通用接口機制。

  ◆ 大型Web應用程序要求在客戶、連接管理等方面具有高可用性和可擴展性。傳統(tǒng)情況下,客戶的數(shù)量及他們的活動連接在—個EIS中代價是昂貴的,并且自定義的適配器也缺乏應用程序服務器提供的連接管理機制。

  ◆ 管理眾多后端應用的安全性和分布式事務極其復雜并且缺乏可靠的機制。這意味著現(xiàn)在沒有標準的基礎(chǔ)設(shè)施解決方案來提供一個比較中性的安全性機制,也沒有對眾多EIS資源管理器的通用事務管理支持。這種情況對于EAI實現(xiàn)會帶來巨大的問題。

  考慮到上述難點,Su公司發(fā)布了JCA,以便為J2EE服務器與異構(gòu)EIS資源的集成提供一個標準的體系結(jié)構(gòu)。其主要目標是,通過在一個一致的J2EE環(huán)境中定義一個通用的API及一組通用的服務來簡化開發(fā)過程。JCA為開發(fā)者提供了一種容易的辦法,以便把EIS與J2EE系統(tǒng)平臺組件無縫地集成起來。圖1顯示了一個帶有JCA的組件和EIS集成應用的結(jié)構(gòu)圖。

  從圖1可看出,如果需要把一個基于J2EE的應用程序與一個現(xiàn)有的EIS集成起來,所需做的就是把適當?shù)腅IS連接器(一個遵守JCA規(guī)范的資源適配器,即Resource-adapter)安裝到應用程序服務器上。安裝了這個適配器之后,我們可以開發(fā)J2EE組件,以便使用CCI( Common Client Interface,通用客戶接口)API與EIS接口。采用的方式與使用JDBC與關(guān)系數(shù)據(jù)庫接口相同。也就是說,通過采用非EIS專門化的編程而簡化開發(fā),并且所做配置與后端EIS完全獨立。



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

  J2EE連接器體系結(jié)構(gòu)及其元素

  JCA是在一個遵守J2EE 1.3規(guī)范的應用程序服務器上實現(xiàn)的,同時有一個由EIS廠商提供的遵守JCA的資源適配器。這個資源適配器在應用程序服務器中是—個EIS專用的可插入J2EE組件,它提供了一個用于與基層EIS系統(tǒng)通信的接口。JCA定義了下列元素和服務:

  ◆ 系統(tǒng)級合同(Contract)和服務,定義了J2EE組件、應用程序服務器提供者和EIS系統(tǒng)之間的標準接口。這些合同和服務是由J2EE服務器提供者實現(xiàn)的,并且也位于EIS廠商的資源適配器中。這些合同和服務的實現(xiàn)在應用程序服務器與資源適配器的系統(tǒng)級角色和責任之間定義了一個邏輯劃分(不是物理劃分)。這樣就使J2EE服務器和資源適配器能夠彼此協(xié)作。不僅如此,它還使得一個遵守JCA規(guī)范的資源適配器可以插入到任何J2EE服務器中。

  ◆ JCA通用客戶接口(CCI),定義J2EE組件(如JSP、EJB)可以用于連接到EIS系統(tǒng)或者與之交互的一個客戶API。除了J2EE客戶組件之外,它還允許非管理的應用程序(如Java applet和應用程序客戶)使用一個遵守JCA的資源適配器與一個EIS集成。

  ◆ 打包和實施接口,允許各種EIS資源適配器插入J2EE應用程序中。

  圖2顯示了J2EE連接器體系結(jié)構(gòu)和訪問EIS資源的組件。資源適配器很明顯被看作了JCA的基礎(chǔ)組件,因為它用作J2EE組件、應用程序服務器和EIS系統(tǒng)的中央連接器。



  在一個使用JCA的J2EE應用程序框架中,EIS廠商提供了遵守JCA的資源適配器,并且CCI作為實現(xiàn)的組成部分。J2EE服務器廠商提供了支持JCA系統(tǒng)級合同的應用程序服務器,從而使得這些資源適配器可以插入到應用程序服務器,并且提供與基層EIS資源的連接能力。這樣就使J2EE應用程序開發(fā)者可以使用CCI開發(fā)集成組件。

  JCA技術(shù)規(guī)范支持兩類環(huán)境,劃分的基礎(chǔ)是使用資源適配器的客戶應用程序類型,這兩類環(huán)境為:

  ◆ 管理的環(huán)境 定義一個多層、具有Web能力、基于J2EE并且訪問EIS的應用程序。這個應用程序可以包含一個或者多個應用程序組件(例如EJB、JSP網(wǎng)頁、servlet),它們都實現(xiàn)在各自的容器中。在JCA的上下文環(huán)境中,這些應用程序被稱為是管理的應用程序。

  ◆ 不管理的環(huán)境 連接器體系結(jié)構(gòu)支持Applet或者Java客戶應用程序這樣的方式訪問EIS。典型情況下這是一個兩層體系結(jié)構(gòu),其中一個應用程序客戶直接使用一個資源適配器庫。資源適配器為客戶提供了低級的事務和安全性處理。在一個JCA上下文環(huán)境中,這些應用程序稱為不管理的應用程序。

  資源適配器及其合同

  資源適配器包含一個EIS專用的庫(它可以用Java編寫或者用本機接口組件),并提供了與EIS的連接能力。在J2EE應用程序服務器中,資源適配器運行在應用程序服務器的地址空間中,并且管理著對基層EIS的連接。

  JCA要求所有遵守JCA的EIS資源適配器及J2EE應用程序服務器支持系統(tǒng)級合同。JCA還推薦(但并不規(guī)定)所有的資源適配器都像對待它們的客戶API一樣支持CCI。這樣就為應用程序開發(fā)、集成多個EIS提供了一個基于J2EE的解決方案,并且使EIS資源適配器“具有插入能力”,可以用于應用程序服務器中,并與所有的系統(tǒng)級機制協(xié)作。

  一般情況下,在上下文環(huán)境中的一個合同就是在應用程序各層之間一個簡單的責任陳述,這個應用程序?qū)崿F(xiàn)了這些層之間的一個標準接口。根據(jù)JCA技術(shù)規(guī)范,資源適配器一般實現(xiàn)兩類合同。這兩類合同為:

  ◆ 應用程序合同

  應用程序合同定義了CCI API,通過這個API,—個J2EE客戶組件(例如一個EJB或者servlet)可以與基層EIS資源通信。

  ◆ 系統(tǒng)級合同

  系統(tǒng)級合同定義了一組系統(tǒng)合同,可讓資源適配器與應用程序服務器鏈接起來。JCA技術(shù)規(guī)范為資源適配器和J2EE應用程序服務器的實現(xiàn)定義了許多系統(tǒng)級合同。

  連接管理

  連接管理由服務合同表示,這個服務合同使—個應用程序服務器能夠提供自己的服務,以生成和管理與基層EIS資源進行連接的連接緩沖池。這樣就提供了一個可以擴展的連接管理設(shè)施以支持大量的客戶。

  事務管理

  這個合同把應用程序服務器的事務處理能力擴充到了基層的EIS資源管理器。在JCA的上下文環(huán)境中,一個EIS資源管理器管理著一組共享的EIS資源以參與事務處理。一個資源管理器可以管理XA事務和本地事務兩類事務。

  安全性管理

  這項服務讓開發(fā)者可以定義應用程序服務器和EIS資源之間的安全性。有多種機制用于保護EIS不受未授權(quán)的訪問及其它安全性威脅,其中包括:

  1. 使用標識符、驗證和授權(quán)機制;

  2. 應用程序服務器和EIS資源之間實現(xiàn)安全通信,使用像Kerberos這樣的開放網(wǎng)絡(luò)通信安全協(xié)議,這樣可以為驗證和機密服務提供端對端的安全性;

  3. 啟用EIS專用的安全機制,J2EE服務器和EIS資源適配器之間的安全性合同,實際上把連接管理沿著安全性的方面進行了擴展。這種安全性合同提供了如下的一個EIS簽發(fā)(sign-on)機制:

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

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

  通用客戶接口(CCI)

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

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

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

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

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

  表1 CCI接口與類

<ccid_nobr>
接口類型名稱
與連接有關(guān)的接口,描述一個工廠類連接和一個應用程序類連接。javax.resource.cci.ConnectionFactory javax.resource.cci.Connection javax.resource.cci.ConnectionSpec javax.resource.cci.LocalTransaction
與交互有關(guān)的接口,能使組件驅(qū)動一個與EIS實例的交互。javax.resource.cci.Interaction javax.resource.cci.InteractionSpec
與數(shù)據(jù)表現(xiàn)有關(guān)的接口,用來描述與EIS實例交互中涉及到的數(shù)據(jù)結(jié)構(gòu)。javax.resource.cci.RecordFactory javax.resource.cci.Record javax.resource.cci.MappedRecord javax.resource.cci.IndexedRecord javax.resource.cci.IndexedRecord javax.resource.cci.ResultSet java.sql.ResultSetMetaData
與元數(shù)據(jù)有關(guān)的接口,提供了一個資源適配器與EIS連接的基本的元信息。javax.resource.cci.ConnectionMetaData javax.resource.cci.ResourceAdapterMetaData



  資源適配器的打包和實施

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

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



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

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

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

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

?

轉(zhuǎn)自:http://tech.163.com/tm/030622/030622_99287.html

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/3797236.html

總結(jié)

以上是生活随笔為你收集整理的如何使用JCA (J2EE 连接器架构)实现企业应用--转载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。