|
De dcom à. Net Dcom : Solution microsoft
|
tarix | 29.10.2017 | ölçüsü | 445 b. | | #20521 |
|
De DCOM à .Net
Propriétaire - Intégrée avec d'autres produits Microsoft (architecture DNA : Distributed Network Architecture)
- Fonctionne sur plusieurs plates-formes
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)
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
DCOM: Distributed Component Object Model DCE : Architecture distribuée COM (Component Object Model) le modèle d'objet composant (1996) 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
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
- in-process, local, distant
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
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
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)
COM, ActiveX et OLE
DCOM
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); };
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 4) Terminer
Exemple de code client
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
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
Dostları ilə paylaş: |
|
|