Notas sobre Migração de Conjuntos de Mensagens

Este tópico fornece informações sobre o que é necessário saber ao migrar conjuntos de mensagens para o WebSphere Message Broker Versão 6.0. Ele contém as seções a seguir:

Se estiver utilizando o Message Brokers Toolkit Versão 5.1, substitua todas as referências neste tópico à "Versão 5.0" pela "Versão 5.1".

Migrando da Versão 2.1

Para migrar conjuntos de mensagens da Versão 2.1 para a Versão 6.0, utilize o comando mqsimigratemsgsets para converter os arquivos de exportação do conjunto de mensagens (.mrp) da Versão 2.1 para projetos do conjunto de mensagens da Versão 6.0. Antes de executar o comando, consulte o tópico Migrando Conjuntos de Mensagens da Versão 2.1, que fornece notas detalhadas sobre sua operação.

Migrando da Versão 5.0

Para migrar conjuntos de mensagens da Versão 5.0 para a Versão 6.0, não são necessários comandos de migração. O conteúdo de um projeto do conjunto de mensagens da Versão 5.0 pode ser lido pelo Message Brokers Toolkit Versão 6.0 e é convertido automaticamente para o formato da Versão 6.0 quando é modificado e salvo pela primeira vez.

Informações Gerais de Migração

As informações a seguir são aplicáveis se você tiver migrado da Versão 2.1 ou da Versão 5.0.
  • A propriedade do CWF Contagem de Repetições foi substituída pela propriedade lógica Máximo de Ocorrências, alinhando o formato físico do CWF com os formatos físicos TDS e XML, que já utilizam Máximo de Ocorrências para determinar o número de repetições. Aparece um aviso na visualização Problemas do editor de mensagem para cada elemento ou grupo que tinha um conjunto de valores de Contagem de Repetições. Clique com o botão direito do mouse no aviso e clique em Correção Rápida para resolver o problema.
    Nota: Na Versão 5.0, se a propriedade do CWF Contagem de Repetições não estiver configurada e Mínimo de Ocorrências não for igual a Máximo de Ocorrências, o número de repetições será assumido como um. Na Versão 6.0, o número de repetições é considerado como Máximo de Ocorrências. Não é possível emitir um aviso para esta situação. Tal modelo de mensagem não é criado pelos importadores COBOL ou C, portanto, ele pode ocorrer somente se você tiver criado um modelo de mensagem do CWF utilizando o editor de mensagem da Versão 5.0.
  • O formato físico TDS anterior à Versão 6.0 incluía identificação de mensagem incorporada pela Chave de Mensagem. A técnica da Chave de Mensagem foi reprovada e substituída por uma técnica chamada Identidade da Mensagem. Aparece um aviso na visualização Problemas do editor de mensagem para cada mensagem que possui um valor de Chave de Mensagem de TDS e para cada elemento ou atributo que possui uma propriedade Interpretar Valor do Elemento de TDS configurada como Chave de Mensagem. Clique com o botão direito do mouse no aviso e clique em Correção Rápida para resolver o problema.

    Continue utilizando a Chave de Mensagem de TDS se o conjunto de mensagens for implementado sempre para um intermediário da Versão 5.0 ou da Versão 2.1, porque estes intermediários não suportam a técnica de Identidade da Mensagem de identificação de mensagem incorporada.

  • A propriedade de formato físico de TDS Padrão de Dados agora é validada pelo Message Brokers Toolkit para assegurar que ela seja um expressão comum de Esquema XML válida. Aparecem erros na visualização Problemas do editor de mensagem e é necessário corrigi-los manualmente utilizando o editor. Em específico, ocorreram alguns erros tipográficos emitidos na especificação do Esquema XML referentes ao escape de metacaracteres, o que pode causar o aparecimento de erros de validação. Para corrigir os erros, você pode fazer o escape do hífen ("-") ou das chaves ( "{" e "}"), utilizando a barra invertida ("\"); por exemplo, "\{" ou "\-". Se você receber tais erros ao utilizar um conjunto de mensagens fornecido pela IBM, entre em contato com a IBM para obter uma versão correta do conjunto de mensagens.
  • O valor padrão ou valor fixo de um elemento ou atributo e os valores de enumeração de um tipo simples agora têm verificados os aspectos de comprimento, de comprimento máximo e de comprimento mínimo do tipo simples, se fornecido. Se um valor não estiver de acordo com os aspectos, aparecerá um erro na visualização Problemas do editor de mensagem. Clique com o botão direito do mouse no erro e clique em Correção Rápida para resolver o problema, se houver uma correção rápida disponível. Caso contrário, corrija o problema manualmente utilizando o editor. Esse erro mais provavelmente será encontrado se você importar um copybook COBOL para a Versão 5.0 Fix Pack 2 ou versão anterior do Message Brokers Toolkit.
  • As propriedades de CWF e TDS Codificação Nula e Valor de Codificação Nula foram removidas de atributos locais, atributos globais e referências de atributos. No esquema XML, somente elementos podem ter uma propriedade Nillable, portanto, um valor nulo não pode ser transportado por um campo de dados modelado como um atributo. Se você tiver especificado valores de CWF ou TDS de Codificação Nula para atributos na Versão 5.0, eles serão ignorados.
  • A propriedade de TDS Delimitador de Elemento de Repetição foi removida de atributos locais e de referências de atributos. No Esquema XML, os atributos não podem ser repetidos. Se você tiver especificado valores de TDS de Delimitador de Elemento de Repetição para atributos na Versão 5.0, eles serão ignorados.
  • Para um elemento ou atributo com tipo simples xsd:gMonth, o valor padrão para a propriedade de CWF, XML e TDS Formato de Datetime agora é "--MM". Na Versão 5.0, o valor padrão é "--MM--". Isto foi corrigido para ficar de acordo com um erro tipográfico do Esquema XML.
  • Quando estiver migrando, não é necessário reimplementar seus conjuntos de mensagens, porque os dicionários de mensagens recebem upgrade no banco de dados do intermediário para o formato da Versão 6.0 pelo comando mqsimigratecomponents. No entanto, se você não reimplementar um conjunto de mensagens e observar uma ParserException, como "verificado erro de vetor" ou "violação de acesso", quando exercitar pela primeira vez um fluxo de mensagens que utiliza o fluxo de mensagens, será necessário reimplementar o conjunto de mensagens. Isto pode ocorrer se o dicionário de mensagem contiver dados inválidos não detectados anteriormente. Na Versão 6.0, um dicionário de mensagem é verificado na primeira utilização; na Versão 2.1 e na Versão 5.0, este não é o caso.

Alterações Comportamentais no Analisador MRM

As informações a seguir serão aplicáveis se você tiver migrado da Versão 2.1 ou da Versão 5.0:
  • Formato físico XML. A Versão 6.0 agora considera atributos xsi:type no documento XML e modifica seu comportamento de forma apropriada. Os atributos xsi:type não são mais tratados como atributos de autodefinição, portanto, eles aparecem na árvore de mensagens com o nome 'type' em vez de '@type'. Se a lógica do fluxo de mensagens considerar atributos xsi:type na árvore de mensagens, altere seu fluxo de mensagens para ficar de acordo com o novo comportamento. Para manter a lógica da pré-Versão 6.0 em seus fluxos de mensagens, configure a variável de ambiente MQSI_IGNORE_XSI_TYPE como qualquer valor e o comportamento da pré-Versão 6.0 será adotado.
  • Formato físico XML. As informações de DOCTYPE em um documento XML não aparecem na árvore de mensagens lógicas quando analisadas, mas são preservadas do documento de entrada para o documento de saída, porque o MRM mantém uma cópia do DOCTYPE internamente. Antes da Versão 6.0, esta era uma cópia exata do fluxo de bits. Na Versão 6.0, o processo de cópia causa a perda de alguns espaços em branco de formatação. Por exemplo, a declaração do elemento abaixo em um DOCTYPE de entrada:
    <!ELEMENT e0 (e1|e2)+ >
    aparecerá na saída como:
    <!ELEMENT e0 (e1|e2)+>
    O novo comportamento é consistente com a forma que o formato físico XML processa espaço em branco em todas as demais construções XML.
  • Formato físico TDS. Para um grupo com a propriedade lógica Composição configurada como Opção e a propriedade de TDS Separação de Elemento de Dados configurada como Comprimento Fixo, o analisador sempre assumirá que o comprimento dos dados da opção é o do filho mais longo do grupo e sempre lerá e gravará esse número de caracteres. Certifique-se de que suas mensagens estejam de acordo com isso; caso contrário, o analisador tratará os dados que seguem a opção como parte da opção. Antes da Versão 6.0, o analisador não aplicava esta regra.
  • Formato físico TDS. Se a propriedade do elemento de TDS Codificação Nula estiver configurada como NullPadFill, ocorrerá uma ação nela apenas se a propriedade Comprimento correspondente estiver sendo utilizada ativamente durante a análise ou gravação. Antes da Versão 6.0, NullPadFill recebia uma ação independentemente de a propriedade Comprimento estar sendo utilizada ativamente.
  • Formato físico TDS. A propriedade de TDS Separação de Elemento de Dados está configurada como Todos os Elementos Delimitados ou Elementos de Comprimento Variável Delimitados. Um elemento complexo a partir de agora sempre será tratado como tendo comprimento variável, independentemente de sua própria configuração de Separação de Elemento de Dados. Isto significa que o fluxo de bits da mensagem, um Delimitador, é esperado entre o elemento complexo e qualquer elemento subseqüente e um Delimitador de Elemento de Repetição é esperado entre todas as instâncias de um elemento complexo, mesmo que o elemento complexo tenha um comprimento fixo. Antes da Versão 6.0, o analisador não aplicava esta regra e, para Elementos de Comprimento Variável Delimitado, o escritor não exibia delimitadores quando o comprimento do elemento completo era conhecido.
  • Formato físico TDS. A propriedade de TDS Separação de Elemento de Dados está configurada como Utilizar Padrão de Dados. Se a expressão comum especificada para um padrão de dados retornar uma correspondência de comprimento zero, isto será tratado como um elemento que está presente com um valor de comprimento zero. Antes da Versão 6.0, uma correspondência de comprimento zero era tratada como um elemento sendo omitido.
  • Formato físico TDS. A propriedade de TDS Separação de Elemento de Dados está configurada como Ativado Delimitado. Um delimitador externo que ocorre após o último filho do grupo no fluxo de bits não é mais tolerado e causará uma exceção de análise. Antes da Versão 6.0, o analisador não aplicava esta regra. Se este for um problema, é recomendável modelar o delimitador externo utilizando a propriedade de TDS Terminador de Grupo.
  • Formato físico TDS. A propriedade de TDS Separação de Elemento de Dados está configurada como Ativado Delimitado. Na Versão 6.0, ao analisar um grupo Ativado Delimitado, o analisador tenta dar sentido aos grupos nos quais os membros aparecem fora de ordem no fluxo de bits da mensagem, mesmo que a propriedade Composição do grupo esteja configurada como Seqüência ou OrderedSet. No entanto, se o grupo contiver uma mensagem incorporada ou um elemento ou grupo complexo que não pode ser identificado a partir do fluxo de bits, todos os membros do grupo devem aparecer no fluxo de bits na mesma ordem que estão definidos no modelo. Se eles aparecerem fora de ordem, o grupo não será analisado corretamente e terá resultados imprevisíveis. Um sintoma disto é a aparência de elementos de autodefinição na árvore de mensagens, causada por uma falha ao corresponder um elemento ao modelo.

    Um exemplo específico disso é onde sua mensagem contém uma mensagem incorporada e você está utilizando a técnica de Chave de Mensagem ou Identidade da Mensagem para identificar a mensagem incorporada. Se o elemento que está fornecendo o valor da chave de mensagem ou da identidade de mensagem não for correspondido com o modelo, o analisador não saberá se seu valor deve ser interpretado como uma chave de mensagem ou uma identidade de mensagem.

    Antes da Versão 6.0, o analisador tentava dar sentido a todos os grupos Ativados Delimitados fora de ordem, com uma conseqüente redução no desempenho. Na Versão 6.0, se isto for um problema, é recomendável modelar o conteúdo não ordenado do grupo como um grupo de filhos incorporado com Composição configurada como UnorderedSet.

    Um elemento complexo ou grupo pode ser identificado no fluxo de bits se fornecer um indicador de grupo, uma tag ou um padrão de dados ou se seus membros-filhos fornecerem um indicador de grupo, uma tag ou um padrão de dados.

    Apesar de seu nome, existem situações em que os membros de um grupo Ativado Delimitado não precisam fornecer uma tag; especificamente se o membro for uma mensagem incorporada ou um elemento complexo ou grupo.

  • Formato físico TDS. A propriedade de TDS Separação de Elemento de Dados está configurada como Comprimento Ativado Codificado. Durante a gravação, o comprimento codificado é exibido como o número de caracteres nos dados, para corresponder à interpretação durante a análise. Antes da Versão 6.0, o comprimento codificado era exibido como o número de bytes nos dados, que não correspondia à interpretação durante a análise se os dados não fossem SBCS.
  • Formato físico TDS. Ao gravar, se o número de repetições de um elemento ou grupo for fixo no modelo, mas as ocorrências em si na árvore de mensagens lógicas exceder o número de repetições e a propriedade Separação de Elemento de Dados não for uma das separações "Ativadas", as ocorrências extras serão descartadas e não aparecerão na saída. Antes da Versão 6.0, as ocorrências extras aparecem na saída. Se for esperado que as repetições extras apareçam na saída, especifique maxOccurs=-1 para indicar que o número de repetições seja limitado.
  • Todos os formatos físicos. Ao gravar campos dateTime que tiveram uma propriedade Formato fornecida igual a I, o formato da saída dependerá do tipo lógico do campo, conforme descrito em DateTime como Dados de Cadeia. Antes da Versão 6.0, o formato da saída era incorretamente o formato completo yyyy-MM-dd'T'HH:mm:ssZZZ.
  • A validação de mensagens de entrada e de saída foi aprimorada para fornecer detecção adicional de mensagens inválidas. Na Versão 6.0, é possível sinalizar uma mensagem como inválida quando não era sinalizada incorretamente em versões anteriores.
Tarefas relacionadas
Migrando um Conjunto de Mensagens
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ah20250_