Gagne de la cryptomonnaie GRATUITE en 5 clics et aide institut numérique à propager la connaissance universitaire >> CLIQUEZ ICI <<

2.1 Vue Globale sur le modèle de composant COM

Le modèle COM (Component Object Model) est la norme Microsoft pour le développement de composants réutilisables et communicants. COM est la technologie de base pour Microsoft OLE (compound documents) et technologies ActiveX (Internet-enabled components). Sa grande particularité est qu’il n’est pas destiné à un langage précis, ni à une plate-forme précise, car il définit un […]

2.2 Historique

Une des premières méthodes de communication d’interprocessus dans Windows était l‟échange de données dynamique DDE (Dynamic Data Exchange), d’abord présenté en 1987, qui a permit d’envoyer et de recevoir des messages dans se qu’on appelle “conversations” entre les applications [WIK 11]. Antony Williams, un des penseurs les plus notables impliqués dans la création de l’architecture […]

2.3 Là où COM est Applicable

Les objets COM peuvent être créés avec une variété de langages de programmation. Les langages orientés objet, tels que C++, fournissent des mécanismes de programmation qui simplifient l’implémentation des objets COM. Ces objets peuvent être dans un processus simple, dans d’autres processus, et même sur des ordinateurs à distance. [MIC 11] Page suivante : 2.4 […]

2.4 Principes fondamentaux de COM

COM définit plusieurs concepts fondamentaux qui fournissent les fondements structuraux du modèle. Ceux-ci incluent [MIC 11] :  Un standard binaire pour la fonction d‟appel entre les composants.  Une interface de base fournissant :  Une manière pour que les composants découvrent dynamiquement les interfaces mises en application par d’autres composants.  Mettre en […]

2.5 Bibliothèque COM (COM Library)

La bibliothèque COM est un composant système qui fournit les mécanismes de COM. La bibliothèque COM fournit la capacité de faire des appels d’IUnknown à travers des processus; elle encapsule également tout le travail lié aux composants de lancement et établissement des connections entre les composants. Typiquement, quand une application crée un composant COM, elle […]

2.6 COM et les composants logiciels

COM adresse les quatre problèmes de base liés au composant logiciel qui sont: – Interopérabilité de base. – Versioning. L’indépendance de langage. – Interopérabilité transparente d‟inter-processus. En plus, COM fournit une architecture à rendement élevé pour répondre aux exigences d’un marché commercial du composant. 2.6.1 Interopérabilité de base Celle-ci est fournie par l’utilisation de COM […]

2.7 COM et le modèle client/Server

L’interaction entre les composants COM et les utilisateurs de ces composants est basé sur un modèle client/server. Nous avons déjà utilisé le terme client pour nous référer à un certain morceau de code qui utilise les services d’un composant COM. Puisqu’un composant COM assure des services, ce qui implémente ce composant s’appelle habituellement le serveur. […]

2.8 Enregistrement d’un objet COM

Pour utiliser un objet COM celui-ci doit être “enregistré” dans la base de registre de la machine ou il réside afin que les applications client puissent le localiser. Pour ceci la méthode consiste à écrire un fichier d’inscription dans la base de registre, fichier D‟extension “.reg”. [MAR 98] L’objet COM doit être identifié par un […]

2.9 Application client

Toute application client doit passer par les étapes suivantes [MAR 98] : · initialiser la librairie COM, · obtenir le CLSID de l’objet COM serveur, · créer une instance de cet objet, · utiliser l’objet, · Désinstallation de la librairie COM. 2.9.1 Initialisation de la librairie COM L’initialisation de la librairie COM se fait par […]

2.10 Les bibliothèques de types – ATL (Active Template Library)

2.10.1 Intégration avec différents langages Un développeur d’objet COM en C++ (par exemple) va définir ses interfaces personnalisées en langage IDL puis utiliser le compilateur MIDL (Microsoft IDL) pour traduire son fichier IDL en fichier d’en-tête compréhensible par le compilateur C++ et ainsi pouvoir accéder à la définition de ses interfaces. Bien évidemment aucun autre […]

2.11 L’automation ou l’interface IDispatch

2.11.1 Présentation de l’automation L’automation permet à une application d’utiliser des fonctionnalités d’une autre application, ceci même si elle est pilotée par un utilisateur [MAR 98]. A titre d‟exemple l‟automation permet à une application qui a besoin de créer des graphiques d’utiliser les fonctionnalités d’Excel à cette fin. Les fonctionnalités d’Excel peuvent être employées sans […]

2.12 Les avantages et les inconvénients de COM

COM présente plusieurs avantages :  Il normalise la communication entre objets.  Il est indépendant des langages de programmation.  Il automatise la gestion de la mémoire.  Il rend l’utilisation des DLL (Dynamic Link Library) plus souple.  Il permet le développement d’applications à objets distribués. Néanmoins, il a quelques inconvénients :  […]

2.13 Conclusion

Dans ce chapitre, nous avons présenté le modèle de composant COM (Component Object Model) qui est la norme Microsoft pour le développement de composants réutilisables et communicants. COM définit plusieurs principes fondamentaux de base qui fournissent les fondements du modèle d’objet. Le standard binaire permet à des composants écrits en différentes langages d’appeler des fonctions […]

CHAPITRE 3 CONCEPTS CLES DE L’ADAPTABILITE

Ce chapitre introduit une définition de la notion d’adaptabilité des applications. Ensuite, il approfondit cette définition à travers les réponses aux questions : pourquoi s‟adapter, qui adapte quoi, quand le fait-il et comment? Puis, il présente un ensemble de problèmes posés par l‟adaptation dynamique, et en fin il exprime des critères pour évaluer les différentes […]

3.1 Adaptation

D’après le dictionnaire, adapter consiste à « rendre (un dispositif, des mesures, etc.) apte à assurer ses fonctions dans des conditions particulières ou nouvelles. » Cette définition implique la présence d’un système (le dispositif), qui réalise une fonction particulière. La façon dont le système réalise cette fonction dépend – au moins on partie – du […]

3.2 Raisons de l’adaptation (Pourquoi ?)

Selon [CHE 05] il y a trois raisons majeures pour adapter une application. Chacune d’elles définit un type d’adaptations différent. Ces raisons de l’adaptation sont : 3.2.1 Adaptations réactives Les adaptations réactives sont des adaptations dynamiques à court terme, réalisées en cours d’exécution. Leur objectif est d’accommoder les applications aux changements de leur environnement. Il […]

3.3 Localisation de l’adaptation (Où ?)

L’adaptation peut être prise en charge par l’application elle-même qui est alors qualifiée d’auto-adaptable. Elle peut être aussi réalisée au niveau de l’infrastructure logicielle sous-jacente comme le système d’exploitation, la pile des protocoles réseaux ou l’intergiciel [CHE 05]. De plus, l’intervention de l’administrateur ou de l’utilisateur de l’application dans l’adaptation est envisageable, voire souhaitable. Mais, […]

3.4 Sujets de l’adaptation (Quoi ?)

Selon [CHE 05], les sujets de l’adaptation sont des concepts de programmation qu’il faut adapter. Ils sont donc définis par l’approche de programmation de l’application ou de l’infrastructure logicielle à adapter. Des exemples de ces concepts sont les modules, les objets, les composants, les connecteurs, les agents, les processus, etc. Comme à la base l’adaptation […]

3.5 Moments de l’adaptation (Quand ?)

L’adaptation d’une application peut avoir lieu à n’importe quel moment de son cycle de vie : à la conception, à la compilation, au déploiement et/ou à l’exécution. 3.5.1 Phase de développement Lors de la phase de développement qui va de la conception jusqu’à la compilation, une application peut être adaptée en utilisant des techniques de […]

3.6 Etapes et mécanismes de l’adaptation (Comment ?)

On peut distinguer trois étapes principales par lesquelles passe toute opération d’adaptation, associées chacune à des mécanismes de mise en oeuvre. Ces étapes sont : 3.6.1 Détection/notification Pour qu’une application s’adapte (ou soit adaptée) aux variations pertinentes de son environnement, il faut un mécanisme qui détecte et notifie ces variations [CHE 05]. A titre d’exemple, […]

3.7 Problèmes posés par l’adaptation dynamiques

Malgré les avantages de l’approche architecturale, plusieurs problèmes se posent néanmoins concernant les adaptations dynamiques dans les architectures à composants. Les considérations suivantes sont ainsi à prendre en compte [ORE 98]:  Le modèle d’architecture d’un système doit rester cohérent avec son implémentation au cours de l’exécution et des adaptations. Les modèles de composants réflexifs […]

3.8 Performance de l’adaptation

Plusieurs conditions doivent être vérifiées par une opération d‟adaptation. Dans cette section, nous présentons les paramètres qui permettent d‟évaluer une approche d‟adaptation. 3.8.1 La cohérence L‟application d‟administration qui se charge de lancer l‟opération d‟adaptation est plus prioritaire que l‟application administrée. Ceci ne lui donne pas le droit de tout faire avec cette application. [CHE 05] […]

3.9 Conclusion

Dans ce Chapitre, nous avons discuté certains concepts fondamentaux liés à l‟adaptation des applications en générale, et spécifiquement à l‟adaptation dynamique dans le cadre des applications à base de composants. Nous avons tout d’abord donné une définition de l‟adaptabilité comme une modification d’un système, en réponse à un changement dans son contexte, avec l’objectif que […]

CHAPITRE 4 LE MODELE DE COMPOSANT SCRIPTCOM

Ce chapitre aborde le problème de l‟adaptation dynamique des composants COM par une entité externe et par les composants luis mêmes. Nous présentons en premier lieu (la section 4.1) une vue globale sur les différents travaux qui sont effectués sur le problème d‟adaptation dynamique dans les applications à base de composants. La section 4.2 est […]

4.1 Vue globale sur les travaux effectués dans l’adaptation dynamique

Nous avons vu dans le chapitre précédent que l‟adaptation dynamique consiste à introduire des modifications dans l‟application au cours de son exécution sans arrêter obligatoirement l‟application. Cette possibilité est très importante pour les applications qui réalisent des taches critiques, telles que les applications de télécommunication et les applications bancaires. Pour cela, beaucoup de travaux ont […]

4.2 ScriptCOM

La contribution principale de ce travail est le modèle ScriptCOM qui étend le modèle de composants COM afin de faciliter le développement d’applications à base de composant adaptable pendant leurs exécutions par une entité externe (composant ou application ou un humain) ou par le composant luis même. L‟idée principale « c’est qu’il n’est pas nécessaire […]

4.3 Exemple d’utilisation des composants ScriptCOM

Avec notre modèle de composant ScriptCOM, les composants sont adaptables au moment de leurs exécutions par un autre composant ou une autre application ou aussi par lui même. On peut utiliser ce modèle pour le développement d‟une application composée d‟un ensemble de composants. Par exemple : C1, C2, C3, C4, D et S, tel que […]

4.4 Conclusion

Dans ce chapitre, nous avons montré comment notre modèle de composants scriptés ScriptCOM permet de résoudre le problème d‟adaptabilité dynamique des composants COM. Nous avons présenté d‟abord une vue globale sur les différents travaux qui sont réalisés autour de l‟adaptation dynamique des applications basés sur les composants. Nous avons montré que ces travaux touchent les […]

CHAPITRE 5 ASPECTS PRATIQUES

Dans le chapitre précédent, nous avons présenté le modèle de composants adaptables ScriptCOM. Nous nous intéressons maintenant à l’implémentation de ce modèle afin de concrétiser les concepts proposés et les valider. D’abord, nous présenterons la mise en oeuvre du modèle, dans laquelle nous argumentons le choix de l‟utilisation de la technologie Windows Script Component et […]

5.1 Mise en oeuvre du modèle de composants ScriptCOM

Nous avons mis en oeuvre un canevas générique pour écrire les composants ScriptCOM en utilisant la technologie Windows Script Component avec JScript comme langage de script. Dans les sous-sections suivantes nous argumentons le choix de cette technologie et de ce langage. 5.1.1 Choix de la technologie Windows Script Component Nous avons choisi d‟implémenter les composants […]