JCA J2EE 连接器架构(JCA)规范
电子商务的世界是一个飞速变化的环境。业务要求把现有企业信息系统(EIS)(比如客户信息控制系统(CICS)、信息管理系统(IMS)或 SAP)中的现有业务逻辑与数据集
成在一起。关键的业务事务经常是用 Cobol 或 C 这样的过程性语言编写的。J2EE? 平台平台中有一个规范,该规范向开发人员提供了访问 EIS 事务和数据的接口,这个规范就是
J2EE 连接器架构(JCA)规范。
JCA 的两个事务界定技术:分布式事务界定和程序性事务界定
JCA 提供了两个处理事务的选项:程序性事务界定或声明性事务界定。第一个选项要求您使用 Java 事务 API(JTA),显式地为每个事务的 begin、 commit 和 rollback 操作
编写代码。在这种情况下,事务界定代码与实现业务逻辑的代码混杂在一起。
第二种方法是声明性事务界定,它不包含任何额外的编码工作。如果选择这种方法,那么 EJB 部署人员需要修改 bean 的部署描述符的设置,配置事务性行为。这样,EJB 容
器就会用这些部署描述符设置在合适的点上自动 begin、 commit 或 rollback 事务。在这种情况下,在 EJB 组件中实现的业务逻辑可以保持可移植性,而且不需要重写 bean 实
现,就能调整事务性行为。
Java 连接器架构规范为 J2EE 开发人员构建包含传统系统的事务性 J2EE 程序提供了方便的解决方案。JCA 允许在集成现有的 EIS 系统的同时,维持电子商务所需要的正确的事
务性语义。
您通常需要解决的关键问题是:不得不处理不同的资源适配器,提供不同级别事务支持。在许多情况下,有可能无法依赖底层的事务管理器,在受影响的系统之间协调分布式
事务。在有些情况下,即使有可能,分布式事务也可能由于与双向提交协议有关的性能问题而变得不适用。
在这种情况下,可能需要依赖补偿事务逻辑和程序性事务界定。这种方法也有它的不足之处。补偿事务本身可能会失败,给系统留下一个不一致的状态。
另一个需要注意的问题是,JCA 规范没有规定资源适配器应当如何处理 EJB 事务隔离级别,必须解决这个问题。有些资源适配器只是忽略这些设置,因为目标 EIS 的具体通
信协议不能把这个信息传递给后端,或者是因为目标 EIS 的事务模型不提供等价的概念。在其他情况下,对 J2EE 事务隔离级别的修改可能会严重影响 EIS 的性能。为了确保正
确操作,您应当仔细研究资源适配器的文档,如果这方面的内容介绍得不够详细,那么您还应该咨询厂家。