|  | 级别: 初级 Ellen Matheson McKay (ecmckay@ca.ibm.com), WebSphere 信息开发人员, IBM 多伦多实验室 Barry Searle (searle@ca.ibm.com), WebSphere Studio 开发人员, IBM 多伦多实验室
2004 年 6 月 01 日 这篇由五个部分组成的系列文章向您介绍如何将应用程序从 VisualAge for Java Common Connector Framework(CCF)迁移到 WebSphere Studio J2EE Connector Architecture(JCA/J2C)。第 1 部分将描述 CCF 应用程序在 WebSphere Application Server V5 中的局限性。(术语注解:JCA,J2EE Connector Architecture 的旧缩写,现在用来表示 Java Cryptography Architecture。J2EE Connector Architecture 的新缩写是 J2C。)
引言
本文是一系列介绍从 IBM VisualAge for Java CCF 到 WebSphere Studio J2C 的迁移的文章的一部分,这一系列文章描述了将应用程序从 CCF CICS ECI、IMS 或 WebSphere MQ 迁移到 J2C 的典型活动。这一系列文章包括以下几个部分:
WebSphere Application Server V5.1 CCF 声明
正如
IBM 声明所描述的,在 WebSphere Application Server V5.1 中 VisualAge for Java Common Connector Framework(CCF)已被工业标准 Java Connector Architecture(J2C)所取代。WebSphere Application Server 将继续保留 CCF 支持以用于迁移目的,直到 V5.1 的服务日期结束为止。WebSphere Application Server V5.0 和 V5.1 中的 CCF 支持旨在简化顾客从早期的 WebSphere 版本进行迁移并且有以下一些条件:
- CCF 支持在任何情况下都不会得到增强。
- 即使 CCF 应用程序在 WebSphere Application Server V5 中得到支持,这也并不意味着延长 VisualAge for Java CCF 工具的服务结束日期(2003 年 12 月 31 日)。
- 顾客应该尽早迁移到 J2C 连接器。
- 顾客应该回顾以下的支持声明和开发实践以确定最佳迁移方法。
CCF 支持和开发实践
- CCF 计划用于 Web 应用程序。在 Enterprise JavaBean(EJB)应用程序中使用 CCF 还未经测试,所以并不受支持。
- CCF 是非受管应用程序代码,并且对于 WebSphere Application Server 是未知的:
- WebSphere Application Server 没有为与 CCF 相关的资源提供恢复和清除支持。
- 由运行时提供的 CCF+CICS+CTG 之间没有事务协调。
- 由运行时提供的 CCF+IMSConnect+IMS 之间没有事务协调。
- z/OS 方面的考虑:
- z/OS CTG 处于本地模式。所有的 CCF 请求都必须是非扩展的(也就是说,ECIInteractionSpec 属性 CICSELUW=False)。
- WebSphere Application Server z/OS V5 没有提供管理运行时上下文的支持,而 WebSphere Application Server z/OS V3.5 SE 提供了管理运行时上下文的支持。因此,对于 WebSphere Application Server V5 Distributed,您必须创建并管理您自己的运行时上下文。
- z/OS 安全性标识(security identity)和系统标识(security identity)行为在 V3.5 和 V5 之间发生更改,并且应用程序必须相应更改(这不是特定于 CCF 的)。z/OS 可能提供类似于 V3.5 的线程同步(synch-to-thread)功能,以帮助区分这种不同。
- 在 VisualAge for Java 中构建 CCF 应用程序--仅支持 Enterprise Edition V3.5.3 或 V4.0:
- 应用程序源代码必须包含正确的连接器框架导入语句(CCF=com.ibm.connector.*,JCA=com.ibm.connector2.*)。
- 必须使用 VisualAge for Java 附带的最新 CCF 库 JAR 文件(eabl*ib.jar、recjava.jar、ccf.jar)来构建应用程序。
- 必须使用 VisualAge for Java 附带的最新连接器库 JAR 文件(imsconn.jar、ctgclient.jar、hod50connector.jar)来构建应用程序。
- 将 CCF 生成的源代码导入到 WebSphere Studio 并且重新构建(使用较新的 JDK 级别编译器)通常是行得通的,但还没有对其进行测试,所以并不受支持。
- 在 WebSphere Application Server V5 中运行已部署的 CCF 应用程序:
- 每个部署的 CCF 应用程序必须在其运行时类路径中包含支持的 CCF 库 JAR 文件和任何所需的连接器库 JAR 文件。
- CCF 库 JAR 文件必须是 WebSphere Application Server V5 所附带的版本。
- 应用程序不能从已部署的应用程序内的 VisualAge for Java 打包连接器库 JAR 文件。
- 运行时连接器库 JAR 文件必须与下面列出的受支持的版本相匹配,并且来源于它们的连接器产品。
- CICS CTG CCF 应用程序必须在同样或者更高的级别上连接到 CTG V5。仅支持 CTG V5.01 或 V5.1(在可用的情况下)。仅支持 ECIRequest,而不支持 EPIRequest。
- IMS CCF 应用程序:仅支持 IMS Connect V1.2 或后续版本。
- HOD CCF 应用程序:仅支持 HOD V5.0.4。
- SAP CCF 应用程序:仅支持从版本3.1i 到 4.6a(4.0a 除外)。
- 在 VisualAge for Java WebSphere Test Environment(WTE)中运行 CCF 应用程序:
- 最好在 WebSphere Application Server V5 中运行 CCF 应用程序,但是您可以继续在 VisualAge for Java WTE 中运行(单元测试)CCF 应用程序。
- 如果您在使用较早的 WTE 连接器库进行连接或执行时出现问题,那么您需要在一个 WebSphere Application Server V5 分级服务器上调试该应用程序,使用 WebSphere Studio Application Developer Integrated Edition V5 远程调试器来连接并调试位于分级服务器上的应用程序。
- 由于 J2EE(JSP、servlet、EJB)或服务器 API 改变的原因,任何从老版本迁移到 WebSphere Application Server V5 的应用程序都可能需要进行非 CCF 更改。

 |

|
CCF 和 J2C 企业应用程序(EAR)有限制的共存
- 在 WebSphere Application Server z/OS 中,CCF 应用程序和 J2C 应用程序必须在分开的 WebSphere Application Server z/OS 服务器上运行。您可以在同一个 z/OS LPAR 中运行两个 WebSphere Application Server Network Deployment 服务器(一个 CCF、一个 J2C)。
- 在 WebSphere Application Server Distributed 中,独立的 CCF 应用程序 EAR 文件和 J2C 应用程序 EAR 文件可以在同一个 WebSphere Application Server 机器上运行。
- 在同一个企业应用程序(EAR 文件)或 Web 应用程序(WAR 文件)中不要混合 CCF 和 J2C。在同一个应用程序(EAR 或 WAR 文件)中混合 CCF 和 J2C 还未经测试,所以并不受支持。
结束语
WebSphere Application Server V5.0 和 V5.1 中的 CCF 支持旨在简化从早期的 WebSphere Application Server 版本进行的迁移。虽然很多 CCF 应用程序可以不经任何 CCF 更改(不过,可能需要进行一些其他的 J2EE 或 API 更改)就继续运行,但是您应该尽可能快地将它们迁移到 J2C。
作者简介  | |  |
Ellen Matheson McKay是 IBM 加拿大有限公司的信息开发人员。她撰写了 WebSphere Studio Application Developer 的在线帮助和在线发布。
|
 | 
|  |
Barry Searle是 WebSphere Studio Application Developer 的迁移小组负责人。他已在 IBM 加拿大实验室工作了十余年,曾涉足各种应用程序开发工具的领域,是一位专业工程师。在此之前,他已从事了多年的命令与控制系统的开发和领先的复杂通信开发项目工作,具有多年的业界工作经验。
|
对本文的评价
|  | IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。 |