Institut numerique

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 ScriptCOM via la technologie WSC (Windows Script Component) qui permet le développement des composants scriptés. Nous avons choisi cette technologie parce que principalement, elle nous facilite l‟enregistrement du composant comme une DLL dans la base de registres Windows, tout en utilisant le logiciel regid32.exe qui est distribué avec Windows.

De plus, l‟implémentation de l‟interface IDispath est prédéfinie dans cette technologie, ce qui facilite aux programmeurs l‟implémentation de ces composants. Les fichiers WSC du code des composants sont en format XML ce qui facilite aussi la manipulation de ces fichiers par un autre programme.

Par exemple, nous pouvons utiliser les technologies SAX ou DOM qui permettent d‟effectuer des sélections des éléments dans le fichier, l‟ajout de nouveaux éléments, la modification des éléments ainsi que leurs attributs, la suppression des éléments, etc.

De plus, Nous avons choisi cette technologie car elle est indépendante des langages de script, c.à.d, nous avons la possibilité d‟utiliser plusieurs langages interprétés dans le même fichier WSC afin de développer nos composants, ce qui permet de profiter de la puissance de différents langages dans le développement des composants.

Les sous-sections suivantes présentent en détails cette technologie.

5.1.1.1 Windows Script Component

a) Présentation

Windows Script Components (WSC), autrefois connus sous le nom de Scriplets, est une technologie proposée par Microsoft pour le développement des composants COM puissants d’une manière facile. WSC peut être écrit en n’importe quel langage de script.

b) Le contenu d’un fichier de script d’un composant

Les fichiers des composants scripté (script Windows) sont des fichiers XML (Extensible Markup Language) qui sont comme des fichiers HTML, mais contiennent des éléments spéciaux qui définissent le composant scripté et son comportement. Les éléments utilisés pour définir les composants scriptés ne sont pas des balises HTML, mais sont des éléments XML spécifiquement utilisés pour les définitions de composants Scriptés.
Les Éléments de base d’un fichier de composants scriptés Les éléments XML valides pour l’usage dans des composants WSC sont :

 Les éléments et :

L’élément enferme une définition entière d‟un composant scripté. Plusieurs éléments peuvent apparaître dans le même fichier WSC, et sont contenus dans un élément principal , dont la Syntaxe est la suivante:


.
.
.


.
.
.

 L’élément Cet élément inclut l’information utilisée pour enregistrer notre composant scripté comme composant COM dans la base de registre de Windows. Sa syntaxe est la suivante:

 L’élément Il encapsule des définitions pour des propriétés, des méthodes, et des événements que notre composant scripté expose. La définition des variables ou des méthodes ce fait dans un bloc de

Voici sa syntaxe :

 L’élément : déclare une propriété exposée par le composant. Sa syntaxe est comme suit:

 L’élément : Cet élément définit une méthode qui est exposée par le composant. Voici sa syntaxe :

Ou: []

Le dispatchID est automatiquement produit à moins que nous indiquions "0" comme dispatchID.

 L’élément : Déclare un événement qui peut être déclenché dans le composant. Voici sa syntaxe :

DispatchID est une valeur numérique qui est produite automatiquement à moins que nous l'indiquons. Dans notre script, il faut qu‟on utilise la méthode fireEvent(eventname) pour exécuter un événement.

 L'élément : Il indique le traiteur d'interface COM pour le composant scripté, qui détermine le type de composant COM pour le composant scripté. Par exemple, par la balise , on met en application le traiteur d'interface ASP et on obtient donc l'accès au modèle d'objet d'ASP dans notre composant scripté.

Sa syntaxe est la suivante:

Information concernant les méthodes et les propriétés exposé par le composant

L'élément : Qui est utilisé pour indiquer qu'un composant scripté met en application le traiteur d'interface, Automation (IDispath), de COM. Par conséquent, on n'a pas besoin de créer l'élément pour le traiteur d'Automation.

Note : D'autres traiteurs d'interfaces sont disponibles en tant que DLLs externes.

 L’élément : Il contient le script utilisé pour mettre en application la logique de notre composant scripté. Par exemple, si on crée un composant d'Automation COM, on déclare des propriétés, des méthodes, et des événements dans l'élément , et puis on écrit le script pour les définir dans un ou plusieurs éléments .

La syntaxe est comme suit:

Par exemple:


...

 L’élément : Il contient des informations sur un objet qu‟on utilise dans notre script, tel qu'un autre composant. Voici sa syntaxe :

 Les éléments : Ils contiennent les valeurs qui ne devraient pas être codées dans le code du composant scripté. Ces éléments peuvent inclure l'information qui pourrait changer entre les versions, les strings qui pourraient être traduites et d'autres valeurs.

La Syntaxe est comme suit:


Texte ou nombre pour représenté la ressource

 L’élément : Il met en référence une bibliothèque de type qu'on veut utiliser dans le script. Sa syntaxe est la suivante:

 Les éléments : Ils contiennent un texte (commentaire) qui est ignoré quand le composant scripté est analysé et exécuté. Voici la syntaxe :


Description : Ce composant WSC est employé pour produire. . .

Remarque :

 XML ?> : La déclaration au dessus de cette balise indique que c'est un fichier XML et qu'il se conforme au protocole XML. Cette déclaration est facultative; si on l'omet, on peut utiliser une syntaxe légèrement plus lâche en créant les éléments du composant scripté.

 L'élément est facultatif si le fichier contient un seul élément .

 Un élément peut apparaître n'importe où dans le composant scripté.

 Un élément n'est pas exigé dans tous les cas.

 Un élément nous permet d'inclure une bibliothèque de type dans le composant scripté.

 L‟élément est utilisé pour rendre disponible des interfaces COM qui ne sont pas défini par défaut.

5.1.2 Choix du langage de développement JScript

JScript est un langage de script interprétée basé objet. Bien qu'il n'est pas puissant comme les vrais langages orientés objet, tel que C++, il est plus que puissant pour ses buts prévus.

JScript n'est pas une version réduite d'un autre langage (Java par exemple), ni une simplification de n'importe quoi. Il est cependant limité. Par exemple, nous ne pouvons pas écrire des applications autonomes dans JScript, et il n'a aucun soutien intégré pour la manipulation des fichiers et des bases de données. Nous avons choisi d‟utiliser JScript car ces scripts peuvent fonctionner en présence de l‟hôte de script Windows (Windows Script Host) sont l‟installation d‟aucune DLL dans la base de registres pour permettre l‟interprétation des scripts.

De plus, JScript est un langage faiblement typé. c.à.d, qu‟on ne doit pas déclarer des types de données pour les variables. Cette caractéristique nous facilite la manipulation des variables car les opérations de conversion se font de manière automatique. Aussi avec JScript nous pouvons utiliser facilement des composants COM définis par l‟utilisateur ou des composants qui existent dans le système, tout en utilisant le constructeur ActiveXObject() avec le ProgID ou le CLSID du composant que nous souhaitons utilisé comme paramètre.

Ce constructeur nous permet la création d‟une instance d‟un composant indiqué par l‟identificateur globale, et d‟utiliser par la suite cette instance pour l‟accès aux fonctions fournies par le composant. De plus, la classe ActiveXObject est prédéfini dans la bibliothèque de JScript. JScript propose des fonctions très importantes pour la manipulation des chaines de caractères, des tableaux et des structures dynamiques. Ces fonctions facilitent à un certain niveau notre travail pour l‟implémentation du notre modèle ScriptCOM.

Page suivante : 5.2 Description de l’Implémentation de composants ScriptCOM

Retour au menu : UTILISATION DES SCRIPTS POUR LE DEVELOPPEMENT DES COMPOSANTS COM ADAPTABLES