Migrando um Fluxo de Mensagens

Você pode migrar os fluxos de mensagens criados no produto (, ou ) Versão 2.1 e utilizá-lo em .

(Se você estiver migrando do , todas as informações nesse tópico referentes aos plug-ins definidos pelo usuário e ESQL não serão aplicáveis: esses recursos não estão disponíveis em .)

Talvez você queira alterar os fluxos de mensagens migrados para tirar vantagem dos novos nós e recursos que estão disponíveis. Por exemplo, talvez você queira substituir um nó definido pelo usuário que recebe pedidos de serviços da Web pelo nó interno HTTPInput.Para obter informações adicionais sobre as alterações deste release, consulte O que Há de Novo?.

Você pode migrar mais de um fluxo de mensagens de uma vez, se desejar que eles sejam definidos no mesmo projeto do fluxo de mensagens. Você deve migrar os subfluxos e nós definidos pelo usuário com os fluxos de mensagens nos quais eles foram incluídos para assegurar referências consistentes.

Se você tiver definido mais de um fluxo de mensagens com o mesmo nome, ou o fluxo de mensagens tiver sido exportado para mais de um arquivo de exportação, a tarefa de migração sobrescreverá sem aviso qualquer fluxo de mensagens existente pelo próximo fluxo que ela localizar com o mesmo nome. Portanto, você deve ter cuidado para evitar conflitos e para assegurar que a versão mais recente de um fluxo de mensagens múltiplo definido seja o último a ser migrado.

Se você tiver várias versões do mesmo fluxo de mensagens e utilizar esse como um subfluxo em outros fluxos no mesmo diretório de migração, os resultados da importação serão imprevisíveis.

Para migrar um fluxo de mensagens:

  1. Antes de instalar a Versão 2.1, exporte o fluxo ou os fluxos de mensagens do Centro de Controle, utilizando as ferramentas da Versão 2.1 (consulte a biblioteca da Versão 2.1 para obter informações detalhadas).

    O processo de migração é mais eficiente quando todos os subfluxos referenciados estiverem incluídos no mesmo arquivo de exportação; portanto, exporte todos os fluxos de mensagens que você deseja migrar para um único projeto do fluxo de mensagens em um único arquivo de exportação.

  2. Transfira o arquivo ou arquivos de exportação para o novo sistema no qual você está executando o . Verifique se o diretório no qual você armazena estes arquivos não contém outros arquivos. Armazene os arquivos que deseja importar para um único projeto do fluxo de mensagens em um diretório separado e migre cada diretório separadamente. Certifique-se de não armazenar arquivos em subdiretórios do diretório do projeto, porque esses arquivos são ignorados pelo comando migrar.
  3. Se você tiver uma sessão ativa do , deverá fechá-la. Não é possível executar o comando migrar se o estiver em execução.
  4. Em um prompt de comandos, chame o comando , especificando o nome do novo projeto e o diretório no qual você armazenou os arquivos de exportação (consulte o Comando mqsimigratemsgflows para obter detalhes completos deste comando). Quando o comando estiver concluído:
    • Os fluxos de mensagens contidos nos arquivos de exportação no diretório especificado serão importados para o projeto do fluxo de mensagens especificado. Se o projeto já existir, os fluxos de mensagens adicionais serão incluídos com o conteúdo atual, se houver algum. Se o projeto não existir antes de você chamar o comando, ele será criado. É recomendável permitir que o comando crie o projeto do fluxo de mensagens.
    • Os fluxos de mensagens e subfluxos foram criados e suas definições armazenadas em arquivos denominados <flow_name>.msgflow. Os nós definidos pelo usuário foram criados e suas definições armazenadas em arquivos denominados <node_name>.msgnode.

      Se desejar renomear qualquer um desses fluxos de mensagens ou nós após a importação para ficar de acordo com as convenções de nomenclatura locais, será necessário utilizar os recursos fornecidos pelo para preservar a consistência e integridade de todas as referências.Não renomeie nenhum dos arquivos no sistema de arquivos.

    • Se qualquer um dos nós nos fluxos de mensagens continha ESQL, ele será extraído do próprio nó e armazenado no arquivo ESQL <message_flow_name>.esql. O ESQL para cada nó foi agrupado entre as instruções apropriadas CREATE e END MODULE (para Compute, Database, ou Filter). O arquivo ESQL é criado pelo comando se ainda não existir.

      Início da mudançaVerifique o nível de compatibilidade padrão do ESQL na página de preferências do editor de ESQL. O valor padrão para essa opção é 5.0 que resulta em código de ESQL de tempo de execução gerado no nível 5.0 quando você inclui um fluxo de mensagens em um arquivo bar. Esse código não é compatível com intermediários da versão 2.1. Se desejar que o arquivo bar inclua o ESQL de tempo de execução versão 2.0, reconfigure a preferência do editor. Se fizer isso, não será possível incluir as melhorias da versão 5.0 no código de ESQL, mas será possível implementar os fluxos nos intermediários de versão 2.1 e de versão 5.0. Consulte Editor ESQL para obter detalhes adicionais.Fim da mudança

  5. Verifique o arquivo de relatório .report.txt que está gravado no diretório a partir do qual você chamou o comando. O comando fornece as seguintes informações:
    • O nome de cada fluxo de mensagens, subfluxo e nó definido pelo usuário migrado.Se qualquer um destes recursos tiver um nome que seja incompatível com a Versão 5.0, o comando atualizará o nome e todas as referências a esse nome para assegurar consistência. (Se você migrar um recurso com um nome inválido mais de uma vez, a correção feita no nome será sempre a mesma).
    • O êxito ou falha de cada recurso migrado.
    • Uma indicação de um subfluxo que não pode ser localizado (sua definição não está contida em nenhum dos arquivos de exportação, mas está incluída em um ou mais dos fluxos de mensagens migrados). Se isso ocorrer, localize o subfluxo ausente e importe-o para o projeto apropriado para resolver esse erro. Se, por qualquer motivo, você não puder recuperar o subfluxo ausente, recrie-o com o nome original. Todos os fluxos afetados podem então ser vinculados corretamente ao novo subfluxo.

      Não é necessário repetir todos os processos de exportação e importação.

    • Uma indicação de que um recurso migrado como um fluxo de mensagens e armazenado em um arquivo .msgflow pode ser um nó definido pelo usuário. Se esse aviso ocorrer, será necessário verificar se o recurso especificado é um nó definido pelo usuário ou um fluxo de mensagens. Se for um fluxo de mensagens, isso indica que ele foi migrado corretamente. Se for um nó definido pelo usuário, você deve concluir as ações descritas na etapa 11.
  6. Inicie o e alterne para a .
  7. Abra o projeto do fluxo de mensagens criado ou atualizado pelo comando migrar (clique com o botão direito no projeto e selecione Abrir Projeto). Se o projeto já estiver aberto, clique com o botão direito e selecione Atualizar, em seguida, Reconstruir Projeto para assegurar que a visualização Navegador refletirá o novo conteúdo.A reconstrução também executa uma validação do conteúdo do projeto do fluxo de mensagens.

    Como o ESQL e os mapeamentos são tratados de forma diferente na Versão 5.0, o processo de migração substitui alguns dos nós da 2.1 por diferentes nós da 5.0. Os nós substituídos são mostrados na tabela a seguir. O ESQL associado a cada nó é criado como um módulo com um nome padrão e a propriedade do nó definida como o nome desse módulo.

    Nó da Versão 2.1 Nó da Versão 5.0
    Compute Compute
    Filter Filter
    Database Database
    DataDelete Database
    DataInsert Database
    DataUpdate Database
    Extract Compute
    Warehouse Database
  8. Se um fluxo de mensagens incluir um ou mais nós Filter, verifique no módulo ESQL para cada nó no arquivo ESQL para assegurar-se de que a instrução RETURN retorne corretamente uma expressão válida que processe para um valor booleano.
  9. Se um fluxo de mensagens incluir um nó com ESQL, os campos de referência ESQL em uma mensagem derivada de um cabeçalho C importado e você recriou o modelo de mensagens importando o cabeçalho C para , verifique as instruções ESQL que se referem a essa mensagem. A importação para a Versão 5.0 pode criar um modelo com convenções de nomenclatura diferentes das criadas pelo importador da Versão 2.1 e talvez seja necessário atualizar uma ou mais referências de campo.
  10. Se você tiver promovido a propriedade ESQL de qualquer um dos nós da Versão 2.1 que incluiu a personalização ESQL para reutilizar o ESQL em vários nós, isso não será mantido nos fluxos de mensagens migrados da Versão 5.0, porque a promoção de propriedades relacionadas ao ESQL não é mais suportada. A visualização Tarefa mostra um erro para cada propriedade ESQL promovida. Para obter o mesmo efeito, é necessário criar uma função ESQL e chamar essa função a partir de cada módulo ESQL do nó.
  11. Se você tiver migrado um nó definido pelo usuário, apenas o arquivo de definição de interface XML será migrado para um arquivo do nó .msgnode (isso define apenas os terminais e propriedades do nó). É necessário concluir manualmente sua migração e definição nessa versão do produto. As etapas a seguir fornecem uma descrição do processo requerido: para obter detalhes completos, consulte Criando a Representação da Interface com o Usuário de um Nó Definido pelo Usuário no.
    1. Crie um novo projeto do nó definido pelo usuário e mova o arquivo .msgnode do projeto do fluxo de mensagens para o novo projeto do nó definido pelo usuário. Quando fizer isso, os arquivos de propriedades associados serão criados.
    2. Opcional: Conclua o desenvolvimento do nó definido pelo usuário no ambiente do Eclipse para criar o plug-in Eclipse do nó definido pelo usuário (a estrutura de diretórios que contém os arquivos que compõem esse nó). Essa tarefa inclui a criação de recursos do nó para ajuda, ícones, editores de propriedades e compiladores, se necessário.
    3. Verifique a existência de erros na lista de tarefas. Eles podem ser gerados, por exemplo, se o nó ou os nomes do terminal incluírem o caractere de espaço (não suportado na Versão 5) ou se um fluxo incorporar outro fluxo migrado e a referência não estiver correta. Resolva esses erros corrigindo nomes ou utilizando a opção de menu Localizar subfluxo.
    4. Instale o código de tempo de execução para o nó (o arquivo .lil) nos sistemas dos intermediários apropriados. Não é necessário recompilar o código para seu nó definido pelo usuário ao migrá-lo.
    5. Pare e inicie novamente o intermediário para reconhecer os arquivos novos ou alterados.

Conceitos relacionados
Fluxos de Mensagem
Funções ESQL

Tarefas relacionadas
Abrindo um Fluxo de Mensagens Existente
Definindo o Conteúdo do Fluxo de Mensagens
Desenvolvendo ESQL

Referências relacionadas

Editor ESQL
Nós Internos
Comando mqsimigratemsgflows