如何使用JCA (J2EE 连接器架构)实现企业应用--转载
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完全独立。 资源适配器的打包和实施 JCA定义了打包和实施接口,所以各种资源适配器可以很容易地以一种模块化和可移植的方式,插入一个遵守J2EE规范的应用程序服务器。这种模块称为资源适配器模块,它与J2EE应用程序模块相似,可以包括Web和EJB组件。 图3显示出一个资源适配器模块的打包和实施过程,这个模块将用于连接一个J2EE应用程序和一个EIS资源。典型情况下这个过程与在一个J2EE容器中实施EJB或Web组件相似。一个资源模块的打包和实施过程如下: 转自:http://tech.163.com/tm/030622/030622_99287.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |