Editor do Fluxo de Mediação

O editor do Fluxo de Mediação é um ambiente de programação gráfico utilizado para criar e manipular visualmente fluxos de mediação.

É possível compor visualmente um fluxo de mediação definindo as operações de origem e de destino na seção Conexões de Operação e, em seguida, incluir e ligar visualmente primitivas de mediação na seção de fluxo. Você, em seguida, inclui propriedades para as primitivas na visualização propriedades. A seguir está uma imagem de um fluxo de mediação aberto no editor do Fluxo de Mediação, que mostra as diferentes seções do editor:

Figura do Editor do Fluxo de Mediação

Estas são as seções do editor do Fluxo de Mediação:
Estes são os editores ativados a partir da visualização Propriedades do editor do Fluxo de Mediação:

Conexões de Operação

Esta seção é utilizada para identificar as operações que serão chamadas no fluxo de mediação por uma operação de origem. Geralmente, estas são as operações conectadas entre uma interface de origem e as referências de destino; no entanto; um fluxo também pode ser definido para uma operação de origem que não esteja conectada a um destino. Nesse caso, a mensagem retorna para o editor após a conclusão do processamento. É necessário definir tanto uma operação de origem quanto uma conexão entre operações de origem e de destino para que seja possível criar um fluxo. A seguir está uma imagem que mostra a operação de uma interface de origem conectada às operações de duas referências de destino:

Figura da seção conexão de operações

Estes são os elementos da seção Conexões de Operação:
  1. Barra de Ferramentas
    • A barra de ferramentas é a coleção de ícones na parte superior. Arraste um ícone de interface Ícone de Interface ou um ícone de referência Ícone de Referência para o canvas para incluir uma interface de origem ou uma referência de destino.
  2. Interface de Origem
    • Uma ou mais interfaces de origem que permitem aos solicitantes de serviços acessar o fluxo de mediação. Essas interfaces devem corresponder às interfaces das exportações que serão ligadas ao componente do fluxo de mediação no módulo de mediação. Interfaces de origem são sempre criadas no lado esquerdo do editor. Um fluxo de mediação deve ter uma interface de origem.
  3. Referências de Destino
    • Zero ou mais referências de destino que permitem a um componente de fluxo de mediação acessar um fornecedor de serviços através de uma importação no módulo de mediação. A referência especifica a interface que é utilizada pela importação para chamar o serviço. Referências de destino são sempre criadas no lado direito do editor. As referências de serviço das primitivas de mediação customizadas são mostradas como referências de destino não conectadas.
  4. Importar interface
    • A referência de destino contém a interface utilizada pela importação para chamar o serviço.
  5. Importar interface
    • A referência de destino contém a interface utilizada pela importação para chamar o serviço.
  6. Conexões
    • Conexões entre as operações de uma interface de origem e uma ou mais interfaces de destino, mostradas como ligações no editor. A operação de origem na conexão chama a operação de destino e envia a mensagem como um parâmetro para a operação de destino. A operação de destino retorna a mensagem como uma resposta para a operação de origem. As operações de origem e destino definem os nós de extremidade do fluxo de mediação.

Fluxo de Mediação

Esta seção é utilizada para construir um fluxo para a definição de operação criada na seção superior do editor. Assim que você definir uma conexão de operação, fluxos de resposta e pedido vazios são gerados pelo Editor do Fluxo de Mediação, dependendo da maneira de como definiu a operação. Um fluxo de pedido é sempre gerado para uma operação de origem. Se a origem estiver esperando uma resposta de uma operação de destino, um fluxo de resposta também será gerado. Os fluxos gerados incluem nós que são extremidades no fluxo. Esses nós são derivados das conexões de operação. Você constrói seu fluxo incluindo primitivas de mediação entre esses nós e ligando-os juntamente.

A imagem a seguir mostra um fluxo de pedido para uma operação de origem que possa chamar duas operações de destino. É possível comutar entre os fluxos de pedido e de resposta clicando nas guias abaixo do canvas. Se uma operação de origem não estiver conectada a um destino, você verá apenas um fluxo de pedido.


Fluxo de Pedido

Fluxo de Pedido

Os nós de entrada, de legenda, de resposta de entrada e de falha de entrada de um fluxo de mediação são criados pelo editor, com base nas operações de origem e de destino definidas na seção conexão de operações do editor. O fluxo é representado da esquerda para a direita. Estes são os elementos na seção fluxo de pedido do editor:
  1. Nó de Entrada O primeiro elemento à esquerda na visualização de pedido, derivado da operação de origem. Esse é o ponto de início para o fluxo de pedido e envia a mensagem para o fluxo de pedido. Um fluxo pode ter apenas um nó de entrada.
  2. Nó de Legenda Uma extremidade no fluxo de pedido, derivado das operações de destino. Ele envia a mensagem processada à operação de destino. Existe um nó de legenda para cada operação de destino.
  3. Nó de Resposta de Entrada Se uma operação de origem não estiver ligada a um destino, o fluxo de pedido geralmente terminará com este nó, o qual retorna a mensagem processada como uma resposta à operação de origem.
  4. Nó de Falha de Entrada Se uma operação de origem tiver mensagens de falha WSDL, o nó de falha de entrada aparecerá no fluxo. Esse nó é uma extremidade no fluxo de pedido. Ele possui um terminal de entrada para cada tipo de mensagem de falha definido na operação de origem. Qualquer mensagem propagada para um nó de falha de entrada resultará em uma mensagem de falha WSDL sendo retornada da operação de origem.
  5. Primitivas de Mediação processam a mensagem. Elas são ligadas seqüencialmente no fluxo entre os nós de entrada e de legenda
  6. Conexões As mensagens são propagadas através de conexões, que representam o caminho da mensagem a partir de nó ou primitiva anteriores para o próximo nó ou primitiva no fluxo. As conexões são mostradas como ligações no fluxo.

A imagem a seguir mostra um fluxo de resposta para uma operação de origem que possa chamar duas operações de destino. É possível comutar entre os fluxos de pedido e de resposta clicando nas guias abaixo do canvas. Se uma operação de origem não estiver conectada a um destino, você verá apenas um fluxo de pedido.


Fluxo de Resposta

Fluxo de Resposta

Os nós de resposta de legenda, de falha de legenda, de falha de entrada e de resposta de entrada de um fluxo de mediação são criados pelo editor, com base nas operações de origem e de destino definidas na seção conexão de operações do editor. O fluxo de retorno do destino para a origem é representado da esquerda para a direita. Estes são os elementos na seção fluxo de resposta do editor:
  1. Resposta de Legenda Um ponto inicial para o fluxo de resposta. Ele redireciona a mensagem recebida da operação de destino para o fluxo de resposta. Existe um nó de resposta de legenda para cada operação de destino.
  2. Nó de Falha de Legenda Um ponto inicial para o fluxo de resposta. Ele possui um terminal de saída para cada tipo de mensagem de falha definido na operação de destino. Quando uma falha WSDL ocorre, o nó de falha de legenda propaga a mensagem para a primitiva ou nó ao qual ele está ligado.
  3. Nó de Resposta de Entrada Uma extremidade no fluxo de resposta. Ele retorna a mensagem processada como uma resposta para a operação de origem.
  4. Nó de Falha de Entrada Se uma operação de origem tiver mensagens de falha, o nó de falha de entrada aparecerá no fluxo de resposta. Esse nó é uma extremidade no fluxo de resposta. Ele possui um terminal de entrada para cada tipo de mensagem de falha definido na operação de origem. Qualquer mensagem propagada para um nó de falha de entrada resultará em uma falha WSDL da operação de origem.
  5. Primitivas de Mediação processam a mensagem. Elas são ligadas seqüencialmente no fluxo entre os nós de resposta de legenda e de resposta de entrada
  6. Conexões As mensagens são propagadas através de conexões, que representam o caminho da mensagem a partir de nó ou primitiva anteriores para o próximo nó ou primitiva no fluxo. As conexões são mostradas como ligações no fluxo.

Paleta

A paleta é igual para fluxos de pedido e de resposta. Você pode selecionar uma primitiva de mediação da paleta e incluí-la no canvas. A imagem a seguir mostra a paleta com suas primitivas de mediação:
Figura das primitivas de mediação na paleta

Estas são as primitivas de mediação na paleta:

  • A primitiva Mediação Customizada Primitiva Mediação Customizada na paleta permite implementar sua própria lógica de mediação utilizando código Java, ou chamar uma importação no mesmo módulo de mediação.
  • A primitiva Transformação XSL Primitiva Transformação XSL na paleta transforma formatos de mensagens entre operações de origem e de destino. A primitiva utiliza uma folha de estilo XSL para mapear entre os tipos de mensagem de origem e de destino.
  • A primitiva Logger de Mensagens Primitiva Logger de Mensagens na paleta registra mensagens em um banco de dados.
  • A primitiva Filtro de Mensagens Primitiva Filtro de Mensagens na paleta roteia mensagens de maneira condicional, com base nos resultados da avaliação de padrão. Um padrão é avaliado em comparação com a mensagem e se o resultado for verdadeiro a mensagem é propagada para um terminal associado ao padrão.
  • A primitiva Consulta de Banco de Dados Primitiva Consulta de Banco de Dados na paleta melhora a mensagem utilizando dados recuperados a partir de um banco de dados.
A primeira primitiva na parte superior da paleta é uma primitiva de mediação Parada. Clique neste ícone para visualizar estas primitivas que podem ser utilizadas para manipulação de erro:
Primitivas Parada e Falha na paleta
  • A primitiva de mediação Parada Primitiva Parada na paleta interrompe silenciosamente a execução do caminho atual no fluxo. Esse término é esperado, e não é causado por uma falha de execução da primitiva.
  • A primitiva de mediação Falha Primitiva Falha na paleta interrompe a execução do fluxo e emite uma exceção quando existe uma falha de execução conhecida na primitiva. Você pode definir suas próprias exceções para a primitiva Falha.

Visualização Propriedades

Durante o trabalho com o editor de Fluxo de Mediação, utilize a visualização Propriedades para modificar propriedades do nó selecionado ou da primitiva de mediação no canvas. A imagem a seguir mostra a visualização Propriedades exibindo as propriedades de um componente selecionado no canvas:

Visualização Propriedades do Editor do Fluxo de Mediação

Nota: Na visualização Propriedades você encontra ajuda detalhada sensível ao contexto para as propriedades. Utilize o mouse ou a tecla Tab para focar o campo ou botão e pressione a tecla F1 (no Linux pressione Ctrl+F1) para exibir o texto de ajuda.

As propriedades de nós e primitivas de mediação estão agrupadas em descrição, detalhes e implementação:

  • Propriedades de Descrição

    As propriedades de descrição fornecem informações sobre o nome e a descrição da primitiva de mediação ou do nó.

  • Propriedades do Terminal

    A imagem a seguir mostra a visualização Propriedades exibindo as propriedades do terminal de uma primitiva Registrador de Mensagens:

    Propriedades do Terminal no Editor do Fluxo de Mediação
    Uma visualização em árvore lista os terminais de primitivas e nós. Há três tipos de terminais:
    • O Terminal de entrada recebe a mensagem que chega. Cada primitiva possui um terminal de entrada.
    • O Terminal de saída propaga a mensagem de saída. Algumas primitivas, como Filtro de Mensagem, permite incluir terminais de saída.
    • O Terminal de falha envia a mensagem de entrada e informação da exceção quando houver uma falha de execução na primitiva.

  • Propriedades de Detalhes

    As primitivas de mediação possuem propriedades que determinam como uma mensagem será processada. Essas propriedades são configuradas na visualização detalhes. Algumas propriedades podem ser configuradas utilizando o XPath Expression Builder ou o XML Mapping Editor. Os botões que ativam esses editores estão disponíveis na visualização de propriedades de detalhes. A imagem a seguir mostra as propriedades de detalhes de uma primitiva Registrador de Mensagens. O botão Customizar XPath ativa o XPath Expression Builder, que exibe a mensagem de entrada em uma visualização em árvore e permite a você construir visualmente uma expressão XPath 1.0.

    Página de Propriedades de Detalhes

  • Propriedades de Implementação

    Uma mediação customizada possui uma visualização de propriedades de implementação, que permite criar código simples Java utilizando o editor Visual Snippet ou o editor de Snippet Java. Esta é uma imagem das propriedades de implementação de uma primitiva de mediação customizada, mostrando um snippet Java:

    Propriedades de Implementação na Visualização Propriedades

Confira "Propriedades de Configuração dos Nós e Primitivas" nos links de tarefas relacionados para obter uma descrição detalhada das propriedades.

XPath Expression Builder

A maioria das primitivas de mediação possui propriedades especificadas usando uma expressão XPath 1.0, por exemplo, a propriedade raiz leva uma expressão do XPath 1.0 que especifica a parte da mensagem que está disponível para a primitiva para ser processada. O XPath Expression Builder fornece uma visualização de árvore da mensagem e permite construir visualmente ou especificar manualmente uma expressão XPath 1.0.

A mensagem de entrada é exibida no visualizador de esquema do XPath Expression Builder, de forma que o terminal de entrada da primitiva deve estar conectado para ativar o Expression Builder. Caso um terminal de entrada de primitiva não esteja conectado, o construtor não será ativado porque não conhece o tipo de mensagem a ser exibida.

O XPath Expression Builder é normalmente ativado clicando-se no botão Customizar XPath na visualização Propriedades de detalhes de um nó ou da primitiva de mediação. Para propriedades que são configuradas em uma tabela, clique no fim de uma expressão para ver o botão Botão de Ativação do XPath Expression Builder que ativa o XPath Expression Builder.

A imagem a seguir mostra uma mensagem exibida no XPath Expression Builder:


Figura do XPath Expression Builder

Visualizador de Esquema

O visualizador de esquema mostra uma visualização em árvore da mensagem, com as seguintes seções.
  1. context: O contexto da mensagem em que a informação que não é relacionada para a carga útil é armazenada. O contexto possui três elementos.

    correlation
    faz a propriedade persistir até a duração dos fluxos de pedido e de resposta, e é utilizada para transmitir valores do fluxo de pedido para o fluxo de resposta.
    transient
    disponibiliza a propriedade até a duração do fluxo atual (o fluxo de pedido ou o fluxo de resposta) e é utilizado para transmitir valores entre primitivas de mediação no mesmo fluxo.
    failInfo
    Contém informações da exceção sobre a falha de execução em uma primitiva de mediação; ele contém a cadeia de exceção da mensagem e identifica a primitiva em que a falha ocorreu. Essa informação é propagada ao terminal de falha.

  2. Headers contém informações de cabeçalhos associadas à mensagem. Existem cinco elementos na seção de cabeçalhos:

    SMOHeader
    Contém informação que define a mensagem; como o ID de mensagem exclusivo, versão de mensagem e tipo de mensagem. Um cabeçalho SMO está sempre presente em um Service Message Object.
    JMSHeader
    Contém cabeçalhos JMS, quando uma ligação de importação ou exportação de JMS é utilizada.
    SOAPHeader
    Contém informação sobre cabeçalho SOAP, quando uma ligação de importação ou exportação de serviços da Web é utilizada.
    SOAPFaultInfo
    Contém informação sobre falhas do SOAP; código de falha, cadeia de falha etc.
    Properties[]
    Propriedades inseridas no cabeçalho da mensagem pelo aplicativo

  3. Body contém os dados do aplicativo em um objeto de negócios. Os dados do aplicativo também são conhecidos como carga útil ou tipo de mensagem de operação.

Localização XPath

O caminho do local do campo que você selecionou no visualizador de esquema é exibido aqui.

Condição

Oferece uma lista drop-down de campos disponíveis, que você pode utilizar para filtrar ou selecionar especificando um valor. A informação de condição e o local XPath são combinados para criar a expressão completa.

Expressão XPath Completa

Exibe a expressão XPath concluída.

Substituir

Permite digitar manualmente em sua própria expressão XPath ou editar a expressão criada visualmente.

XML Mapping Editor

O XML Mapping Editor é ativado a partir da visualização propriedades da primitiva XSL Transformation. O editor de mapeamento é utilizado para mapear entre as mensagens de entrada (origem) e de saída (destino) e produz um mapa XML, que é utilizado para gerar uma folha de estilo XSL. A primitiva XSL Transformation utiliza essa folha de estilo XSL para transformar o formato da mensagem de entrada no formato da mensagem de saída conforme definido na folha de estilo XSL.

Essa é uma visualização do XML Mapping Editor:
XML Mapping Editor

Para informações adicionais, confira:
Conceitos relacionados
Visão Geral dos Serviços de Mediação
Tarefas relacionadas
Criando um Componente do Fluxo de Mediação
Abrindo o Editor do Fluxo de Mediação
Conectando Operações de Origem e de Destino
Construindo Fluxos de Pedido e de Resposta
Implementando uma Primitiva de Mediação Customizada
Testando e Depurando Módulos de Mediação

Informações relacionadas

Tutorial: Criar um Fluxo de Mediação
Amostras: Editor do Fluxo de Mediação
Contribuindo com Seu Próprio Plug-in de Primitiva de Mediação

Feedback
(C) Direitos Autorais IBM Corporation 2005, 2006. Todos os Direitos Reservados.