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:

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:

Estes são os elementos da seção Conexões de Operação:
- Barra de Ferramentas
- A barra de ferramentas é a coleção de ícones na parte superior. Arraste um ícone de
interface
ou
um ícone de referência
para o canvas para incluir uma interface de origem ou uma referência de destino.
- 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.
- 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.
- Importar interface
- A referência de destino contém a interface utilizada pela importação para chamar o serviço.
- Importar interface
- A referência de destino contém a interface utilizada pela importação para chamar o serviço.
- 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
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:
- 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.
- 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.
- 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.
- 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.
- Primitivas de Mediação processam a mensagem. Elas são ligadas seqüencialmente
no fluxo entre os nós de entrada e de legenda
- 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
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:
- 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.
- 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.
- 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.
- 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.
- 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
- 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:

Estas são as primitivas
de mediação na paleta:
- A primitiva Mediação Customizada
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
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
registra mensagens em um banco de dados.
- A primitiva Filtro de Mensagens
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
melhora a mensagem utilizando dados recuperados a partir de um banco de dados.
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:

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:

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.

- 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:

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
que ativa o XPath Expression Builder.
A imagem a seguir
mostra uma mensagem exibida no XPath Expression Builder:

Visualizador
de Esquema
O visualizador de esquema mostra uma visualização em árvore da mensagem, com as seguintes seções.
- 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.
- 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
- 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:

Para
informações adicionais, confira: