Conception pour le déploiement

La planification de l’étendue des applications COM+ est une tâche de conception importante que vous devez envisager dès le début. Les systèmes distribués destinés à s’exécuter à l’aide de COM+ doivent être conçus pour le déploiement avec le moins de configuration individuelle et pour utiliser chaque processus de manière la plus efficace. Vous pouvez également utiliser des techniques qui vous permettront d’obtenir des performances optimales lors du déploiement d’une application COM+. (Pour plus d’informations, consultez Déploiement d’une communication plus rapide.)

Lorsqu’elle est affichée avec l’outil d’administration Services de composants, chaque application COM+ apparaît sous la forme d’un dossier dans lequel les ensembles de composants sont regroupés logiquement. Bien que vous puissiez déplacer des composants individuels entre des dossiers composants d’application COM+ (en d’autres termes, d’une application à une autre), plusieurs services définis au niveau de l’application COM+, tels que la sécurité, peuvent différer. Ces paramètres de service peuvent affecter la portabilité.

Une application serveur COM+ définit une limite de processus

Lorsque vous créez une application serveur COM+, vous définissez vraiment une nouvelle limite de processus. (Notez l’exception pour les applications de bibliothèque expliquée ci-dessous.) Ce processus devient l’application de contrôle instance pour les composants contenus dans l’application COM+. Ces composants s’exécutent tous in-process dans une nouvelle instance du programme exécutable COM+ chaque fois qu’un programme appelle une application COM+ pour la première fois. Cela signifie que tous les composants d’un dossier Composants d’une application COM+ donnée s’exécutent dans un espace de processus unique qui sert de serveur DCOM. Dans l’application COM+, COM+ gère la mémoire, la coordination avec distributed transaction coordinator (DTC), le composant juste-à-temps instance l’activation, la détection et la récupération des incidents, ainsi que la sécurité basée sur les rôles.

Appel au-delà des limites d’application COM+

Étant donné que chaque application COM+ est normalement implémentée sous la forme d’un exécutable distinct, le fractionnement d’une application distribuée entre plusieurs applications COM+ introduit des appels COM hors processus lorsque les composants d’une application COM+ appellent les composants d’une autre application COM+. Cela entraîne une dégradation des performances en raison de la charge supplémentaire qu’impose le marshaling des paramètres COM entre les processus.

Notes

Il n’y a rien de mal intrinsèquement à encourir cette pénalité de performance; vous devez juste être conscient que cela va se produire. En fonction du temps de réponse requis, du nombre d’utilisateurs qui demanderont simultanément des services métier et de la charge de démarrage ajoutée par chaque composant à chaque application COM+, vous pouvez constater que l’atteinte aux performances attribuable aux appels inter-applications est acceptable.

 

L’une des possibilités qui élimine la pénalité de performances de l’appel au-delà des limites d’application COM+ consiste à marquer une application COM+ donnée en tant qu’application de bibliothèque. Une application de bibliothèque COM+ s’exécute dans le processus du client qui la crée. Bien sûr, aucun gain de performances n’a aucun coût. Dans ce cas, le compromis implique les limitations des applications de bibliothèque COM+. Bien qu’une application de bibliothèque puisse utiliser la sécurité basée sur les rôles, elle ne peut pas prendre en charge les composants mis en file d’attente ou l’accès à distance.

Déploiement pour une communication plus rapide

Conception pour la disponibilité

Conception pour la scalabilité

Conception pour la sécurité