Principes et hypothèses de conception COM+
Le modèle de programmation distribuée Microsoft se compose de plusieurs technologies, notamment MSMQ, IIS, DCOM et COM+. Tous ces services ont été conçus pour être utilisés par des applications distribuées.
COM+ a été développé pour faciliter la création d’applications distribuées. L’architecture globale est basée sur un ensemble d’hypothèses et de principes.
Hypothèses
Les hypothèses sont les suivantes :
- L’application COM+ prend en charge plusieurs utilisateurs sur plusieurs serveurs. En d’autres termes, vous créez une application distribuée, et ces utilisateurs multiples vont se trouver sur différents ordinateurs hôtes à partir desquels le code s’exécute. Les utilisateurs vont accéder au code via Internet ou via un réseau privé. L’interface utilisateur sera présentée via un navigateur ou peut-être une application personnalisée, telle qu’une application basée sur un formulaire écrite avec Microsoft Visual Basic ou MFC. Cette interface utilisateur va se trouver sur l’ordinateur client.
- L’application COM+ peut être rendue évolutive et peut offrir une disponibilité et une fiabilité accrues en déployant l’application sur plusieurs ordinateurs serveurs. Ce faisant, vous pouvez équilibrer la charge de travail de l’application et fournir une tolérance de panne à l’aide du clustering Windows.
- En cas de problème, l’état des données persistantes, stockées dans une base de données, à partir d’une application COM+ est conservé si vous utilisez des transactions. L’état de l’application doit survivre aux accidents qui peuvent se produire, tels que des erreurs d’application, des incidents système ou des défaillances réseau.
Principes
En plus de ces trois hypothèses, les principes suivants sont omniprésents dans le modèle de programmation COM+ :
- La logique d’application réside sur les ordinateurs serveurs, et non sur les ordinateurs clients. Il existe trois raisons principales de procéder ainsi :
- L’ordinateur client peut ne pas avoir la puissance de traitement ou les fonctionnalités nécessaires pour exécuter la logique de l’application. En outre, le fait de conserver la logique d’application sur le serveur simplifie le déploiement.
- Les ordinateurs serveurs sont souvent plus proches des données, et ces données se trouvent le plus souvent dans une base de données. Étant donné que votre application accède aux bases de données, vous souhaitez être très sensible au coût des connexions de base de données. En plaçant la majeure partie de la logique sur les ordinateurs serveurs, vous pouvez partager des connexions de base de données et obtenir une amélioration significative des performances. Il existe d’autres ressources sur les ordinateurs serveurs qui peuvent également être partagées, là encore avec un avantage en matière de performances.
- Le fait que la logique d’application réside sur les ordinateurs serveurs garde le contrôle du contexte de sécurité avec l’application. Vous avez davantage de contrôle sur la sécurité si vous conservez cette sécurité sur les composants d’application s’exécutant sur des ordinateurs serveurs plutôt que sur des ordinateurs clients.
- Les transactions constituent le cœur. Par conception, les transactions s’insèrent tellement dans le modèle de programmation COM+ qu’il est très important pour vous de les comprendre. Bien que vous puissiez utiliser la plupart des services de COM+ sans utiliser de transactions, si vous choisissez de ne pas les utiliser, vous ne pouvez pas tirer pleinement parti des services COM+ disponibles. Voici quelques avantages importants de l’utilisation des transactions :
- Les transactions constituent une solution raisonnable au problème de gestion de l’accès concurrentiel. En outre, les transactions permettent de se protéger contre les incidents et d’avoir un bon modèle de récupération des erreurs. En outre, les transactions s’avèrent être un excellent moyen de gérer les tâches sur plusieurs systèmes.
- Vous pouvez concevoir une application COM+ basée sur les transactions pour qu’elle fonctionne avec un gestionnaire de ressources et une base de données, ce qui permet de protéger la plupart des informations d’état. En conservant l’état à l’intérieur d’une base de données ou d’un autre stockage géré par un gestionnaire de ressources, vous n’avez pas besoin de conserver beaucoup d’état dans les objets réels créés par votre application. Bien qu’il s’agit d’une différence par rapport à un modèle orienté objet pur, il fonctionne bien pour la création d’applications distribuées avec récupération d’erreurs.
- Les fonctionnalités d’application sont générées en tant qu’objets COM, encapsulant les protocoles utilisés pour communiquer avec d’autres systèmes ou technologies. Étant donné que vous créez probablement des composants qui vont assembler plusieurs technologies ou systèmes hérités, prévoyez d’utiliser divers protocoles de communication. Utilisez HTTP pour la communication client/serveur ou la communication d’application à application via Internet. Utilisez DCOM pour la communication d’application à application ou de composant à composant sur le serveur.
Rubriques connexes
-
Optimisation des interactions avec le niveau de logique métier COM+
-
Autres outils Microsoft pour la création d’applications distribuées