Share via


Sugestões de design para desenvolver um CRM COM+

A seguir estão as etapas sugeridas para o desenvolvimento de um CRM COM+:

  1. Antes de iniciar o desenvolvimento, defina o tempo limite da transação como zero (usando a ferramenta administrativa Serviços de Componentes). Defina o sinalizador do Registro VTRACE1 (consulte Configurações do Registro do CRM COM+) para ver as mensagens de aviso e erro do CRM no rastreamento de depuração.
  2. Determine qual conjunto de interfaces você precisa usar, estruturado (Variantes) ou não estruturado. (Veja Interfaces CRM COM+.) Isso dependerá da linguagem que você usa para desenvolver seu CRM, por exemplo, Microsoft Visual C++ ou Microsoft Visual Basic.
  3. Desenvolva o trabalhador do CRM primeiro. Determine as informações necessárias nos registros de log. Defina os tipos de registros de log necessários e seu formato.
  4. Um compensador de CRM de depuração é fornecido como parte dos exemplos de CRM (no SDK do Windows). Isso pode ser usado temporariamente ao depurar o trabalhador do CRM no lugar do compensador real do CRM.
  5. Quando o trabalhador do CRM estiver funcionando corretamente, desenvolva o compensador CRM real e substitua o compensador CRM de depuração pelo compensador CRM real.
  6. Pode ser desejável inicialmente não testar o caso de recuperação. Em caso afirmativo, exclua o arquivo de log do CRM para o aplicativo de servidor CRM sempre antes de iniciar esse aplicativo de servidor CRM.

Considerações

  1. Escreva adiante. O componente de trabalho do CRM deve escrever com antecedência; ou seja, ele deve gravar um registro de log indicando que vai executar uma ação antes de realmente executar essa ação. Além disso, esse registro de log deve ser forçado a disco após a gravação e antes que a ação seja executada.
  2. Isolamento. O CRM não impõe o isolamento. O design do CRM deve fornecer isolamento entre vários clientes em transações separadas e também deve considerar o caso antes da recuperação.
  3. Recuperação em andamento. O trabalhador do CRM deve manipular o código de erro "recuperação em andamento". Consulte Solucionando problemas do CRM COM+ para obter mais informações sobre esse código de erro.
  4. Tratamento de erro. O trabalhador do CRM deve lidar com o caso em que a transação é abortada antes do esperado. Consulte a seção Tratamento de erros no CRM COM+.
  5. Tempo de recuperação. O compensador de CRM deve ser projetado para executar a recuperação rapidamente para que o novo trabalho para esse aplicativo de servidor CRM não precise esperar.
  6. Idempotência. É possível que um compensador de CRM receba o mesmo registro de log novamente, para desfazer ou refazer uma ação que já foi desfeita ou refeita. As ações que o compensador do CRM pode executar devem ser idempotentes, o que geralmente significa que os códigos de erro retornados dessas ações devem ser ignorados.
  7. Início da recuperação. A recuperação de um aplicativo de servidor CRM é executada quando esse aplicativo de servidor CRM é iniciado. No entanto, não há inicialização automática de um aplicativo de servidor CRM. O desenvolvedor do aplicativo deve considerar como a inicialização e a recuperação devem ser iniciadas.

Conceitos do COM+ Compensating Resource Manager