Use o nó .NETCompute nos brokers do Windows para criar mensagens de saída e interagir com aplicativos Microsoft .NET Framework (.NET) ou Component Object Model (COM).
Este tópico contém as seguintes seções:
As mensagens de saída que você cria no nó .NETCompute podem ser criadas modificando as informações que são fornecidas na mensagem de entrada ou utilizando informações que podem ser obtidas de outras origens, como aplicativos .NET ou COM. Elementos da mensagem de entrada (por exemplo: cabeçalhos, campos de cabeçalhos e dados do corpo) e os associados Environment, LocalEnvironment e ExceptionList podem ser usados para criar a mensagem de saída.
O nó .NETCompute usa qualquer linguagem compatível com Common Language Runtime (CLR) para criar ou modificar a mensagem, como C#, Visual Basic (VB), F# e C++/CLI (Common Language Infrastructure).
Use o nó .NETCompute para concluir as seguintes tarefas:
O nó .NETCompute está contido no .NET da paleta e é representado no WebSphere® Message Broker Toolkit pelo seguinte ícone:
O nó .NETCompute executa apenas nos brokers do Windows. Um erro ocorre se você tentar implementar um fluxo de mensagens que contenha um nó .NETCompute para um broker que esteja executando em um sistemaWindows . Assegure-se de que o broker esteja sendo executado no Windows antes de implementar o fluxo de mensagens.
Arquivos de configuração .NET, que podem ser usados em seu nó .NETCompute , são suportados no WebSphere Message Broker Toolkit.
O nó .NETCompute pode ser usado em qualquer fluxo de mensagens implementado para um broker que esteja executando no Windows. O nó .NETCompute geralmente é usado em um cenário no qual a mensagem criada é necessária para interagir com outros aplicativos .NET para armazenar dados da mensagem ou recuperar dados para aumentar a mensagem.
Apenas uma instância de um determinado nó .NETCompute é criada, independentemente do número de encadeamentos que estão em execução no fluxo de mensagens. Como um resultado de instâncias adicionais ou vários nós de entrada. Portanto, todo o código do seu código .NET de usuário deve ser thread-safe e reentrante. Para obter mais informações sobre como tornar um nó thread-safe e garantir que as funções implementadas e iniciadas pelas extensões definidas pelo usuário sejam reentrantes, consulte Modelo de Execução de Extensões Definidas pelo Usuário e Considerações sobre Encadeamento para Extensões Definidas pelo Usuário.
As atualizações feitas usando as linguagens .NET não participam de transações do WebSphere Message Broker .
O nó .NETCompute deve ser configurado com um conjunto .NET que contém o código do nó. O código consiste de uma classe que é entregue a partir da classe NBComputeNode abstrata fornecida no conjunto IBM.Broker.Plugin.dll.
Usando um conjunto .NET existente
Se o conjunto for fornecido como um arquivo .dll compilado de um fornecedor ou de terceiros, você deverá escolher o conjunto usando a opção Procurar que é fornecida pelas propriedades do Nome do Conjunto do nó.NETCompute . Alternativamente, é possível arrastar o conjunto diretamente no nó. Se você não tiver um conjunto, deverá criar um conjunto de nós.
Criando um conjunto .NET
O broker pode integrar-se com o Microsoft Visual Studio 2010 ou 2012 para criar um conjunto .NET que representa o nó. Para iniciar o Microsoft Visual Studio diretamente do nó, assegure que o Microsoft Visual Studio 2010 ou 2012 está instalado, e dê um clique duplo no nó .NETCompute . Como alternativa, clique com o botão direito do mouse no nó e selecione Abrir Microsoft Visual Studio. Se um projeto do Microsoft Visual Studio ou nome de solução for fornecido no Visual Studio painel, o projeto ou solução será automaticamente carregado quando o Microsoft Visual Studio é aberto.
A partir do Microsoft Visual Studio, selecione Novo Projeto. Você pode, então, selecionar um projeto Message Broker, que está localizado no idioma de sua escolha, por exemplo; Visual Basic.
O projecto gera um código base que corresponde ao tipo selecionado. Esse código base é então exibido no editor de linguagem .NET correspondente, por exemplo; Visual Basic.
A classe NBComputeNode contém um método que deve ser substituído e dois métodos adicionais opcionais que você pode optar por substituir, se necessário. O método Evaluate() sempre deve ser substituído e é automaticamente implementado pelo modelo Projeto do Message Broker, se o modelo for usado para gerar o código base. Os métodos opcionais são OnInitialize() e OnDelete(). Se você quiser que o nó execute qualquer operação de inicialização ou limpeza, forneça uma implementação de um ou dos dois métodos.
O método OnDelete() é chamado pelo broker imediatamente antes que o método exclua o nó. O método OnInitialize() é chamado pelo broker quando o nó é construído, após os atributos do nó estão configuradas. O método OnInitialize() é chamado durante a implementação, mas antes que a implementação seja confirmada. Os nós de recebimento de dados podem ainda lançar exceções durante a inicialização, causando falha na implementação. Por esse motivo, qualquer código de aplicativo que conte com o estado implementado do fluxo de mensagens deve ser colocado no método Evaluate().
Quando você coloca uma instância do nó .NETCompute em um fluxo de mensagens, você deve configurá-la; consulte Configurando um Nó do Fluxo de Mensagens. Para configurar o nó, é possível arrastar um arquivo de conjunto de um explorador de arquivos para o nó. As propriedades do nó são exibidas na visualização Propriedades.
Todas as propriedades obrigatórias para as quais é necessário digitar um valor (aquelas que não têm um valor padrão definido) são marcadas com um asterisco.
É possível codificar instruções para customizar o comportamento do nó .NETCompute usando os esqueletos do código do projeto Microsoft Visual Studio Nó de Cálculo do Message Broker como modelo. Por exemplo, você pode customizar o nó para criar uma mensagem de saída ou um número de mensagens usando uma mensagem de entrada ou dados de uma origem externa. Um cenário específico, caso queira modificar o valor da mensagem de entrada, pode ser feito incluindo um ou mais valores obtidos a partir da interface .NET de um aplicativo externo e armazenando o resultado na mensagem de saída.
Para depurar um .NETCompute que esteja executando dentro do grupo de execução, coloque o arquivo .pdb conjunto que implementa o nó no mesmo diretório do conjunto do nó e anexe o Microsoft Visual Studio para o processo DataFlowEngine.exe . Você pode então colocar pontos de interrupção em seu código e examinar variáveis, por exemplo; quando o ponto de interrupção é pressionado.
Para obter mais informações sobre como criar código .NET para um nó .NETCompute, é possível acessar a documentação do .NET API incluída na instalação do WebSphere Message Broker, no local do Menu Iniciar do Windows.
Configure as propriedades de validação para definir como a mensagem produzida pelo nó .NETCompute será validada. Essas propriedades não fazem com que a mensagem de entrada seja validada. É esperado que, se tal validação for requerida, o nó input ou um nó de validação anterior tenha executado a validação.
Para obter informações adicionais, consulte o Validando Mensagens e o Propriedades de Validação.
Os terminais do nó .NETCompute são descritos na tabela a seguir.
Terminal | Type | Descrição |
---|---|---|
In | Dados de entrada | O terminal de entrada que obtém dados de uma origem remota. |
Out | Dados de saída | O terminal de saída que envia dados para um nó de recebimento de dados. |
Falha | Dados de saída | O terminal de saída para o qual a mensagem de entrada será roteada, se ocorrer uma exceção não tratada durante a computação. |
* (dinâmico) | Dados de saída | Zero ou mais terminais de saída dinâmica podem ser criados para suportar o roteamento de mensagens. |
É possível definir terminais de saída dinâmicos adicionais no nó .NETCompute .
As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco se você precisar inserir um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (é possível alterar o valor quando você incluir o fluxo de mensagens no arquivo BAR para implementação).
As propriedades Descrição do nó .NETCompute são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição |
---|---|---|---|---|
Nome de Nó | Não | Não | O tipo de nó | O nome do nó. |
Descrição curta | Não | Não | Uma breve descrição do nó. | |
Descrição Longa | Não | Não | Texto que descreve a finalidade do nó no fluxo de mensagens. |
As propriedades Básicas do nó .NETCompute são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Nome do conjunto | SIM | SIM | O conjunto que implementa o nó. Use a opção Procurar para selecionar um conjunto, alternativamente, você pode descartar um arquivo .dll do conjunto no nó para concluir automaticamente esta propriedade. | AssemblyName | |
Nome da Classe | Não | SIM | O nome da classe que implementa o nó. Um valor para esta propriedade será necessário apenas se dois ou mais nó forem expostos a partir do mesmo conjunto ou para nomear explicitamente uma subclasse como o nó de implementação. | AssemblyNodeClassName |
As propriedades Microsoft Visual Studio para o nó .NETCompute são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Nome do Projeto do Visual Studio | Não | Não | O projeto ou solução do Microsoft Visual Studio que contém o código do nó. |
As propriedades Avançadas do nó .NETCompute são descritas na tabela a seguir.
Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Nome do AppDomain | Não | SIM | O .NET AppDomain que hospeda o nó. | AppDomain | |
Versão | Não | SIM | A Versão do Conjunto | AssemblyVersion | |
Cultura | Não | SIM | A Cultura do Conjunto | AssemblyCulture | |
Token de chave pública | Não | SIM | O Token Público do Conjunto | AssemblyPublicKeyToken |
As propriedades Validação do nó .NETCompute são descritas na tabela a seguir.
Para obter uma descrição completa dessas propriedades, consulte Propriedades de Validação.Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Validate | Não | SIM | Nenhum(a) | Essa propriedade controla se a validação ocorre. Os valores válidos são Nenhum, Conteúdo e Valor, Conteúdo e Herdar. | validateMaster |
Ação de falha | Não | Não | Exceção | Essa propriedade controla o que acontecerá se uma falha de validação ocorrer. Você poderá configurar esta propriedade apenas se Validar estiver configurado como Conteúdo ou Conteúdo e Valor. Os valores válidos são Rastreio do Usuário, Registro de Erros Local, Exceção e Lista de Exceções. |
Propriedade | M | P | Default | Descrição |
---|---|---|---|---|
Eventos | Não | Não | Nenhum | Eventos definidos para o nó são exibidos nesta guia. Por padrão, nenhum evento de monitoramento é definido em um nó do fluxo de mensagens. Utilize Incluir, Editar,
e Excluir para criar, alterar ou excluir eventos de monitoração no nó; consulte Configurando fontes de eventos de monitoramento utilizando propriedades de monitoramento para detalhes. É possível ativar e desativar eventos mostrados aqui selecionando ou desmarcando a caixa de opções Ativado. |
Propriedade | M | A | O padrão | Descrição | Propriedade do Comando mqsiapplybaroverride |
---|---|---|---|---|---|
Detalhes do Nome de Usuário | Não | Não | O nó fornece uma tabela na qual o usuário pode Incluir, Editar ou Excluir linhas, cada uma fornecendo um par Nome: Valor. |