Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Planejar o escopo de aplicativos COM+ é uma tarefa de design importante que você deve considerar desde o início. Os sistemas distribuídos que se destinam a ser executados usando COM+ devem ser projetados para implantação com a menor quantidade de configuração individual e para usar cada processo de forma mais eficiente. Há também técnicas que você pode usar que permitirão que você obtenha o desempenho ideal ao implantar um aplicativo COM+. (Para obter mais informações, consulte Implementação para comunicação mais eficiente.)
Quando visualizado com a ferramenta administrativa Serviços de Componentes, cada aplicativo COM+ aparece como uma pasta dentro da qual os conjuntos de componentes são agrupados logicamente. Embora você possa mover componentes individuais entre o aplicativo COM+ Componentes pastas (em outras palavras, de um aplicativo para outro), vários serviços definidos no nível do aplicativo COM+, como segurança, podem diferir. Essas configurações de serviço podem afetar a portabilidade.
Um aplicativo de servidor COM+ define um limite de processo
Quando você cria um novo aplicativo de servidor COM+, você está realmente definindo um novo limite de processo. (Observe a exceção para aplicativos de biblioteca explicada abaixo.) Esse processo se torna a instância do aplicativo de controle para os componentes contidos no aplicativo COM+. Todos esses componentes são executados em processo em uma nova instância do programa executável COM+ sempre que um programa chama um aplicativo COM+ pela primeira vez. Isso significa que todos os componentes dentro da pasta Components de um determinado aplicativo COM+ são executados em um único espaço de processo que serve como o servidor DCOM. Dentro da aplicação COM+, o COM+ gere a memória, a coordenação com o Coordenador de Transações Distribuídas (DTC), a ativação da instância do componente just-in-time, a deteção e recuperação de falhas e a segurança baseada em funções.
Chamando através dos limites do aplicativo COM+
Como cada aplicativo COM+ normalmente é implementado como um executável separado, o efeito de dividir um aplicativo distribuído em vários aplicativos COM+ introduz chamadas COM fora de processo quando componentes em um aplicativo COM+ chamam os componentes em outro aplicativo COM+. Isso introduz degradação do desempenho devido à carga extra que a transferência de parâmetros COM entre processos impõe.
Observação
Não há nada inerentemente errado em incorrer nesta penalidade de desempenho; você só precisa estar ciente de que isso vai ocorrer. Dependendo do tempo de resposta necessário, do número de usuários que solicitarão simultaneamente serviços corporativos e da carga de inicialização adicional que cada componente adiciona a cada aplicativo COM+, você pode achar que o acerto de desempenho atribuível a chamadas entre aplicativos é aceitável.
Uma possibilidade que elimina a perda de desempenho ao realizar chamadas através dos limites das aplicações COM+ é marcar uma determinada aplicação COM+ como uma aplicação de biblioteca. Um aplicativo de biblioteca COM+ é executado no processo do cliente que o cria. É claro que nenhum ganho de desempenho tem custo zero. Nesse caso, o trade-off envolve as limitações dos aplicativos de biblioteca COM+. Embora um aplicativo de biblioteca possa usar segurança baseada em função, ele não pode oferecer suporte a componentes enfileirados ou acesso remoto.
Tópicos relacionados