级别: 初级 Ellen Matheson McKay (ecmckay@ca.ibm.com), WebSphere Information Developer, IBM Toronto Lab Barry Searle (searle@ca.ibm.com), WebSphere Studio Developer, IBM Toronto Lab
2004 年 6 月 01 日 这个由五部分组成的文章系列向您介绍了如何将应用程序从 VisualAge for Java Common Connector Framework(CCF)迁移到 WebSphere Studio J2EE Connector Architecture(JCA/J2C)。第 2 部分为您展示了如何从 VisualAge for Java 导出 CCF 构件,然后将这些源文件导入 WebSphere Studio Application Developer Integration Edition,并在其中构建 CCF 应用程序。(术语注解: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 的典型活动,本文是其中的一部分。这一系列文章包括以下几个部分:
概述
VisualAge forJava 使用 Common Connector Framework(CCF)来简化访问主机 Enterprise InformationSystems(EIS's)的 Java 应用程序的创建和维护。这些 EIS 资源是典型的 Customer Information ControlSystem(CICS)事务、Information Management System(IMS)事务或者 WebSphere MQ消息队列。VisualAge for Java Enterprise Access Builder(EAB)能够提供创建 CCF 连接器对象(JavaCommand 和 Record 类)的工具以及使用这些 CCF 连接器对象的应用程序,从而支持 CCF 框架。
由于 CCF框架的价值已被认可和接受,IBM 已经提交它以考虑将其制订为行业标准。经过评审和修改,它就成为了 J2EE ConnectorArchitecture(J2C)。虽然 J2C 和它的前身 CCF 相类似,但还是存在许多显著的区别,迁移还是有很大价值的。
考虑到这些区别,WebSphere Studio Application Developer Integration Edition(下面简称为Application Developer)包含了一套新的工具集,使用这套工具可以很好地创建和维护 J2C对象和应用程序。当然,我们希望将应用程序从现有的 VisualAge for Java CCF 迁移到 Application DeveloperJ2C中(只要存在等同的 J2C)。本文介绍由 EAB 工具生成的连接器对象的迁移,以及由开发人员编写的使用这些对象的应用程序的迁移。
CCF 到 J2C 的迁移步骤
下面总结了将应用程序从 CCF 迁移到 J2C 所涉及到的主要步骤:
- 安装:
- 确保 VisualAge for Java V3.5.3 或 4.0 可以与现有的 CCF 应用程序一起使用。
- 确保 WebSphere Studio Application Developer Integration Edition V5.0.1(或后续版本)可以与必需的
资源适配器、
CICS/IMS CMA以及安装的
当前补丁一起使用:
- V5.0.1(它是 V5.0 加上 PTF-001)
- 加上 Fix Pack 001>(包含 Interim Fixes 001 到 006)
- 加上 WSADIE V5.0.1 Interim Fix Run Time(用于 WebSphere Application Server V5.0)
- 加上 Interim Fix 007 和 Interim Fix 008
- 导出 VisualAge forJava:
- 将 CICS/IMS 构件分组(同样的长/短名生成样式,同样的服务器名/位置,同样的镜像事务名称)。
- 将分组的 CCF CICS 或 IMS 构件(只有类,而没有源)导到 Java JAR 文件中。
- 将 CCF MQ 构件(只有类,而没有源)导到 Java JAR 文件中。
- 将每个 CCF 应用程序(只有源,而没有类)导到一个 Java JAR 文件中。
- Studio导入并迁移生成的 CCF 构件:
- 导入一个 CCF CICS 或 IMS 构件 JAR 文件(保持它的 JAR 文件形式不变),并通过 CMA 将它迁移到新的 J2C 对象(源文件外加类)上。或者,
- 导入一个 CCF MQ 构件 JAR 文件(作为一个正常的 Java 对象)并利用 CCF-to-J2C 编码指导原则手动迁移它。
-
Studio 导入并迁移自定义CCF 应用程序:
- 导入每个 CCF 应用程序 JAR 文件(作为一个正常的 Java 或 Web 对象)并利用 CCF-to-J2C 编码指导原则手动迁移它。
- 手动修改应用程序,使之适应新的 JDK 级、新的服务器 API 等等。
- 手动修改 Web 代码并做关联,使之适应新的 JSP 或 HTML 级、新的服务器 API 等等。
- 部署和测试:
- 使用 WebSphere 测试环境(WTE)和/或远程 WebSphere Application Server 实例。

 |

|
在 VisualAge for Java 中建立 EAB CCF 连接器和样本
本文假定您已经有了 VisualAgefor Java V3.5.3 或 V4.0,并且安装了合适的 EAB CCF 连接器,因为本文的目的就是迁移这样早期开发的 CCF应用程序。为了熟悉开发过程并体验一下您的应用程序连接器类型的迁移过程,如果您还没安装相符的 CCF 连接器样本,则必须先进行安装,然后再对它们进行迁移。
本系列文章说明了 VisualAge for Java CCF 工具和 Application Developer J2C工具的使用方法。为了了解每种工具集的更多信息,请参阅在线帮助和相关产品的样本程序。
在 Studio 中建立 J2C 资源适配器和样本
J2C 定义了运行时资源适配器(RA)的概念,它类似于 CCF连接器。RA 打包在一个资源适配器档案文件(RAR 文件)中,它包含一个部署描述符、帮助文件、Java接口、实现、以及资源适配器的助手类。资源适配器安装在一个应用服务器上(例如,WebSphere ApplicationServer),这个服务器应该支持事务管理方面的 J2C 规范。
要想在 Application Developer 中开发 J2C应用程序,您必须安装合适的资源适配器。例如,要开发一个 CICSECI 应用程序就必须安装 CICS ECI RA。安装资源适配器最简单的方法就是遵循下面的某个 Studio 样本,比如 CICS ECI样本(选择
Help => Help Contents => WebSphere Studio => Business Integration => Samples => CICSSamples)。使用样本能够保证 RA 安装恰当,并且能够给你一个标准样本以及 Application Developer工具的一些实践经验。
从 VisualAge for Java导出 CCF 构件(由 CCF 生成的对象)
将开发人员编写的应用程序的 Java 源代码从 VisualAge asJava Archive(JAR)文件导出,然后再导入 Studio Java 项目,其他的 Java程序也一样。为了使这些应用程序迁移后也能正常工作,则要求有由 CCF 生成的匹配连接器对象。如果有必要,则可以采用缺省方法,手动使用Application Developer 工具来重新生成所有新的 J2C对象,包括它们所有的设置和数据,然后再确定相应地需要手动修改哪些应用程序,以便使所有的应用程序都能够编译和执行。因此,一个关键的迁移问题就是如何导出CCF 构件,然后将它们导入 Application Developer,并使用 Application Developer来进行维护。这个问题的答案取决于采用的是什么类型的 CCF 连接器,以及在 Application Developer 中有什么类型的等同 J2C连接器(如果有的话)可用。
不受支持:Studio源代码的导入及 CCF 构件的重建
一种
不受支持的方法是在 Application Developer 和 WebSphereApplication Server 中安装 CCF 连接器(请参阅
limitations article,并注意实际安装CCF 连接器时需要运行时许可并且需要在 WebSphere Application Server 服务器中使用)。然后将 EAB 生成的 CCF构件(生成的 command 和 record 类的 Java 源代码)导出到 Application Developer 中。然后您可以使用缺省的Application Developer Java 编辑器手动编辑它们,因为它们只是 Java 源文件,但 Application Developer不能够重新生成任何 CCF 对象。
大多数的 CCF 应用程序和 CCF 构件都可在 Application Developer中恰当地重建,并且在 WebSphere Application Server 中成功运行,但是由于 Java编译器级别的不同、使用其他最新的库文件以及系统 API 的改变等原因造成了这种迁移过程
不受支持并且
不能测试。
用于 CCF 构件的 CCF 迁移助手(CMA)与 CCF 应用程序迁移编码指导原则
有些情况下,您可以读取 CCFCommand 类中的设置和数据,然后通过编程调用 Application Developer J2C 工具来创建等同的J2C“command”服务代理类。同样,您可以读取 CCF record 类并利用所读取的设计和数据通过编程调用 ApplicationDeveloper J2C 工具来创建等同的格式处理程序和数据 bean 助手类。
CMA的局限性
CMA 可以很好地将许多 CCF 构件迁移到新的 J2C 对象。然后,还是存在着一些局限性,这些局限性在 CICS-ECI和 IMS 迁移文章中有详细的介绍。
获取 CCF CMA程序
CCF CMA 程序可以迁移许多由 CCF 生成的 CICS-ECI 或 IMS 连接器对象(CCF command和 CCF record),使它们成为可兼容大多数应用程序这一类型的 J2C 连接器对象(“Command”服务代理、格式处理程序和数据bean)。CMA 程序
不是Application Developer 的一部分,也是
不受支持的。它在所描述的环境(CICS-ECI和 IMS)中看起来运行良好。要想了解关于 CMA 程序的细节,请参阅
CICS-ECI和
IMS迁移文章。
本文并不附带提供 CMA 程序的下载,因为我们想知道谁在使用它,以便根据需要发送更新版本。要请求 CMA 程序请发送邮件到
searle@ca.ibm.com。
要想了解正式的 CCF-to-J2C 迁移帮助的购买信息,包括 CMA 程序的安装和培训,请参阅以下的
迁移帮助服务。
CCF应用程序迁移编码指导原则
下面概述的每篇详细描述迁移的文章都包括编码指导原则,编码指导原则描述了对应用程序进行的一些手动修改,这些修改通常是使用 CMA迁移的构件以及/或者手动迁移其他 CCF应用程序所需要的。其中的每篇文章中的编码指导原则都是在实际操作过程中及时更新的,并且在新的信息可用时还将进行更新。
迁移 CICS-ECI 或 IMS 或 MQ 应用程序
CMA CICS-ECI迁移和手动应用程序迁移
CICS-ECI文章描述了如何使用 CMA 程序来迁移由 CCF 生成的 CICS-ECI 连接器对象(command 和 record),使之成为等同的J2C 对象(“command”服务代理、格式处理程序和数据 bean 助手类)。同时也描述了手动迁移使用这些对象的应用程序通常需要做的编码改变。
CMA IMS迁移和手动应用程序迁移
IMS文章描述了如何使用 CMA 程序来迁移许多由 CCF 生成的 IMS 连接器对象(Command 和 Record),使之成为等同的 J2C对象(“Command”服务代理、格式处理程序和数据 Bean 助手类)。同时也描述了手动迁移使用这些对象的应用程序通常需要做的编码改变(当前已知的)。
CCF IMS构件的迁移和 CCF CICS-ECI 构件的迁移非常类似,只有一些细微的差别。
从 Manual 消息队列(MQ)到 Java Message Service(JMS)应用程序的迁移
MQ文章描述了将 CCF MQ 连接器应用程序变为 JMS 应用程序通常需要做的手动改变。并不存在 J2C MQ 连接器,因为 CCF MQ连接器已经被行业标准 JMS 替代了。虽然没有用到 J2C 服务代理,但这篇文章也描述了如何利用 Application Developer工具来生成格式处理程序和数据 bean,同时也描述了如何访问和操作这些助手类中的数据字节缓冲。
手动升级为新的 JDK 和服务器 API 级别
重要:前面提到的所有 CCF 迁移活动只包括连接器的迁移细节,并没有提到任何的应用程序正常生命周期维护,而生命周期维护是新 JDK API级、新的服务器 API 级、新的 Web J2EE JSP 或 HTML 级等需要的。
迁移帮助服务
IBM WebSphere Services有各种各样的迁移帮助,顾客都可以购买到:
- WebSphereApplication Server V3.5 => V4 => V5 应用程序迁移的在线培训或帮助
- CCF应用程序迁移、工作描述和有效范围的在线评估
- 安装并熟悉 CCF Migration Assistant(CMA)程序
- 小应用程序或应用程序组件的试验迁移
- 较大的应用程序的选择性迁移
要获取进一步的信息,请联系:
结束语
WebSphereStudio Integration Edition 有一组全新的工具,可以用来优化 J2C 对象和应用程序的创建和维护。对于将现有的应用程序从VisualAge for Java CCF 迁移到 WebSphere Studio J2C(只要存在等同的 J2C)来说,这组工具是非常理想的。本文涵盖了两方面的主题:迁移 EAB 工具生成的 CCF IMS 连接器构件和使用这些构件来迁移开发人员编写的应用程序。
作者简介  | |  |
Ellen Matheson McKay是 IBM 加拿大有限公司的一名信息开发人员。她负责编写 WebSphere Studio Application Developer 的在线帮助和出版物。
|
 | 
|  |
Barry Searle是 WebSphere Studio Application Developer 迁移团队的负责人。他是一名专业工程师,已在 IBM 加拿大实验室工作了十几年,使用各种各样的应用程序开发工具。在这之前他还有几年开发命令和控制系统及负责通信开发项目的行业经验。
|
对本文的评价
|