Construindo Java Beans J2C Usando o Importador de Lote

É possível criar e acessar classes de ligação J2C por meio do importador de lote ou da interface da linha de comandos em vez de usar o assistente Ligação de Dados J2C. Também é possível executar o importador de lotes a partir do ambiente de trabalho.

Antes de Iniciar

O importador de lote permite gerar classes de ligação J2C para o CICS ECI e IMS Resource Adapters. É possível criar e acessar classes de ligação J2C por meio do importador de lote ou da interface da linha de comandos em vez de usar o assistente Ligação de Dados J2C. Também é possível executar o importador de lotes a partir do ambiente de trabalho.

Sobre Esta Tarefa

Você precisa modificar os parâmetros nos cinco arquivos para adequar seu ambiente específico. Esses arquivos estão em <install-dir>/IBM/SDPShared/plugins/com.ibm.adapter.j2c.command/runtime e <install-dir>/IBM/IBMIMShared/plugins/com.ibm.adapter.j2c.command/sample.
  1. CICSECI_PlatformProperties.xml: Especifica os parâmetros de arquivo de origem C ou COBOL que são chamados por padrão, dependendo da plataforma que você está usando para executar o importador de lote (NT, AIX ou MVS).
  2. CICSECI_cobolSample.xml: Contém as propriedades de serviços que o importador de lote usará:
    • EISProject
      • name: Projeto de serviço que conterá o novo serviço corporativo. Se o projeto de serviço não existir, ele será criado manualmente.
        Nota: O arquivo de amostra contém um elemento ImportPropertyArray dentro de EISProject. As propriedades de importação contidas aqui substituirão quaisquer valores configurados em PlatformProperties.xml. Se os padrões configurados em PlatformProperties.xml estiverem corretos para esse serviço, o elemento ImportPropertyArray poderá ser removido.
    • EISService: um ou mais para cada EISProject
      • name: serviço corporativo. Após importar os arquivos C ou COBOL, três arquivos WSDL serão criados para cada serviço (interface, ligação e arquivos de serviço).
      • type: Adaptador de recursos usado para o serviço. É o nome do projeto de conector contendo o arquivo RAR.
      • targetNameSpace: URL do namespace de destino (http://...). Um pacote é criado no projeto de serviço com base no targetNameSpace para conter os arquivos WSDL gerados.
      • generateHelpers: Se os dados nativos que você está importando consistirem em tipos de dados complexos, como estruturas em C, as classes auxiliares serão necessárias durante a execução do serviço. Quando essa opção for configurada como "true", o programa em lote de importação irá gerar e compilar automaticamente essas classes auxiliares para você.
    • Operation: um ou mais de cada EISService:
      • name : Nome da operação.
      • type: O tipo da operação, REQUEST_RESPONSE, que contém a definição InputMessage e a definição OutputMessage, ou ONE_WAY, que contém a definição InputMessage.
        Nota: Se a InputMessage e a OutputMessage compartilharem a mesma definição de tipo, uma única definição InputOutputMessage será usada.
    • ...Message
      • importFile: Arquivo contendo a definição a ser usada para a criação da operação do serviço corporativo.
      • importDirectory: O caminho contendo o importFile. Se nenhum atributo importDirectory for especificado, o inputdir e o diretório atual serão usados para procurar o importFile.
      • nativeTypeName : O tipo de dados para importar do importFile. Por exemplo, no COBOL, nativeTypeName é provavelmente DFHCOMMAREA. Se após a análise do importFile nenhum nativeTypeName for identificado como um tipo de dados válido, um erro será retornado.
      • name: Nome para usar para o tipo de importação. Por exemplo, se DFHCOMMAREA representar dados do cliente, seria possível configurar o nome como Cliente.
      • generationPackage (opcional): Atributo que permite especificar um nome de pacote diferente para as classes auxiliares geradas (ou seja, os beans e os manipuladores de formato). Isso fornece um namespace diferente para o esquema que é gerado no arquivo WSDL da interface.
  3. sampleContainer.xml: Esse arquivo é passado como um argumento para o importador de lote e contém uma lista dos arquivos (ImportDefinitions) que precisam ser processados. O elemento ImportDefinitionArray tem estes atributos:
    • platform: Plataforma do sistema host. Os valores podem ser NT, AIX ou OS390.
    • platformProperties: Arquivo de propriedades da plataforma.
  4. importBatch.bat (Windows) ou importBatch.sh (Linux): O arquivo de programa do importador de lote com os seguintes parâmetros:
    • containerFile: Arquivo definido na etapa 3.
    • Parâmetros opcionais
      • generationStyle
        • 0 (padrão): Corresponde ao estilo WebSphere Studio V5.0
        • 1: Corresponde às opções de geração do VisualAge® for Java™: direta, sem notificação, sem classe interna, sem nomes abreviados e com matrizes de tipo primitivo.
        • 2: Corresponde às opções de geração do VisualAge for Java™: direta, sem notificação, sem classe interna, nomes abreviados, com matrizes de tipo primitivo.
      • workspace: Caminho completo da área de trabalho para usar para importação.
      • RAD_installdir: Diretório no qual o Rational Application Developer está instalado.
  5. Arquivo de origem C ou COBOL: Você usará este arquivo de origem COBOL (TADERC99.ccp) ou C para gerar os arquivos de ligação de dados e os arquivos de interfaces por meio do importador de lote.

Procedimento

  1. Executando o importador de lote a partir da linha de comandos: Siga estas etapas para chamar o importador de lote a partir da linha de comandos:
    1. Certifique-se de que o adaptador de recursos que você deseja usar tenha sido importado em sua área de trabalho.
    2. Crie um diretório para reter os arquivos mencionados no início. As etapas restantes se referirão a esse diretório como inputdir.
    3. Configure as propriedades de idioma e conexão para seu sistema host em um arquivo de propriedades da plataforma. Copie o arquivo de propriedades da plataforma apropriado (CICSECI_PlatformProperties.xml ou IMS_PlatformProperties.xml) do <install-dir>/plugins/IBM/IBMIMShared/plugins/com.ibm.adapter.j2c.command/sample para o inputdir e abra-o com o editor de texto. Você configura as propriedades padrão que refletem seu ambiente de destino nesse arquivo. Quaisquer propriedades configuradas nesse arquivo podem ser substituídas no arquivo de definição de serviço descrito na próxima etapa. Você não precisa excluir definições de plataforma que não são usadas.
    4. Copie o arquivo de definição de serviço de amostra apropriado (CICSECI_cSample.xml, CICSECI_cobolSample.xml ou IMS_cobolSample.xml) no inputdir, renomeando o arquivo conforme desejado.
    5. Copie o arquivo do contêiner de amostra sampleContainer.xml no inputdir, renomeando o arquivo conforme desejado. Abra o arquivo resultante com um editor de texto e configure a plataforma apropriada; para cada arquivo de definição de serviço que foi criado na etapa d, inclua um elemento ImportDefinition referenciando o arquivo de definição de serviço criado.
    6. Se uma instância do Rational Application Developer que usa a área de trabalho de destino estiver em execução, feche-a.
    7. Na linha de comandos, chame o comando importBatch com as seguintes opções: importBatch -file=containerFile [-style=generationStyle] [-d workspace] [-e RAD_installdir]
      Nota: O parâmetro -file requer um caminho de sistema de arquivos completo para containerFile
  2. Executando o importador de lote a partir do ambiente de trabalho: Siga estas etapas para chamar o importador de lote a partir do ambiente de trabalho:
    1. Certifique-se de que o adaptador de recursos que deseja usar tenha sido importado na área de trabalho
    2. Crie um projeto simples (nomeie-o como Temp) para reter os arquivos mencionados no início. As etapas restantes se referirão a esse diretório como inputdir.
    3. Execute a etapa c, etapa d e a etapa e executando o importador de lote a partir da linha de comandos.
    4. Copie o arquivo batchImport.xml de <install-dir>/IBM/IBMIMShared/plugins/com.ibm.adapter.j2c.command/script para inputdir. Altere sampleContainer.xml para corresponder ao nome do arquivo de contêiner.
    5. Clique com o botão direito do mouse em batchImport.xml e selecione Executar > Construção 2 Ant. Na janela aberta, selecione JRE > Executar no mesmo JRE que a área de trabalho. Clique em Aplicar e em Fechar. Essa etapa só é necessária uma vez.
    6. Clique com o botão direito do mouse em batchImport.xml e selecione Executar > Construção 2 Ant.

      O importador de lote importa os arquivos COBOL e C e gera os arquivos de ligação no projeto (EISProject) e no pacote (derivado de targetNameSpace) especificados no arquivo XML.

      Nota: O importador de lote chamado a partir da linha de comandos tem um processo de execução semelhante à execução de dentro da área de trabalho. Para demonstrar isso, abra a área de trabalho na qual os arquivos foram gerados no início. Você observará um projeto chamado Temp contendo os mesmos arquivos que foram importados à mão na etapa 1.

Feedback