CICS Transaction Gateway 的事务支持
在使用 CICS Transaction Gateway 提供从 J2EE 应用程序到 CICS 的事务集成时,由 ECI 提供底层连接性,它可以使调用应用程序(如 J2EE Servlet 或 EJB 组件)协调被调用的 CICS 事务。不过,要了解提供的功能,有必要了解 CICS TG 关于两阶段提交网络连接和可恢复日志记录的基本事务组件的事务支持。
在使用 ECI 协议时,需要考虑可能有两种不同的网络连接,即从 J2EE 组件到 CICS Transaction Gateway 的连接和从 CICS Transaction Gateway 到 CICS 的网络连接。有多种网络协议支持这些连接,如下所示:
资源适配器到 CICS Transaction Gateway: TCP/IP、SSL 或本地绑定
CICS Transaction Gateway 到 CICS: SNA、TCP62、TCP/IP、EXCI。
在 CICS Transaction Gateway 到 CICS 连接的可能选项中,对 ECI 流提供两阶段提交事务协调的协议只有 External CICS Interface (EXCI),它是由 CICS TS for z/OS 提供、用于 MVS™ 批处理应用程序的接口,并与 MVS Resource Recovery Services (RRS) 一起提供事务支持。此支持称为 Transactional EXCI,并要求 MVS 批处理应用程序(在本例中为 CICS Transaction Gateway)和目标 CICS 区域位于同一 MVS 映像中。
CICS TG V6.1 的 XA 支持构建于事务 EXCI 支持之上,方法是通过新的 CICS ECI XA 资源适配器为 CICS 的请求提供全局事务支持。这为在 z/OS 平台上的 webSphere application Server 中运行的本地 J2EE 应用程序或在分布式平台上(例如 AIX)的 WebSphere Application Server 中运行的远程 J2EE 应用程序提供了两阶段提交全局事务支持。
不过,当 CICS TG 在分布式平台上运行时,仍必须使用单阶段提交连接,因此 CICS TG 需要考虑使用支持本地事务的资源管理器。
CICS 资源适配器
CICS TG 现在支持能够用于从支持的 J2EE 应用程序服务器到 CICS 的出站通信的三种不同的 JCA 资源适配器:
CICS ECI 资源适配器——此资源适配器实现 LocalTransaction 接口,并提供对资源管理器的本地事务的支持(其中,事务位于单个资源管理器本地,例如 CICS 区域)。JCA 1.0 和 1.5 版可以分别与 J2EE V1.3 和 J2EE V1.4 应用程序服务器一起使用。此资源适配器随 z/OS 和多平台上的 CICS Transaction Gateway 一起提供,并且可以与任何平台上任何版本的 CICS 一起使用。
CICS ECI XA 资源适配器——此资源适配器实现 XA 事务支持,而且完全支持全局两阶段提交事务。该适配器仅在 JCA 1.5 版中提供,并随 CICS Transaction Gateway v6.1 for z/OS 一起提供,在 WebSphere Application Server V6 中与 CICS TG for z/OS 和 CICS TS for z/OS 一起使用。
CICS EPI 资源适配器——此资源适配器可用于访问基于 3270 终端的程序。由于它基于 CICS 3270 接口这一特性,因此不提供全局事务支持,所以不应将其用于 CICS 应用程序的事务集成。同时提供了 JCA 1.0 和 1.5 版本,但它只能用于多平台上的 CICS Transaction Gateway。
z/OS 平台上 WebSphere Application Server 中的 RRS 事务支持
当使用 WebSphere Application Server for z/OS 时,CICS ECI 资源适配器通过使用附加的 RRS 事务模式支持全局事务。当使用本地网关时,将自动利用此 RRS 事务模式。使用本地网关是由 CICS ECI 连接工厂 ConnectionURL 参数中的“local”设置表示的,它指定在 WebSphere Application Server JVM 中资源适配器应直接调用 CICS Transaction Gateway EXCI 接口,因此省去了对独立网关的需求。此共存方法提供了两方面的性能优势,减少了 MVS Resource Recovery Services (RRS) 两阶段提交处理的路径长度和指派。
在使用 CICS ECI 资源适配器或 CICS ECI XA 资源适配器时可提供 RRS 事务支持,并且运行于 WebSphere Application Server V5、V5.1 或 V6 的 JCA 1.0 和 JCA 1.5 资源适配器也提供该支持。
WebSphere Application Server 中的事务支持
WebSphere Application Server 可以为不同类型的 J2EE 组件提供不同的服务质量。这可以通过使用一组隔离的运行时环境(称为容器)实现。这四个容器分别是 Web 容器、EJB 容器、客户端容器和 applet 容器。在 WebSphere Application Server V5 和 V6 中,JCA 支持是通过 Web 容器和 EJB 容器提供的,这两种容器都支持 JCA 连接池机制和来自 J2EE 组件的事务上下文的传播。
Web 容器
Web 容器的主要功能是针对 Servlet 和 JSP 组件,但是它也提供全局事务支持。然而,Web 容器不提供容器管理的事务服务,但是如果需要,可以通过应用程序以编程方式来控制事务范围。可以通过调用从 ConnectionFactory 获取的 Connection 对象上的 getLocalTransaction() 方法控制资源管理器的本地事务;这提供了特定于 JCA 连接工厂(即 CICS 区域)的单一实例的单阶段提交事务上下文。还可以通过使用 javax.transaction.UserTransaction 接口创建两阶段提交事务上下文来开始和结束事务。此类应用程序必须在 HTTP 请求的生命周期内提交事务。不可能(或不值得)跨多个对 Servlet 的 HTTP 请求扩展事务的生命周期,而且 WebSphere Application Server 回滚在 Servlet service() 方法结束时还没有结束的任何全局事务。
¥299.00
¥498.00
¥399.00
¥29.00