Suggestions de conception pour le développement d’un CRM COM+

Voici les étapes suggérées pour le développement d’un CRM COM+ :

  1. Avant de commencer le développement, définissez le délai d’attente de la transaction sur zéro (à l’aide de l’outil d’administration Services de composants). Définissez l’indicateur de Registre VTRACE1 (voir Paramètres du Registre COM+ CRM) pour afficher les messages d’avertissement et d’erreur CRM sur la trace de débogage.
  2. Déterminez l’ensemble d’interfaces que vous devez utiliser, structurées (variantes) ou non structurées. (Voir Interfaces COM+ CRM.) Cela dépend du langage que vous utilisez pour développer votre CRM, par exemple, Microsoft Visual C++ ou Microsoft Visual Basic.
  3. Développez d’abord le worker CRM. Déterminez les informations requises dans les enregistrements de journal. Définissez les types d’enregistrements de journal requis et leur format.
  4. Un compensateur CRM de débogage est fourni dans le cadre des exemples CRM (dans le SDK Windows). Cela peut être utilisé temporairement lors du débogage du worker CRM à la place du compensateur CRM réel.
  5. Lorsque le collaborateur CRM fonctionne correctement, développez le compensateur CRM réel et remplacez le compensateur CRM de débogage par le vrai compensateur CRM.
  6. Il peut être souhaitable de ne pas tester initialement le cas de récupération. Si c’est le cas, supprimez le fichier journal CRM de l’application serveur CRM à chaque fois avant de démarrer cette application serveur CRM.

Considérations

  1. Écrivez à l’avance. Le composant Worker CRM doit écrire à l’avance ; Autrement dit, il doit écrire un enregistrement de journal indiquant qu’il va effectuer une action avant d’effectuer réellement cette action. En outre, cet enregistrement de journal doit être forcé sur le disque après l’écriture et avant l’exécution de l’action.
  2. Isolement : Le CRM n’applique pas d’isolation. La conception CRM doit fournir une isolation entre plusieurs clients sur des transactions distinctes et doit également prendre en compte le cas avant la récupération.
  3. Récupération en cours. Le worker CRM doit gérer le code d’erreur « récupération en cours ». Pour plus d’informations sur ce code d’erreur, consultez Résolution des problèmes liés à COM+ CRM .
  4. Gestion des erreurs. Le collaborateur CRM doit faire face au cas où la transaction est abandonnée plus tôt que prévu. Consultez la section Gestion des erreurs dans COM+ CRM.
  5. Temps de récupération. Le compensateur CRM doit être conçu pour effectuer une récupération rapide afin que le nouveau travail pour cette application serveur CRM n’ait pas à attendre.
  6. Idempotence. Il est possible qu’un compensateur CRM reçoive à nouveau le même enregistrement de journal pour annuler ou rétablir une action qui a déjà été annulée ou refaite. Les actions que le compensateur CRM peut effectuer doivent être idempotentes, ce qui signifie souvent que les codes d’erreur retournés par ces actions doivent être ignorés.
  7. Initiation de la récupération. La récupération d’une application serveur CRM est effectuée lors du démarrage de cette application serveur CRM. Toutefois, il n’existe aucun démarrage automatique d’une application serveur CRM. Le développeur d’applications doit réfléchir à la façon dont le démarrage et la récupération doivent être lancés.

Concepts de Resource Manager compense