Passer au contenu

Avec COM+, Microsoft redistribue les composants

Issu de la fusion entre COM et Microsoft Transaction Server, COM+ propose une infrastructure de programmation destinée à la création d’applications distribuées.

L’essor de l’architecture distribuée (ou n-tiers), dynamisée par Internet, incite les entreprises à concevoir des applications plus souples et accessibles, simultanément ou non, depuis n’importe quel type de poste client. L’actualisation des données au sein de ces applications doit être protégée, hiérarchisée et sécurisée. La création d’applications par composants, et non plus sous forme monolithique, est la solution la plus souvent retenue. En réponse à ces nouveaux besoins, Microsoft a fait évoluer COM (Component Object Model) en COM+. Cette architecture de programmation orientée objet (POO), intégrée à Windows 2000 Server, tente de faciliter le développement d’applications distribuées complexes en reprenant le meilleur de COM et de Microsoft Transaction Server (MTS).

Des composants réutilisables

Autre avancée : du point de vue du poste client, COM masquera la complexité de l’infrastructure informatique en créant une couche intermédiaire dans le cadre d’une architecture à plus de trois niveaux. Cette couche est composée par les objets COM+, qui apportent une plus grande souplesse, tant pour les développeurs que pour les utilisateurs. L’architecture de COM+ exploite des composants binaires réutilisables par plusieurs applications ou par des clients différents. Les composants binaires apportent un plus non négligeable du point de vue de la sécurité. En effet, ce mécanisme cache le code source des composants et évite ainsi toute modification dommageable.
Les composants sont constitués de deux éléments : l’interface et l’objet. Les clients communiquent avec les objets par le biais de ces interfaces. Celles-ci représentent un ensemble de méthodes sémantiquement homogènes qui décrivent le comportement et les actions attendues des objets. Les développeurs créent ou personnalisent des objets en modifiant les méthodes des composants. Cette opération s’effectue en deux étapes : la description des interfaces et le codage de cette description.
La définition des interfaces personnalisées fait appel au langage IDL (Interface Definition Language). Les développeurs codent ensuite cette description dans n’importe quel type de langage. L’architecture COM+ s’affranchit en effet des langages, et les environnements de programmation, comme Visual Basic, Visual C++, Delphi ou Cobol, peuvent être utilisés. Une fois créés, les composants sont intégrés dans des applications. Reste à les faire communiquer entre eux ou avec les clients. Pour cela, COM + se greffe sur un mécanisme baptisé appel de procédure distante (en anglais, Remote Procedure Call ou RPC). Situé au niveau application du modèle OSI (couche numéro 7), le couple RPC/COM+ modifie l’en-tête et les champs de structure RPC en y incluant des informations telles que les fonctions d’authentification, d’autorisation et d’intégrité de message du protocole RPC. Elles sont nécessaires lors de l’appel de méthode concernant des objets COM+ distants.

Quatre axes de contrôle

En termes de sécurité, Microsoft a opté pour une stratégie bâtie autour de quatre axes : contrôle de l’activation, des accès, de l’authentification et de l’identité. Le contrôle de l’activation autorise le lancement des composants de manière sélective. Une fois le composant actif, le contrôle des accès autorise ou non les clients à accéder à certains services des composants. Le contrôle de l’authentification garantit l’authenticité d’une transmission réseau. Cette fonction assure aussi la confidentialité des données en utilisant des mécanismes de chiffrement. L’identification, enfin, vérifie si les clients appelant le composant correspondent bien à ceux définis dans les procédures. Dans ce cas précis, un client peut être une application ou un compte utilisateur spécifique. Toutes les informations relatives à la sécurité des composants sont enregistrées, soit dans la base de registres (on parle alors de sécurité déclarative), soit directement dans le composant (on parle alors de sécurité programmatique).

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


XAVIER BOUCHET