Um domínio de aplicativo .NET é um contêiner de tempo de execução para conjuntos .NET e recursos associados usados pelo código .NET em seus fluxos de mensagens.
É possível chamar conjuntos .NET em seus fluxos de mensagens a partir do nó .NETCompute , ou de um procedimento ESQL. Também é possível incluir conjuntos .NET como dependências de uma biblioteca. Esses conjuntos são executados em um domínio de aplicativo .NET e podem ser empacotados em um arquivo broker archive (BAR). Os domínios de aplicativo são mostrados na visualização do navegador como peers de aplicativos e bibliotecas.
Um domínio de aplicativo .NET nomeado pode ser associado a aplicativos WebSphere Message Broker. Os conjuntos, ou recursos associados, contidos no domínio de aplicativo .NET são implementados juntos com o fluxo de mensagens ou aplicativo referenciador. É possível associar mais de um aplicativo ao mesmo domínio de aplicativo .NET. Isso significa que os dados e outros recursos podem ser compartilhados no tempo de execução entre diversos aplicativos.
A criação de um domínio de aplicativo .NET no WebSphere Message Broker Toolkit permite empacotar seus conjuntos .NET e recursos associados, conforme desejado, para serem executados no CLR (Common Language Runtime). Entretanto, você não tem que criar explicitamente um domínio de aplicativo .NET no Toolkit.
Se você não criar explicitamente um domínio de aplicativo .NET e não configurar um valor para a propriedade AppDomain do nó .NET, o os conjuntos .NET também poderão estar contidos em um domínio de aplicativo .NET implícito. Se você não configurar a propriedade do nó AppDomain, um domínio de aplicativo implícito será mostrado no navegador quando um fluxo de mensagens em sua área de trabalho chamar um conjunto .NET, ou quando uma biblioteca em sua área de trabalho incluir conjuntos .NET. No tempo de execução, o domínio de aplicativo implícito é criado automaticamente pelo broker e toma o nome do aplicativo referenciador, ou o nome do grupo de execução se o fluxo de mensagens não estiver contido em um aplicativo.
Isso significa que o nome do domínio de aplicativo no tempo de execução é dependente do nome do aplicativo ou grupo de execução ao qual ele pertence e será alterado se o aplicativo ou grupo de execução for renomeado. Além disso, se um conjunto for incluído em uma biblioteca que é referenciada por dois aplicativos diferentes, o domínio de aplicativo sob o qual esse conjunto é executado tem um nome diferente dependendo do aplicativo ao qual pertence.
Considere o seguinte exemplo: Uma biblioteca MyLib inclui um conjunto .NET e é referenciada a partir do aplicativo App1. Quando App1 é implementado, uma cópia da biblioteca é feita e o conjunto .NET é executado em um domínio de aplicativo .NET que toma o nome do aplicativo: App1. No entanto, se MyLib também for referenciada a partir do aplicativo App2, uma cópia separada da biblioteca será feita e o domínio de aplicativo no qual a segunda cópia do conjunto é executada tomará o nome App2.