Concepts de regroupement d’objets COM+
Le regroupement d’objets est un service automatique fourni par COM+ qui vous permet de configurer un composant pour que les instances d’elle-même restent actives dans un pool, prêtes à être utilisées par tout client qui demande le composant. Vous pouvez configurer et surveiller administrativement le pool géré pour un composant donné, en spécifiant des caractéristiques telles que la taille du pool et les valeurs de délai d’expiration des demandes de création. Lorsque l’application est en cours d’exécution, COM+ gère le pool pour vous, en gérant les détails de l’activation et de la réutilisation des objets selon les critères que vous avez spécifiés.
Vous pouvez obtenir des avantages très significatifs en matière de performances et de mise à l’échelle en réutilisant les objets de cette manière, en particulier lorsqu’ils sont écrits pour tirer pleinement parti de la réutilisation. Avec le regroupement d’objets, vous bénéficiez des avantages suivants :
- Vous pouvez accélérer l’utilisation de l’objet pour chaque client, en factorisant l’initialisation et l’acquisition de ressources fastidieuses à partir du travail réel que l’objet effectue pour les clients.
- Vous pouvez partager le coût d’acquisition de ressources coûteuses entre tous les clients.
- Vous pouvez préallouer des objets au démarrage de l’application, avant l’arrivée de toutes les demandes clientes.
- Vous pouvez régir l’utilisation des ressources avec la gestion du pool d’administration, par exemple, en définissant un niveau de pool maximal approprié, vous ne pouvez conserver ouvert que le nombre de connexions de base de données pour lequel vous disposez d’une licence.
- Vous pouvez configurer administrativement le regroupement pour tirer le meilleur parti des ressources matérielles disponibles, vous pouvez facilement ajuster la configuration du pool à mesure que les ressources matérielles disponibles changent.
- Vous pouvez accélérer le temps de réactivation pour les objets qui utilisent l’activation juste-à-temps (JIT), tout en contrôlant délibérément la façon dont les ressources sont dédiées aux clients.
Écriture d’objets pouvant être mis en pool
Les objets pouvant être regroupés doivent répondre à certaines exigences pour permettre à un seul objet instance d’être utilisé par plusieurs clients. Par exemple, ils ne peuvent pas contenir l’état du client ou avoir une affinité de thread. Les objets transactionnels ont également des exigences particulières, car les ressources managées détenues par un objet mis en pool doivent être inscrites manuellement dans une transaction.
Les objets mis en pool peuvent implémenter IObjectControl pour contrôler la façon dont ils sont réutilisés. Cela leur permet d’effectuer l’initialisation lorsqu’ils sont activés dans un contexte donné, de propre n’importe quel état client lors de la désactivation et d’indiquer quand ils sont dans un état non réutilisable.
Souvent, il est utile d’écrire des objets pouvant être regroupés de manière quelque peu générique afin qu’ils puissent être personnalisés administrativement avec une chaîne de constructeur. Par exemple, un objet peut être écrit pour contenir une connexion ODBC générique, avec un DSN particulier spécifié administrativement dans une chaîne de constructeur.
Les rubriques de cette section, décrites dans le tableau suivant, fournissent des informations sur le fonctionnement du regroupement d’objets dans COM+, ainsi que des informations sur l’écriture, la configuration et l’implémentation d’objets pouvant être mis en pool.
Rubrique | Description |
---|---|
Fonctionnement du regroupement d’objets |
Présente les concepts de base. |
Amélioration des performances avec le regroupement d’objets |
Fournit des détails spécifiques sur la façon dont vous pouvez utiliser le regroupement d’objets le plus efficacement. |
Configuration requise pour les objets pouvant être mis en pool |
Fournit des détails sur l’écriture d’un objet qui doit être mis en pool. |
Regroupement d’objets transactionnels |
Fournit des détails sur les exigences spéciales qui s’appliquent aux objets transactionnels pouvant être regroupés. |
Contrôle de la durée de vie et de l’état des objets |
Décrit la façon dont les objets mis en pool peuvent être implémentés pour contrôler la façon dont ils sont réutilisés. |