É possível desenvolver um nó definido pelo usuário que empacota um subfluxo do zero, da mesma forma que é possível criar qualquer outro nó definido pelo usuário que tenha sua implementação baseada em Java™, ou baseá-lo em um subfluxo existente.
O projeto que contém nós definidos pelo usuário pode ser exportado com um plug-in que é instalado no ambiente de desenvolvimento do
usuário. Os nós que são empacotados no plug-in são exibidos na paleta no editor de Fluxo de Mensagens e podem ser
utilizados em um fluxo de mensagens da mesma forma que podem ser utilizados como nós integrados.
O empacotamento de um subfluxo como um nó definido pelo usuário fornece todos os benefícios de um subfluxo, como reusabilidade e capacidade de manutenção, assim como os seguintes benefícios:
- O nó definido pelo usuário pode ser distribuído a outros desenvolvedores como um plug-in.
- O nó definido pelo usuário oculta os detalhes da implementação do subfluxo dos desenvolvedores que reutilizam o subfluxo.
- O nó definido pelo usuário evita a modificação do subfluxo pelos desenvolvedores que o reutilizam.
- O subfluxo é exibido na paleta no editor de Fluxo de Mensagens.
Limitações
- Não é possível usar nós definidos pelo usuário
criados a partir de subfluxos em subfluxos definidos em arquivos .subflow.
- Os fluxos de mensagens que contêm nós definidos pelo usuário que são criados a partir de subfluxos devem ser incluídos nos arquivos bar, como arquivos de fluxo de mensagens compilado (.cmf). Para obter mais informações,
consulte Incluindo Arquivos em um Broker Archive.
- Todos os recursos de fluxo (Mapas, ESQL, XSL ou outros recursos externos),
exceto código Java e conjuntos de mensagens,
que são referenciados no subfluxo, devem estar localizados no projeto de nó
definido pelo usuário.
- Um nó definido pelo usuário pode fazer referência a outro nó definido pelo usuário
no mesmo projeto de nó definido pelo usuário ou em um diferente, mas ele não deve fazer referência
a nada de um Projeto do Message Broker regular.
- O projeto de nó definido pelo usuário pode ter referências para outros projetos,
como conjuntos de mensagens e projetos Java.
- Se o nó definido pelo usuário referenciar um conjunto de mensagens, você deverá implementar
o conjunto de mensagens no tempo de execução separadamente. É possível copiar o
conjunto de mensagens em sua área de trabalho e implementá-lo através do arquivo
broker archive (BAR).
- Uma implementação de subfluxo de um nó definido pelo usuário pode conter outros
subfluxos, mas todos os subfluxos devem estar contidos no projeto de nó definido pelo
usuário.
- As propriedades promovidas a partir dos nós no subfluxo são suportadas.
As propriedades promovidas configuráveis a partir dos nós no subfluxo são exibidas como propriedades configuráveis do nó no editor Broker Archive.
- As propriedades definidas pelo usuário (UDP) no subfluxo são suportadas. Se
você criar múltiplas instâncias de nós definidos pelo usuário em seu fluxo,
cada tipo de propriedade definida pelo usuário que você definir deverá ter
o mesmo valor em cada instância.
- É possível usar o mesmo subfluxo mais de uma vez para construir um fluxo
próprio.
- É possível utilizar os seguintes tipos de nós que possuem correlacionadores nomeados
para criar um nó definido pelo usuário, mas você não deve usar mais de uma instância do
nó definido pelo usuário dentro de um fluxo, um grupo de execução ou um broker. Por exemplo,
não é possível utilizar nós de pedido assíncrono e de resposta assíncrona, nós agregados, pares de nós TimeoutControl e TimeoutNotification ou
nós de rótulo.
Se você não utilizar um desses tipos de nós, o fluxo de mensagens resultante será inválido. Se você implementar fluxos que contêm nós de pedido assíncrono, de resposta assíncrona ou de rótulo, você receberá uma mensagem de erro. Todavia, você não receberá uma mensagem de erro se implementar fluxos que contenham TimeoutControl, TimeoutNotification ou nós agregados.
- Os recursos no espaço de plug-in estão visíveis para todos os projetos
na área de trabalho. Mantenha nós definidos pelo usuário e seus fluxos associados, mapas, ESQL e outros recursos semelhantes em esquemas do broker nomeados adequadamente. Não coloque esses recursos em um esquema padrão ou em esquemas com nomes especiais, por exemplo, mqsi.