使用“批处理导入器”构建 J2C Java bean

可以通过“批处理导入器”(这是一个命令行界面)而是不使用 J2C 数据绑定向导来创建和访问 J2C 绑定类。还可以从工作台运行“批处理导入器”。

“批处理导入器”允许您对 CICS® ECI 和 IMS™ 资源适配器生成 J2C 绑定类。可以通过“批处理导入器”(这是一个命令行界面)而是不使用 J2C 数据绑定向导来创建和访问 J2C 绑定类。还可以从工作台运行“批处理导入器”。
从 V6 Ant 脚本迁移到新的 J2C V7 Ant 脚本:Rational® 应用程序开发产品 V7.0 包含一个新的用于生成 Ant 脚本的会话记录功能部件。还提供了一个迁移工具来将 V6 Ant 脚本转换为新的 J2C V7 Ant 脚本格式。新的 Ant 脚本更灵活并且更易使用,因此建议您使用新的 Ant 脚本。

如何运行迁移工具

  1. 源文件替换为旧的并且您想迁移的 V6 Ant 脚本文件。
  2. 在工作台中执行 migration.xml,或者使用无外设方式在命令行上运行该文件。
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="Migration" default="default" xmlns:j2c="http://com.ibm.adapter.j2c">
    		 <-- 
    		 		 The source file path must be either a workspace relative or a full file system path.
    		 		 The original file (source) will be renamed with the .bak extension.
    		  -->
     		 <target name="default">
    		 		 <j2c:migrate source="/Script/batchImport_deprecated.xml"/>
    		 </target>
    </project>

使用批处理导入器脚本

  1. 需要修改 5 个文件中的参数以符合特定环境的需要。可以从 <installdir>\IBM\SDP70Shared\plugins/com.ibm.adapter/j2c.commad_6.1.0*/runtime 和 <installdir>\IBM\SDP70Shared\plugins/com.ibm.adapter/j2c.commad_6.1.0*/sample/batch_import 中获取这些文件。下面是您需要的文件:
    1. CICSECI_PlatformProperties.xml:根据用来运行“批处理导入器”的平台(NT、AIX® 或 MVS™),此文件指定作为缺省值调用的 C 或 COBOL 源文件参数。
    2. CICSECI_cobolSample.xml:此文件包含“批处理导入器”将使用的服务属性:
      • EISProject
        • name:将包含新企业服务的服务项目的名称。如果该服务项目不存在,则将自动进行创建。
          注: 样本文件的 EISProject 中包含 ImportPropertyArray 元素。此处包含的导入属性将覆盖 PlatformProperties.xml 中设置的任何值。如果 PlatformProperties.xml 中设置的缺省值适合此服务,则可以除去 ImportPropertyArray 元素。
      • EISService(注意,可对每个 EISProject 定义多个 EISService 元素):
        • name:企业服务的名称。在导入 C 或 COBOL 文件后,将为每个服务创建 3 个 WSDL 文件(接口文件、绑定文件和服务文件)。
        • type:用于该服务的资源适配器的名称。这是包含 RAR 文件的连接器项目的名称。
        • targetNameSpace:目标名称空间的 URL(http://...)。此外,将在基于 targetNameSpace 的服务项目中创建一个包来包含生成的 WSDL 文件。
        • generateHelpers:如果要导入的本机数据包含复杂数据类型(例如,C 中的结构),则在运行该服务时需要 helper 类。当此选项设置为“true”时,导入批处理程序将自动生成并编译这些 helper 类。
      • Operation(注意,可对每个 EISService 定义多个操作元素):
        • name:操作名称。
        • type:操作类型。可以是 REQUEST_RESPONSE 或 ONE_WAY。
          注: 根据操作类型,ONE_WAY 操作应包含 InputMessage 定义,而 REQUEST_RESPONSE 应包含 InputMessage 定义和 OutputMessage 定义。如果 InputMessage 和 OutputMessage 共享同一类型定义,则使用单个 InputOutputMessage 定义。
      • ...Message
        • importFile:文件名称,该文件包含用于创建企业服务操作的定义。此文件可以是 C 或 COBOL 源文件。
        • importDirectory:包含 importFile 的路径。如果未指定 importDirectory 属性,则将使用 inputdir 和当前目录来搜索 importFile。
        • nativeTypeName:要从 importFile 导入的数据类型的名称。例如,在 COBOL 中,nativeTypeName 可能为 DFHCOMMAREA。如果在分析 importFile 后发现 nativeTypeName 未标识为有效数据类型,则将返回错误。
        • name:要用于已导入类型的名称。例如,如果 DFHCOMMAREA 表示客户数据,则可以将该名称设置为 Customer。
        • generationPackage:一个可选属性,它允许您对生成的 helper 类(即 bean 和格式处理程序)指定另一包名。这就为接口 WSDL 文件中生成的模式提供了另一名称空间。
    3. sampleContainer.xml:此文件将作为自变量传递至“批处理导入器”,并且此文件包含需要处理的文件的列表(ImportDefinitions)。ImportDefinitionArray 元素具有下列属性:
      • platform:它用来命名主机系统的平台。值可以是 NTAIXOS390
      • platformProperties:它指定平台属性文件的名称。
    4. importBatch.bat(win)或 importBatch.sh(linux):这是带有下列参数的批处理导入器程序文件:
      • containerFile:它是在步骤 c 中定义的文件。
      • 可选参数
        • generationStyle
          • 0:缺省设置,与 WebSphere® Studio V5.0 样式相匹配
          • 1:与 VisualAge® for Java™ 生成选项相匹配:直接、没有通知、没有内部类、没有缩写名称和带有基本类型数组。
          • 2:与 VisualAge® for Java™ 生成选项相匹配:直接、没有通知、没有内部类、缩写名称和带有基本类型数组。
        • workspace:要用于导入的工作空间的标准路径
        • RAD_installdir:Rational Application Developer 的安装目录。
    5. C 或 COBOL 源文件:您将使用此 COBOL(TADERC99.ccp)或 C 源文件来通过“批处理导入器”生成数据绑定文件和接口文件。
  2. 从命令行运行“批处理导入器”:遵循下列步骤来从命令行调用“批处理导入器”:
    1. 确保想要使用的资源适配器已经导入到工作空间中。
    2. 创建一个目录来保存步骤 1 中提到的文件。余下步骤将此目录称为 inputdir
    3. 在平台属性文件中设置主机系统的语言和连接属性。将相应的平台属性文件(CICSECI_PlatformProperties.xml 或 IMS_PlatformProperties.xml)从 %PROGRAMFILES%/IBM/SDP70Shared/plugins/com.ibm.adapter.j2c.command_6.1.0/sample/batch_import(其中 x 指的是 Rational 开发软件的安装目录)复制至 inputdir,并使用文本编辑器将它打开。可以在此文件中设置反映目标环境的缺省属性。此文件中设置的任何属性在下一步骤中描述的服务定义文件中可能会被覆盖。您不必删除未使用的平台定义。
    4. 将相应的样本服务定义文件(CICSECI_cSample.xml、CICSECI_cobolSample.xml 或 IMS_cobolSample.xml)复制至 inputdir 并根据需要重命名该文件。
    5. 将样本容器文件 sampleContainer.xml 复制至 inputdir 并根据需要重命名该文件。使用文本编辑器打开生成的文件并设置相应的平台,对于在步骤 d 中创建的每个服务定义文件,添加引用已创建的服务定义文件的 ImportDefinition 元素。
    6. 如果使用目标工作空间的 Rational Application Developer 的实例正在运行,则关闭该实例。
    7. 从命令行中使用下列选项调用 importBatch 命令:importBatch -file=containerFile [-style=generationStyle] [-d workspace] [-e RAD_installdir]
      注: -file 参数要求输入 containerFile 的完整文件系统路径。
  3. 从工作台运行“批处理导入器”:遵循下列步骤来从工作台调用“批处理导入器”:
    1. 确保想要使用的资源适配器已经导入到工作空间中
    2. 创建简单项目(将其命名为 Temp)来保存步骤 1 中提到的文件。余下步骤将此目录称为 inputdir
    3. 执行从命令行运行批处理导入器中的步骤 c步骤 d步骤 e
    4. 将 batchImport.xml 从 %PROGRAMFILES%/IBM/SDP70Shared/plugins/com.ibm.adapter.command_6.0.0/script 复制至 inputdir。更改 sampleContainer.xml 以匹配容器文件的名称。
    5. 右键单击 batchImport.xml,并选择选项运行 > 2 Ant 构建。在打开的窗口中,选择 JRE 并选择与工作空间运行于同一 JRE 中。单击应用,然后单击关闭。此步骤只需要执行一次。
    6. 右键单击 batchImport.xml,并选择运行 > 1 Ant 构建

      “批处理导入器”将导入 COBOL 和 C 文件并在 XML 文件中指定的项目(EISProject)和包(派生自 targetNameSpace)中生成绑定文件。

      注: 从命令行调用的“批处理导入器”的执行过程类似于从工作空间中运行。为了说明这一点,打开用于生成步骤 1 中文件的工作空间。您将会注意到一个称为 Temp 的项目,该项目包含在步骤 3 中手工导入的相同文件。

反馈