Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX



Documents pareils
Architectures n-tiers Intergiciels à objets et services web

Edité le lundi 22 décembre 2003.

Le modèle client-serveur

Software Engineering and Middleware A Roadmap

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Environnements de Développement

Introduction aux intergiciels

NFP111 Systèmes et Applications Réparties

Patrons de Conception (Design Patterns)

Mise en œuvre des serveurs d application

Module BD et sites WEB

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

OPC Factory Server- Réglage des paramètres de communication

Introduction à WebSphere MQ

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

CORBA. (Common Request Broker Architecture)

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Logiciel Enterprise Guide Version 1.3 Windows

Messagerie asynchrone et Services Web

Architectures web/bases de données

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architectures en couches pour applications web Rappel : Architecture en couches

Les Architectures Orientées Services (SOA)

Formation en Logiciels Libres. Fiche d inscription

Le cadre des Web Services Partie 1 : Introduction

2 Chapitre 1 Introduction

«Clustering» et «Load balancing» avec Zope et ZEO

A. À propos des annuaires

Urbanisme du Système d Information et EAI

Fiche de l'awt Intégration des applications

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Systèmes d'informations historique et mutations

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Description de la formation

Intergiciel - concepts de base

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Présentation du déploiement des serveurs

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Architectures d'intégration de données

Introduction aux applications réparties

Le Network File System de Sun (NFS)

WEA Un Gérant d'objets Persistants pour des environnements distribués

Utilisation du réseau dans le test et la mesure

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Introduction à OPC. OPC est une spécification récente mais qui a rapidement évolué car elle est bâtie sur la spécification COM/DCOM.

Composants Logiciels. Le modèle de composant de CORBA. Plan

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Programmation Web Avancée Introduction aux services Web

Les stratégies de groupe (GPO) sous Windows Server 2008 et 2008 R2 Implémentation, fonctionnalités, dépannage [2ième édition]

Présentation de Active Directory

Groupe Eyrolles, 2004 ISBN :

Gouvernez les flux de données au sein de votre entreprise pour une meilleure flexibilité

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Famille IBM WebSphere Application Server

Les Services Web. Jean-Pierre BORG EFORT

CAHIER DES CHARGES D IMPLANTATION

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Accès Mobile Sécurisé à L'aide de VPN SSL

Introduction à la conception de systèmes d information

Fiche Technique. Cisco Security Agent

Introduction à la plateforme J2EE

L3 informatique TP n o 2 : Les applications réseau

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

La haute disponibilité de la CHAINE DE

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Cours Bases de données

Intégration de systèmes

Sessions en ligne - QuestionPoint

CORBA haute performance

Virginie!SALAS Janvier!09! NFE107

Base de données MySQL

Services Réseaux - Couche Application. TODARO Cédric

Les nouvelles architectures des SI : Etat de l Art

LES ACCES ODBC AVEC LE SYSTEME SAS

Web Application Models

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Evidian IAM Suite 8.0 Identity Management

Compte Rendu d intégration d application

Axway SecureTransport

Cloud Computing et SaaS

Vingt et un millions d installations

Serveur d application WebDev

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Gestion et sécurisation des échanges XcMon, PMPI 03.31/2004 PDB. Global Data Exchange System

Refonte front-office / back-office - Architecture & Conception -

Catalogue & Programme des formations 2015

EJBCA PKI. Yannick Quenec'hdu Reponsable BU sécurité

ArcGIS 10.1 for Server

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

SafeKit. Sommaire. Un livre blanc de Bull Evidian

et Groupe Eyrolles, 2006, ISBN :

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Sécurisation des architectures traditionnelles et des SOA

Transcription:

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1

1.Introduction Les services de composant COM+ constituent un cadre général logiciel de COM conçues pour «gérer» des composants logiciels Ces services sont intégrées à partir de Windows 2000 ( NT5) COM+ est le résultat d une lente évolution qui débuta en 1990 1990 OLE/OLE 2 (Object Linking & embedding): Architecture de base de Windows. Permet la coopération Multi-Utilisateurs (documents composites) 1992COM (Component Object Model) est livré avec Windows98 et Windows NT 4.0. Cœur de OLE2. Base de l'internet aussi. 1996 DCOM est la version pour les objets Distribués. IL Permet à un composant de se "déplacer" et de s'exécuter sur une autre machine. 29/04/2003 2

Introduction 1996: ActiveX version Internet d'accès aux objets COM/DCOM. Les contrôles ActiveX permettent de faciliter la distribution des composants à travers l'internet, et d'intégrer DCOM sur le navigateur Web. 1997 MTS (Microsoft Transaction Server): C'est le modèle de serveurs d'objets COM dédié aux applications transactionnelles. C'est en fait un environnement où tournent les composants (Runtime environment) Il regarde les requêtes arriver aux composants et participe à leur exécution. Il fournit : la sécurité, la gestion des transactions et celle de la répartition des charges. 1998 Début de COM+ 29/04/2003 3

2. Modèle COM Le Component Object Model est un standard publié est conçu par Microsoft pour Microsoft Il implémente des «connexions» entre les différents composant logiciels : c est un bus logiciel Il est indépendant du langage de programmation, du système d exploitation et de la plate-forme 29/04/2003 4

Caractéristiques des objets COM Pour utiliser COM dans un programme, il faut implémenter des objets COM Qui ont les caractéristiques suivantes : Encapsulation : un objet COM est un paramétrage de données et /ou de fonctions enveloppées dans une entité identifiable unique. Tout ce qui se trouve dans un objet COM est caché de l extérieur de l objet a l exception des interfaces (a travers un pointeur vers un pointeur pointant sur une table de pointeur de fonction )! 29/04/2003 5

Caractéristiques des objets COM Les interfaces : IID (Interface Identifier) : IID est un type de GUID (Globally Unique Identifier) entier de 16 octets qui permet d identifié!le nombre de fonctions dans la table!leur ordre!leurs signatures Les trois premières méthodes d une interface sont prédéfinies, en signature comme en signification!queryinterface(): Negotiation d interface pour la découverte dynamique!addref() et Release(): Comptage de référence pour la gestion de la durée de vie de l objet 29/04/2003 6

Support de COM par le système d exploitation COM implique l'existence de code au niveau de l'os de la machine. Ce code forme le «middleware», structuré sous la forme d'une bibliothèque (réalisée par des DLLs ou EXE). Cette bibliothèque comporte entre autres : L'API de COM, formé par un petit nombre de fonctions accessibles par le client et le serveur. Le Service Control Manager (ou SCM) : qui localise les serveurs des classes a l'aide des CLaSsID de la base registre. L'appel de procédure distante par RPC: lorsque l'objet et le client ne sont pas au même endroit 29/04/2003 7

Support de COM par le système d exploitation Ces bibliothèques fournissent un support pour : Identification : identifier les programmes qui veulent implémenter un type d objet (CLSID dans la base de registre) Instanciations : Instancié l objet voulu dans un module différent de celui du client Marshalling : accéder indirectement aux interfaces d un objet COM Les fonctions et les objets COM qui communiquent avec le système d exploitation utilise des chaînes UNICODE 29/04/2003 8

Hiérarchie de COM Remarque : le rôle des «Apartments» (Appartement) est d implémenter la sécurité des threads 29/04/2003 9

Caractéristiques des objets COM La mère de toutes les interfaces «unknown» contient seulement ces trois méthodes et son IID est 0x000000000000000C000000000000046 Polymorphisme : C est la possibilité pour un objet de répondre correctement aux mêmes demandes en entrée que d autre objets différents Réutilisation ou héritage : Uniquement au niveau de leurs interfaces Mode inclusion : un objet COM peut en réutiliser un autre uniquement en tant que client à travers ses interfaces. L objet réutilisé effectue une partie du travail Mode agrégation : Un objet COM peut interroger un autre objet COM afin qu il devienne une partie de lui-même. L objet réutilisé doit savoir qu il fait partie d une équipe en déléguant ses méthodes Iunknown) 29/04/2003 10

Quelques définitons Un client est n'importe quelle séquence de code, faisant appel au service d'un objet. Un serveur est un code associé à une classe d'objets identifiée par son CLSID unique. Il doit implémenter un objet de class COM qui permet de créer des objets dynamiquement (Class Factory) MARSHALLING : Extensibilité de COM Définition : Assemblage (Marshalling) : Procédé consistant à prendre une collection de paramètres, à les arranger et à les coder en format externe pour constituer un message à émettre 29/04/2003 11

Schémas de principe 29/04/2003 12

Schémas de principe : commentaires Un objet peut être dans un process différent (en local ou sur une machine distante). Dans ce cas : le marshalling utilise un interface-spécifique proxy/stub (sous forme d une DLL générer a partir d un fichier IDL) et un mécanisme RPC. le Microsoft Interface Definition Language (MIDL) est un compilateur qui peut être utilisé a partir d un fichier IDL pour générer automatiquement le code nécessaire aux transfère distant. La DLL doit être implémentée côté serveur et côté client. 29/04/2003 13

Proxy : Stub et Proxy Il «représente» l objet côté client Il expose les interfaces que l objet expose Il sait comment communiquer avec le Stub Stub: Il «représente» le client côté objet Il expose les interfaces que le client utilise Il sait comment communiquer avec le proxy RPC: Remote Procedure Call (appel de procédure à distance) ou LRPC :Lightweight RPC (principe de RPC mais entre processus locaux ) 29/04/2003 14

DCOM Distributed Component Object Model C est COM avec un support par le système d exploitation pour : Identification distante Chargement distant des composants Marshaling ou extensibilité distante Il est supporté par Windows NT4.0 et a partir de Windows 95 «patché» Il introduit une clé AppID pour les serveurs DCOM permettant d identifier un module dans la base de registres de Windows. 29/04/2003 15

La Sécurité : Authentification Autorisation La Sécurité DCOM Protection contre l usurpation d identité La sécurité d activation : Déclarer côté serveur elle spécifie : les utilisateurs ou groupes qui peuvent lancer le serveur Le compte sous lequel tourneras le serveur La sécurité d appel : Automatique ou Personnalisable pour chaque interface 29/04/2003 16

Communications COM : «ORPC» Object Remote Procedure Call basé sur «Open Software Foundation» (OSF) «Distributed Computing Environement» (DCE) /RPC il rajoute aux paquets standard RPC une identification de l objet appelé «OBJREF» «OBREF» est constitué de : Interface Pointer Identifier (IPID): Utilisé coté serveur pour identifier une interface spécifique d un objet. Un «Object Exporter Indentifier» OXID :utilisé pour trouver une connexion au serveur qui abrite l objet appelé. 29/04/2003 17

ORPC : Architecture 29/04/2003 18

Les contrôles ACTIVEX Les contrôles ACTIVEX : c est l application la plus sophistiquée de COM Développée dans une optique Internet c est l équivalent Microsoft aux «applets Java» et aux «Java beans» dans le monde du Web. 29/04/2003 19

Evolutions COM+ Com+ est constitué de 3 parties : COM Runtime COM Services DCOM 29/04/2003 20

Architecture d implémentation COM+ 29/04/2003 21

COM+ Runtime : COM+ implémente automatiquement la grande majorité des tâches nécessaire pour construire des objets COM au travers des «Meta data» codées par le programmeur réduisant de 30% l effort de programmation C est le concept de «programmation basé attribut» Principal innovation : Les «Interceptors» (les Intercepteurs) permettent de rerouter les accès des clients aux objets via les bibliothèques COM affectant ainsi la manière dont les objets interagissent entre eux. 29/04/2003 22

Comparaison effort de programmation COM et COM+ 29/04/2003 23

COM+ Services : Services de composants Les services de composants sont en fait des intercepteurs particuliers permettant d intercepter et de rerouter les accès aux objets. Parmi les principaux : MTS : Microsoft Transaction Server (moniteur transactionnel) Sécurité étendue Load balancing : Repartition de charges sur plusieurs serveurs 29/04/2003 24

COM+ Services : Services de composants DTC (Distributed Transaction Coordinator) ou MTS : Microsoft Transaction Server Client Transaction Serveur DTC MTS gère la Concurrence et la Sécurité des transactions sur bases de données: 29/04/2003 25

COM+ Services : Services de composants Support d'environnements transactionnels hétérogènes : Les composants COM peuvent participer à des transactions gérées par un environnement transactionnel (TP) autre que celui de COM+ par le support du protocole TIP (Transaction Internet Protocol). Sécurité étendue : La prise en charge de la sécurité est basée sur la notion de rôle ainsi que les permissions d'accès des processus. Dans le modèle de sécurité basé sur le rôle, l'accès aux différentes parties d'une application est accordé ou refusé en fonction du groupe logique auquel l'utilisateur appartient ou du rôle qui lui a été attribué (par exemple, administrateur, employé à temps complet, employé à temps partiel). COM+ implémente en plus de la sécurité basée sur le rôle, la sécurité au niveau des méthodes des interfaces. 29/04/2003 26

COM+ Services : Services de composants Administration centralisée :L'Explorateur des services de composants, présente un modèle d'administration unifiée, qui facilite : le déploiement, la maintenance, la surveillance d'applications à n niveaux, en éliminant le besoin d'utiliser de nombreux outils d'administration distincts. 29/04/2003 27

COM+ Services : Services de composants IMDB - In-Memory DataBase (base de données en mémoire) : Permet de gérer des informations permanentes et des informations temporaires de façon cohérente. In- Memory DataBase est un système de base de données entièrement transactionnel géré en mémoire et conçu pour fournir un accès extrêmement rapides aux données. Object pooling : Regroupement d objets Fournit aux applications des méthodes rapides et efficaces pour pouvoir ré-utiliser des objets COM dans le but d améliorer les performances. 29/04/2003 28

COM+ Services : Services de composants Load balancing : Répartition de charges Permet aux applications basées sur le composant de répartir leur charge de travail sur un cluster d'applications et en toute transparence vis-à-vis du client. Serveur Client Aiguilleur (Router) Response time Tracker Serveur Serveur 29/04/2003 29

COM+ Services : Services de composants Asynchronous(Appels de Méthodes asynchrone) et Queued Components (composants en file d'attente) : basé sur MSMQ Microsoft Message Queuing Services Assurent une exécution différée en mode asynchrone lorsque les composants travaillant en coopération sont déconnectés. Cette fonctionnalité vient s'ajouter au modèle de programmation client-serveur synchrone basé sur la session. Client Recorder MSMQ Player Serveur 29/04/2003 30

COM+ Services : Services de composants COM+ Events : Notification d' événements : A utiliser lorsqu'un mécanisme de notification d'événements est souhaité. Le système d'événements de COM+ est un mécanisme de publication/abonnement qui permet à des clients de " s'abonner " à des événements " publiés " par plusieurs serveurs. Suscriber Publisher Event Service Suscriber Administration Event Data base Suscriber 29/04/2003 31

Produits supportant COM Sun Solaris (sparc)2.5 Digital Unix 4.0 (Alpha) IBM MVS 5.2.2 (OS390) IBM OS/400 IBM AIX HP/UX Digital Open VMS (sur Alpha) Siemens Nixdorf SINIX Linux 2.0 (Intel) SCO UnixWare 29/04/2003 32

Ce qu il faut retenir Comme pour Corba, les couches COM+ se situeny au niveau 5,6,7 du modèle OSI au dessus donc de la couche 4 (TCP/UDP) Association COM+/ACTIVEX (comme CORBA/JAVA) Des passerelles permettant de faire cohabiter les deux modèles (existe déjà sur le marché) 29/04/2003 33

Ce qu il faut retenir Point de convergence XML Exemple : SOAP : Simple Object Access Protocol Protocole permettant l'invocation à distance de composants (objets et méthodes) à l'instar des protocoles DCOM (Microsoft) ou Corba (IIOP). Soap utilise XML pour représenter ces invocations ce qui devrait permettre de faire interopérer des environnements Windows DNA, Corba ou Java. Soap véhicule sur le web (au format XML, via HTTP) les appels de fonctions (méthodes). Soap est utilisable entre postes clients et serveurs, ce qui devrait permettre de l'utiliser depuis un poste client Internet (chez un particulier lambda) pour accéder à des services disponibles sur des serveurs web sans passer par des pages HTML. Conçu à l'origine par Microsoft, DevelopMentor et Userland, Soap est soutenu également par IBM et Lotus. Depuis le ralliement de Sun, c'est devenu une note du W3C (World Wilde Web Consortium). 29/04/2003 34