J2EE: JCA (Java 皇冠直营现金网官方网Connector Architecture) [转]

JCA (J2EE 连接器架构,Java Connector
Architecture)是对J2EE标准集的关键补充。因为它强调的是将Java程序连接受非Java程序和软件包中间件的支出。连接器特指基于Java连接器架构的源适配器,其在J2EE1.3正式中被定义。JCA连接器同时提供了一个第一的力量,即它使J2EE应用服务器可以合并任何利用JCA适配器的商号音讯系列(EIS),大大简化了异构系统的并轨。有了JCA,公司一旦购买一个基于JCA规范的适配器,就可以将集团应用布署到J2EE服务器上,那样不用编写任何代码就可以兑现与J2EE应用服务器的集成。JCA还提供了一个应用服务器和EIS连接的标准Java解决方案。

  JCA定义了一套标准的接口,用于让连接器把包容的应用程序服务器无缝的组合起来。同时,定义的另一套标准接口允许客户(或者应用程序服务器的应用程序主机)用一种统一的办法运用连接器。那样,连接器对于跨应用程序服务器就是可移植的,而客户程序成为很轻便的连接器。

  JCA的对象在于集团应用程序集成方面,它提供的规则种类布局让J2EE组件可以对异构EIS进行“即插即用”的拜访,其中囊括ERP、事务处理、老式数据库系统等。

  JCA与EIS集成应用

  在电子商务时代,具有因特网效率的事务应用程序,以及在因特网上并轨业务处理已经改成各大厂商得到竞争优势的基础。不过在因特网经济以前,许多商店曾经在作业和管制信息运用系统方面拓展了大批量的投入,如:

  ◆ 企业资源安顿(Enterprise Resource Planning,ERP)应用,如SAP
R/3和BAAN。

  ◆ 客户关系管理(Customer Relationship
Management,CRM)应用,如Siebel和Clarify。

  ◆ 数据库应用程序,如DB2和Sybase。

  ◆ 大型事务处理应用,如CICS。

  ◆ 老式数据库系统,如IBM集团的IMS。

  那几个种类一般称为集团音信连串(EIS ,Enterprise Information
Systems)。EIS为全方位集团提供消息基础设备和服务。这么些音讯的花样可能是—个数据库中的一组记录、一个ERP中的业务对象、一个CRM系统的工作流对象,或者是一个事务处理应用程序中的事务程序。

  在连接器出现以前,一些应用程序服务器厂商为集成EIS系统提供了各个可自定义的适配器。这几个适配器还提供了自定义的本机接口。但那些内容很复杂,不易明白,并且因为它们准备援助一种标准连串布局而惨遭限制。其中部分切实可行的限量景况如下:

  ◆
EIS的应用程序编程本身是专用的,而采纳系统的多样性注解没有适用于与开放式种类布局集成的通用接口机制。

  ◆
大型Web应用程序需求在客户、连接管理等地方抱有高可用性和可增加性。传统景况下,客户的数据及他们的位移总是在—个EIS中代价是昂贵的,并且自定义的适配器也不够应用程序服务器提供的连接管理机制。

  ◆
管理众多后端应用的安全性和分布式事务极其复杂并且缺少可相信的机制。那象征现在尚无专业的根底设备缓解方案来提供一个相比较中性的安全性机制,也从没对众多EIS资源管理器的通用事务管理辅助。那种气象对于EAI落成会带来巨大的标题。

  考虑到上述难点,Su集团公布了JCA,以便为J2EE服务器与异构EIS资源的合一提供一个业内的系统布局。其重点对象是,通过在一个一模一样的J2EE环境中定义一个通用的API及一组通用的劳动来简化开发进度。JCA为开发者提供了一种简单的办法,以便把EIS与J2EE系统平台组件无缝地合一起来。图1彰显了一个包括JCA的组件和EIS集成应用的协会图。

  从图1可看到,如若须要把一个按照J2EE的应用程序与一个存世的EIS集成起来,所需做的就是把方便的EIS连接器(一个听从JCA规范的资源适配器,即Resource-adapter)安装到应用程序服务器上。安装了那几个适配器之后,我们可以支付J2EE组件,以便利用CCI(
Common Client
Interface,通用客户接口)API与EIS接口。选用的艺术与使用JDBC与关周密据库接口相同。也就是说,通过行使非EIS专门化的编程而简化开发,并且所做布置与后端EIS完全独立。

皇冠直营现金网官方网 1

  Sun的想法是,所有应用程序服务器厂商最终都会落实JCA服务,并且EIS厂商将促成遵从JCA规范的EIS资源适配器。通过支撑JCA,所有听从J2EE的应用程序服务器都可以确保可以处理众多和异构的EIS资源。由此,JCA既增强了J2EE应用程序开发者的生产率,同时又经过J2EE提供一个方可扩大的并轨方案,减弱了开发开销,并且尊崇了在EIS系统中的现有投资。

  J2EE连接器体系布局及其元素

  JCA是在一个死守J2EE
1.3正经的应用程序服务器上贯彻的,同时有一个由EIS厂商提供的遵从JCA的资源适配器。那些资源适配器在应用程序服务器中是—个EIS专用的可插入J2EE组件,它提供了一个用来与基层EIS系统通讯的接口。JCA定义了下列元素和劳务:

  ◆
系统级合同(Contract)和劳动,定义了J2EE组件、应用程序服务器提供者和EIS系统之间的标准接口。这么些合同和服务是由J2EE服务器提供者完毕的,并且也放在EIS厂商的资源适配器中。这么些合同和劳动的落实在应用程序服务器与资源适配器的系统级角色和任务期间定义了一个逻辑划分(不是大体划分)。那样就使J2EE服务器和资源适配器可以相互同盟。不仅如此,它还使得一个依据JCA规范的资源适配器可以插入到其他J2EE服务器中。

  ◆
JCA通用客户接口(CCI),定义J2EE组件(如JSP、EJB)可以用于连接到EIS系统或者与之并行的一个客户API。除了J2EE客户组件之外,它还允许非管理的应用程序(如Java
applet和应用程序客户)使用一个坚守JCA的资源适配器与一个EIS集成。

  ◆ 打包和进行接口,允许种种EIS资源适配器插入J2EE应用程序中。

  图2展现了J2EE连接器种类布局和做客EIS资源的组件。资源适配器很显著被看成了JCA的底蕴零部件,因为它用作J2EE组件、应用程序服务器和EIS系统的中心连接器。

皇冠直营现金网官方网 2

  在一个采纳JCA的J2EE应用程序框架中,EIS厂商提供了坚守JCA的资源适配器,并且CCI作为落到实处的组成部分。J2EE服务器厂商提供了接济JCA系统级合同的应用程序服务器,从而使得那些资源适配器可以插入到应用程序服务器,并且提供与基层EIS资源的连天能力。那样就使J2EE应用程序开发者可以选用CCI开发集成组件。

  JCA技术专业接济两类环境,划分的根底是利用资源适配器的客户应用程序类型,那两类环境为:

  ◆ 管理的条件
定义一个多层、具有Web能力、基于J2EE并且访问EIS的应用程序。这么些应用程序可以包含一个或者多个应用程序组件(例如EJB、JSP网页、servlet),它们都落到实处在分级的容器中。在JCA的上下文环境中,那个应用程序被称之为是管理的应用程序。

  ◆ 不管理的环境
连接器种类布局支持Applet或者Java客户应用程序那样的章程访问EIS。典型气象下那是一个两层连串布局,其中一个应用程序客户直接运用一个资源适配器库。资源适配器为客户提供了起码的作业和安全性处理。在一个JCA上下文环境中,这么些应用程序称为不管理的应用程序。

  资源适配器及其合同

  资源适配器包括一个EIS专用的库(它可以用Java编写或者用本机接口组件),并提供了与EIS的连日能力。在J2EE应用程序服务器中,资源适配器运行在应用程序服务器的地方空间中,并且管理着对基层EIS的总是。

  JCA须求具有遵从JCA的EIS资源适配器及J2EE应用程序服务器协理系统级合同。JCA还引进(但并不确定)所有的资源适配器都像对待它们的客户API一样帮助CCI。那样就为应用程序开发、集成三个EIS提供了一个依据J2EE的缓解方案,并且使EIS资源适配器“具有插入能力”,可以用来应用程序服务器中,并与持有的系统级机制合作。

  一般情形下,在上下文环境中的一个合同就是在应用程序各层之间一个简约的权责陈述,那几个应用程序完结了那么些层之间的一个标准接口。根据JCA技术标准,资源适配器一般已毕两类合同。那两类合同为:

  ◆ 应用程序合同

  应用程序合同定义了CCI
API,通过这么些API,—个J2EE客户组件(例如一个EJB或者servlet)可以与基层EIS资源通讯。

  ◆ 系统级合同

  系统级合同定义了一组系统合同,可让资源适配器与应用程序服务器链接起来。JCA技术标准为资源适配器和J2EE应用程序服务器的落实定义了重重系统级合同。

  连接管理

  连接管理由劳动合同代表,那么些服务合同使—个应用程序服务器可以提供自己的劳务,以转移和治本与基层EIS资源拓展连接的连接缓冲池。那样就提供了一个得以扩充的一连管理设施以支撑大气的客户。

  事务管理

  那一个合同把应用程序服务器的事务处理能力扩展到了基层的EIS资源管理器。在JCA的上下文环境中,一个EIS资源管理器管理着一组共享的EIS资源以参与事务处理。一个资源管理器可以管理XA事务和当地工作两类事情。

  安全性管理

  那项劳动让开发者可以定义应用程序服务器和EIS资源之间的安全性。有八种建制用来保护EIS不受未授权的走访及任何安全性吓唬,其中囊括:

  1. 选取标识符、验证和授权机制;

  2.
应用程序服务器和EIS资源之间完结平安通讯,使用像Kerberos那样的绽开互联网通讯安全协议,那样能够为验证和神秘服务提供端对端的安全性;

  3.
启用EIS专用的平安机制,J2EE服务器和EIS资源适配器之间的安全性合同,实际上把连接管理沿着安全性的方面开展了伸张。那种安全性合同提供了如下的一个EIS签发(sign-on)机制:

  ◆
把连接请求从资源适配器传递到J2EE应用程序服务器,并且打开该服务器的认证和授权服务;

  ◆
在安全性上下文环境中,把安全机密凭证音信从应用程序服务器传递到资源适配器。

  通用客户接口(CCI)

  CCI提供了一个粗略的主意来缓解编制基层EIS资源更复杂的、Java接口的题材。出现了CCI之后,这些题材已经改成Java开发者和EIS厂商之间都领悟的“集成难点”。通过在资源适配器中落到实处CCI,EIS厂商可以提供对它们的EIS产品的一个Java接口,它将在其余遵从J2EE
1.3正规的应用程序服务器上运行。

  CCI为J2EE应用程序组件定义了一个单独于EIS的客户API,它为运行与EIS相关的询问和EIS事务处理定义了长途功用调用接口,仍可以用于获取结果。

  CCI为J2EE应用程序服务器提供了职能调用,它通过一个JCA资源适配器提供的零部件,生成和治本与一个EIS资源的总是,执行与一个EIS资源有关的操作。

  JCA技术标准推荐,CCI应该形成更丰硕意义的,并且变成一个由EIS资源适配器厂商提供的更拉长的编程模型,而不是变成绝一大半应用程序开发者使用的API。JCA技术标准还引进,所有EIS资源适配器应把CCI作为它们的客户API已毕,同时它依旧必要这几个资源适配器提供与J2EE应用程序服务器相关的系统合同。须要专注的是,一个资源适配器还足以挑选与CCI分化的附加客户API,类似于在JDBC兑现中得以行使厂商提供的客户API一样。使用CCI极大地进步了开发者的生产率,减弱了系统融为一体的用度,使代码具有可移植性,应用程序可以伸张,以及突出的可维护性。

皇冠直营现金网官方网,  CCI被分为四片段(见表1)。所有的求实CCI类和接口在javax.resource.cci程序包都得以便宜地找到。

  表1 CCI接口与类

<ccid_nobr>

接口类型 名称
与连接有关的接口,描述一个工厂类连接和一个应用程序类连接。 javax.resource.cci.ConnectionFactory javax.resource.cci.Connection javax.resource.cci.ConnectionSpec javax.resource.cci.LocalTransaction
与交互有关的接口,能使组件驱动一个与EIS实例的交互。 javax.resource.cci.Interaction javax.resource.cci.InteractionSpec
与数据表现有关的接口,用来描述与EIS实例交互中涉及到的数据结构。 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
与元数据有关的接口,提供了一个资源适配器与EIS连接的基本的元信息。 javax.resource.cci.ConnectionMetaData javax.resource.cci.ResourceAdapterMetaData

  资源适配器的卷入和推行

  JCA定义了包装和实施接口,所以各样资源适配器可以很简单地以一种模块化和可移植的点子,插入一个听从J2EE规范的应用程序服务器。那种模块称为资源适配器模块,它与J2EE应用程序模块相似,可以包涵Web和EJB组件。

  图3显得出一个资源适配器模块的卷入和举办进度,那些模块将用于连接一个J2EE应用程序和一个EIS资源。典型气象下这么些历程与在一个J2EE容器中履行EJB或Web组件相似。一个资源模块的包裹和执行进度如下:

皇冠直营现金网官方网 3

  ◆
EIS资源适配器提供者(平日是EIS厂商)开发一组Java接口和实用程序类作为资源适配器完结的组成部分。那几个Java类落成了JCA合同和资源适配器提供的EIS专门职能。

  ◆
Java类及资源适配器提供者提供的本机库(若是可用)被卷入,同时还有一个举办描述符,构成一个资源适配器模块(RAR文件),与此外J2EE组件实施描述符类似,
资源适配器模块的执行描述符定义了资源适配器提供者与担负资源适配器的执行者之间的服务合同属性。

  ◆
在推行进度中,应用程序实施者在一个应用程序服务器上安装一个资源适配器模块,然后拔取J2EE应用程序服务器举办配置,并且确定基层EIS环境目的。

  一个应用程序的资源适配器模块打包和履行进度看似于其余J2EE打包和执行进程,更加是与Web和EJB组件相似。不过,在卷入和实施资源适配器中涉及到的角色和职务与其它J2EE组件的相应进度稍有两样。资源适配器打包的一个EIS资源适配器就是一个包蕴在一个RAR档案文件中的J2EE服务器组件。它可以在一个目录中准备一个依旧八个资源适配器,并且把它们打包成.rar文件。

相关文章