Compartilhar via


Pressupostos e princípios de conceção COM+

O modelo de programação distribuída da Microsoft consiste em várias tecnologias, incluindo MSMQ, IIS, DCOM e COM+. Todos esses serviços foram projetados para uso por aplicativos distribuídos.

COM+ foi desenvolvido para facilitar a criação de aplicações distribuídas. A arquitetura geral é baseada em um conjunto de premissas e princípios.

Suposições

Os pressupostos são os seguintes:

  • O aplicativo COM+ oferecerá suporte a vários usuários em vários servidores. Em outras palavras, você está criando um aplicativo distribuído e esses vários usuários estarão em computadores host diferentes de onde o código é executado. Os usuários vão acessar o código através da Internet ou através de uma rede privada. A interface do usuário será apresentada via navegador ou talvez um aplicativo personalizado, como um aplicativo baseado em formulário escrito com Microsoft Visual Basic ou MFC. Essa interface do usuário estará localizada no computador cliente.
  • O aplicativo COM+ pode ser dimensionado e pode fornecer maior disponibilidade e confiabilidade implantando o aplicativo em vários computadores servidores. Ao fazer isso, você pode equilibrar a carga de trabalho do aplicativo e fornecer tolerância a falhas usando o Clustering do Windows.
  • Se as coisas derem errado, o estado dos dados persistentes, armazenados em um banco de dados, de um aplicativo COM+ será mantido se você estiver usando transações. O estado do aplicativo deve sobreviver a acidentes que podem ocorrer, como erros de aplicativo, falhas do sistema ou falhas de rede.

Princípios

Para além destes três pressupostos, os seguintes princípios permeiam o modelo de programação COM+:

  • A lógica do aplicativo residirá em computadores servidores, não em computadores cliente. Há três razões principais para fazer isso:
    • O computador cliente pode não ter o poder de processamento ou os recursos necessários para executar a lógica do aplicativo. Além disso, manter a lógica do aplicativo no servidor simplifica a implantação.
    • Os computadores servidores geralmente estão mais próximos dos dados, e esses dados geralmente estão em um banco de dados. Como seu aplicativo está acessando bancos de dados, você deseja ser muito sensível ao custo das conexões de banco de dados. Ao colocar a maior parte da lógica nos computadores servidores, você pode compartilhar conexões de banco de dados e obter uma melhoria significativa de desempenho. Há outros recursos nos computadores servidores que também podem ser compartilhados, novamente com um benefício de desempenho.
    • Ter a lógica do aplicativo residindo em computadores servidores mantém o controle do contexto de segurança com o aplicativo. Você terá mais controle sobre a segurança se mantiver essa segurança em componentes de aplicativos em execução em computadores servidores em vez de em computadores cliente.
  • As transações são o núcleo. Por design, as transações permeiam tanto o modelo de programação COM+ que é muito importante para você entendê-las. Embora você possa fazer uso de muitos dos serviços do COM+ sem usar transações, se você optar por não usá-los, você não pode tirar o máximo proveito dos serviços COM+ disponíveis para você. Alguns benefícios importantes do uso de transações incluem o seguinte:
    • As transações são uma solução razoável para o problema do gerenciamento de simultaneidade. Além disso, as transações ajudam a proteger contra falhas e têm um bom modelo de recuperação de erros. Além disso, as transações acabam sendo uma ótima maneira de gerenciar tarefas em vários sistemas.
    • Você pode projetar um aplicativo COM+ baseado em transação para trabalhar com um gerenciador de recursos e um banco de dados, o que ajuda a proteger a maioria das informações de estado. Ao manter o estado dentro de um banco de dados ou de algum outro armazenamento gerenciado por um gerenciador de recursos, você não precisa manter muito estado dentro dos objetos reais criados pelo aplicativo. Embora isso seja um afastamento de um modelo puramente orientado a objetos, ele funciona bem para criar aplicativos distribuídos com recuperação de erros.
  • A funcionalidade do aplicativo é criada como objetos COM, encapsulando os protocolos usados para se comunicar com outros sistemas ou tecnologias. Como você provavelmente está criando componentes que vão unir várias tecnologias ou sistemas legados, planeje usar uma variedade de protocolos de comunicação. Use HTTP para comunicação cliente/servidor ou comunicação aplicativo a aplicativo pela Internet. Use o DCOM para comunicação entre aplicativos ou componentes no servidor.

Diretrizes básicas para projetar aplicativos COM+

Projetando o aplicativo COM+ usando UML

Dicas gerais de design para usar COM+

Otimizando interações com a camada de lógica de negócios COM+

Outras ferramentas da Microsoft para criar aplicativos distribuídos