Slides:



Advertisements
Présentations similaires
Programmation Windows Formation VIA-VideoLAN Lundi 26 février 2001.
Advertisements

Vue d'ensemble Présentation multimédia : Administration d’un environnement Microsoft Windows Server 2003 Ouverture de session sur Windows Server 2003 Installation.
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
Introduction aux environnements répartis
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Objets Distribués Chronique d ’une invasion annoncée
Excel 2007 et les services Excel. Pourquoi Excel ? Outil privilégié danalyse des données issues des bases multidimensionnelles Ergonomie connue des outils.
Object Management Architecture (OMA)



Stéphane Frenot - Département Télécommunication - SID - II - Jdbc 280 JDBC Java Databases Connectivity.

Stéphane Frenot - Département Télécommunication - SID - II - EjbServ 227 EJB Session.

Stéphane Frenot - Département Télécommunication - SID - II - EJBcli 211 Le client EJB.
Stéphane Frenot - Département Télécommunication - SID - III - Concl 382 Technologies de base Les plomberies –Le transport.
Stéphane Frenot - Département Télécommunication - SID - II - Comp 312 Avantages de l'approche distribuée Economie Performance.
TP 3-4 BD21.
بسم الله الرحمن الرحيم. Institut Supérieure des Etudes Technologiques de Kébili.
Common Gateway Interface
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Bibliothèque standard du C++
Programmation Approche composants Ing5 SI
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
.Net Remoting.
Des outils pour le développement logiciel
Com / DCom 1 Concept et historique 2 L’interface IUnknown
Introduction au bus CORBA
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Patrons de conceptions de créations
33ème colloque Pédagogique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Travail réalisé par : LATRECHE Imed Eddine MENASRIA Med Lamine
Programmation Internet en PHP SIL module M12
Programmer en langage c
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Travail de diplôme José Garrido Professeur : Philippe Freddi Explorer Internet en toute sécurité Surf Safe SPY INTERNET.
Cours 1 1 Java. Cours 1 2 Plan général 1.Introduction 2.Les types primitifs, évaluation d’expressions 3.Instructions for, if…. 4.Introduction de l’objet,
La notion de type revisitée en POO
Créer des packages.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction à la plateforme .NET
1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Les sockets.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Module 3 : Création d'un domaine Windows 2000
AFPA CRETEIL 14-1 Windows NT Environnement des utilisateurs Chapitre 14.
Les différents modèles d’architecture technique
SIAD Tableaux de bord de gestion MR / YJ Tableaux de bords l Un exemple d ’interface réussi? l Digital Dashboards.
Jacques Cartier, enseignant à l’Université de Franche-Comté Unité de Formation et de Recherche - Sciences du Langage, de l’Homme et de la Société Besançon.
Chapitre VII Techniques plus avancées à travers le concept de classe.
Cours No13 Introduction à COM. Contenu du cours Qu’est-ce que COM Accéder à l’interface de Word à partir de VB Accéder à l’interface d’XL à partir de.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Module 1 : Vue d'ensemble de Microsoft SQL Server
Web Services 17/01/2009.
Deug 11 Systèmes d ’Information : cours 2a Michel de Rougemont Université Paris II Matériels et Logiciels.
Architecture Client/Serveur
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Windows NT/2000/XP Enjeux et contraintes techniques Cinquième partie COM et OLE C. Casteyde Document diffusé sous licence GNU FDL.
Transcription de la présentation:

De DCOM à .Net Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

DCOM : Solution microsoft Propriétaire Intégrée avec d'autres produits Microsoft (architecture DNA : Distributed Network Architecture) COM ActiveX MTS MQS Fonctionne sur plusieurs plates-formes NT/95 Unix Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Le document DDE : Dynamic Data Exchange Service de transmission de messages pour faire communiquer deux applications (1992) Complexe uniquement implanté sur Excel OLE1 : Object Linking & Embedding Repose sur DDE Copier/coller OLE2 (1993) Activation In-Situ Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

DCOM : Motivations Développement et évolution d'applications réparties sur des machines hétérogènes Mécanismes "transparents" d'appel à distance Réutilisation de code Réutilisation de composants binaires exécutables Pas d'accès au code source Association d'interfaces multiple à un composant binaire Mécanisme de composition Construction de composants à partir de composants existants Evolution dynamique Remplacement de composants (sans recompilation ou édition de liens) Association de nouvelles interfaces Capacité d'auto-description Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

DCOM: Distributed Component Object Model DCE : Architecture distribuée COM (Component Object Model) le modèle d'objet composant (1996) Active-X: élément graphique actif que l'on peut assembler ou inclure dans des documents DCOM: utilisation d’un modèle RPC de DCE pour les communications entre objets (1997) (Ms)IDL: langage de définition d'interfaces .net / DNA / Hailstorm Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

COM Approche binaire des objets Un objet COM : publie une et une série d'interfaces possède au moins une interface IUnknown qui possède une méthode QueryInterface qui possède des méthode de gestion du cycle de vie (Addref(), Release()) chaque interface présente un GUID 3 familles de composants in-process, local, distant Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

COM est une fondation simple Instanciation / Publication Appels RPC Contrôle de fonctionnement mémoire + Nommage (moniker) Stockage persistant Transfert uniforme de données (flux) Automation Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

La bibliothèque COM Elle fournit une API pour la gestion des composants Initialisation et terminaison Allocation et libération de la mémoire Génération des GUID (identificateurs uniques) Accès à la base de registres (GUID <--> Noms) Création des composants Enregistrement des fabriques de classes Bibliothèque pour emballage et déballage des paramètres Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

La base de registre Base de donées permettant d'associer noms et GUID CLSID -> Nom de fichier contenant le code d'implantation {0003DF…098} --> C:\ProgramFiles\Internet\iexplore.exe Nom familier(Progid)-->CLSID Explorer.Appli_2-->{0003DF…098} Autres fonctions de désignation et recherche Informations sur configuration, usagers, etc… Informations utiles pour la répartition (cf. DCOM) Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Modèle d'objet composant COM, ActiveX et OLE ActiveX Documents Activation in situ Contrôles Liaison Incorporation Documents composites Glisser relâcher OLE COM Mise en script Transfert uniforme de données Monikers Stockage persistant Automation Modèle d'objet composant Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

DCOM CLIENT SERVEUR Application Cliente Souche COM Composant COM Proxy objet COM distant Proxy objet COM local Processus Client Exécutable COM Souche COM Composant COM Composant Sécurité DCE RPC Processus serveur Protocole de comm Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

ISum Sum IUnknown AddRef Release QueryInterface IClassFactory CInsideDCOM AddRef Release QueryInterface Sum ISum Sum IUnknown AddRef Release QueryInterface IClassFactory Cfactory CreateInstance LockServer Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Exemple de code import "unknwn.idl"; [object, uuid(10000001-0000-0000-0000-000000000001] interface Isum:Iunknown{ HRESULT Sum([in] int x, [in] int y, [out, retval]int * retval); }; Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Les étapes d'appel d'un service 1) Créer un composant (CLSID) 2) Obtenir un pointeur d'interface (IID) 3) Appel d'une méthode fonction de l'interface 4) Terminer Gestion de la mémoire Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Exemple de code client void main(){ Iunknown * pUnknown; Isum * pISum; HRESULT hr=CoInitialize(NULL); if(FAILED(hr)) cout << "CoInitialize failed."<<endl; const CLSID CLSID_InsideDCOM= {0x10000002,0x0000,0x0000,{0x00,0x00,0x00, 0x00,0x00,0x00,0x01}}; /*1*/ hr=CoCreateInstance(CLSID_InsideDCOM, NULL, CLSCTX_INPROC_SERVER, IID_Iunknown, (void**)&pUnknown); if (FAILED(hr)) cout << "CoCreateInstance failed."<<endl; /*2*/ hr=pUnknown->QueryInterface(IID_Isum, (void**)&pSum); if (FAILED(hr)) cout << "IID_Isum not supported."<<endl; pUnknown->Released(); int sum; /*3*/ hr=pSum->Sum(2,3,&sum); if(SUCCEED(hr)) cout << "Client: Calling Sum(2,3)= » << sum << endl; /*4*/ pSum->Released(); CoUninitialize(); } Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Conclusion sur DCOM Produit "propriétaire" Lié à l'environnent Microsoft Environnement de développement spécifique (Visual…) Intégration aux autres outils Office, Serveur Web IIS, IE, etc… Interconnexion possible sur CORBA Outil puissant, mais concepts difficiles à appréhender Spécifications opaques Héritage d'OLE Nombreux composants diffusés Windows / VB ... Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr

Références G. Eddon, H. Eddon, Au cœur de Distributed COM, Microsoft Press France, 1998 R. Grimes, Professional DCOM Programming, Wrox Press, Canada, 1997 Pointeurs Microsoft http://www.sente.ch/cetus/OO_ole.html http://research.microsoft.com/~ymwang/papers/HTML/DCOMnCORBA/S.html http://www.execpc.com/~gopalan/misc/compare.html Stéphane Frenot - Département Télécommunication - SID - stephane.frenot@insa-lyon.fr