Tipos de Mapeamento

Os mapeamentos podem ser construídos de mensagem a mensagem, de banco de dados a mensagem ou de mensagem a banco de dados. Os relacionamentos de mapeamento podem ser:
Os domínios de mapeamento consistem em mensagens e tabelas de banco de dados. Os mapeamentos possíveis são:

Os elementos que podem ser mapeados são campos ou estruturas. Um campo é um elemento de mensagem que não é um grupo local, uma coluna do banco de dados ou um atributo. Um campo pode ter elementos que podem ser repetidos, mas essa possibilidade de repetição não deve ser confundida com a cardinalidade dos mapeamentos, que será discutida em Cardinalidade de Mapeamento. Uma estrutura é um contêiner de campos, tal como uma mensagem, uma tabela do banco de dados, um grupo local sob uma mensagem, um atributo, uma referência a um grupo global ou local ou uma referência a um grupo de atributos. A granularidade se refere ao nível no qual as relações de mapeamento podem ser estabelecidas.

O suporta mapeamentos campo a campo entre qualquer combinação de campos de mensagem (não incluindo grupos locais) e colunas de banco de dados com uma exceção: mapeamentos de coluna de banco de dados para coluna de banco de dados não são suportados, porque eles não envolvem mensagens. O também suporta mapeamentos estrutura a estrutura apenas entre tipos complexos exatamente do mesmo tipo em qualquer nível de mensagem.

A estrutura de mapeamento para bancos de dados tem um nível de aninhamento (colunas em uma tabela), enquanto que os campos de mensagens têm níveis arbitrários de aninhamento. O mapeamento direto de banco de dados a banco de dados não é suportado.

Na criação de mapeamentos campo a campo, um campo é um elemento em uma estrutura de mensagem (não um grupo local ou a própria estrutura de mensagem) ou uma coluna de banco de dados (não uma tabela). Podem ser feitos mapeamentos entre um campo de mensagem e outro campo de mensagem ou um campo de coluna de banco de dados, e entre um campo de coluna de banco de dados e um campo de mensagem.Por exemplo, no mapeamento de banco de dados para mensagem, um mapeamento um para um envolve o primeiro valor na coluna selecionada sendo designado ao elemento da mensagem de destino; no mapeamento muitos para um, o resultado da operação escalar executada nos primeiros valores da coluna selecionada é designado ao elemento da mensagem de destino.

Você pode criar mapeamentos estrutura a estrutura entre mensagens equivalentes (ou seja, mensagens tendo exatamente o mesmo tipo complexo XSD). Em uma abordagem de baixo para cima, são criados mapeamentos de campos. Você pode selecionar as mensagens pai e criar um mapeamento entre elas, desde que as mensagens sejam de tipos complexos XSD idênticos. Mapeamentos no nível de estrutura não são criados automaticamente. Na abordagem de cima para baixo, você pode criar o mapeamento entre as mensagens pai e os mapeamentos subordinados posteriormente. Um exemplo simples disso é simplesmente mapear a entrada para a mensagem de saída sem nenhuma alteração. Neste exemplo, o mapeamento do nível superior é suficiente.

Um caso em que isto é útil é transmitir cabeçalhos da mensagem sem nenhuma alteração. Um cenário em que o mapeamento de cima para baixo é útil é quando uma mensagem precisa ser modificada somente parcialmente. Por exemplo, somente cinco campos em uma mensagem com mais de 400 campos. Nesse caso, o mapeamento do nível superior pode ser feito da mensagem para si própria para indicar que todos os campos são idênticos. Para alterar a maneira como os cinco campos são modificados, crie cinco mapeamentos explícitos que especifiquem o comportamento desejado para esses campos. Isso significa que você não tem que especificar 395 mapeamentos onde os objetos sejam idênticos e cinco onde algo seja diferente.

Estes tópicos descrevem os vários tipos de mapeamento.

Conceitos relacionados
Mapeamentos
Fluxos de Mensagem
Modelagem de Mensagens

Tarefas relacionadas
Desenvolvendo Mapeamentos

Referências relacionadas
Mapeamentos