42.1 - Introduction
De OLE 2 à Active X
Active X vs Netscape One42.2 - Les contrôles Active X
La balise <OBJECT>
La balise <EMBED>
Les contrôles ActiveX et les programmes Active Script
Les contrôles ActiveX et le navigateur Internet Explorer42.3 - Active X et les objets
42.4 - Active X Scripting
Alors que Netscape, SUN et bon nombre d'éditeurs supportent Java ou JavaScript, Microsoft s'est démarqué en proposant un modèle Active X, qui n'est rien de plus que le modèle OLE 2 rebaptisé pour la circonstance.
Tout utilisateur d'un PC sous Windows connaît la facilité d'utilisation des liens OLE permettant, par exemple, d'affichier un tableau Excel dans un document Word. Avec la même facilité, Microsoft permet d'afficher dans un document HTML un objet qui peut être un texte Word, ou un document Excel.
Ceci est très séduisant lors de démonstrations mais il n'est pas inutile de rappeler que :
Cette dernière caractéristique, rend la technologie Active X aussi contraignante que la technologie Plug In de Netscape.
Puisque nous comparons la technologie Plug-In de Nestcape et les liens OLE (que nous appellons contrôle Active X), regardons les principales différences d'architecture entre les deux modèles.
Le schéma suivant montre l'achitecture Netscape One proposée par Netscape.
Netscape ONE est un ensemble de protocoles et denvironnements que Netscape sengage à supporter et que nous pouvons énumérer comme suit :
IIOP/CORBA
Nous avons introduit la notion de IIOP (Internet Inter ORB Protocol), qui est un protocole plus moderne que HTTP permettant la communication entre serveurs dobjets. Ainsi, Nestcape a annoncé sa compatibilité avec CORBA (Common Object Request Broker Architecture) de lOMG (Object Managment Group).
Lintérêt de cette architecture tient essentiellement au fait que les clients émettent des requêtes sans connaître a priori la localisation du service qui y répondra. En outre, CORBA permet de normaliser les échanges de données indépendamment des matériels et des produits utilisés. Il repose en également sur un modèle objet.
La compatibilité de Netscape version 3 avec IIOP se situe à deux niveaux aujourdhui :
Actuellement larchitecture CORBA, bien quelle soit séduisante par la richesse du langage dinterface quelle propose (IDL) et la bonne spécification des services et des messages quelle englobe, reste une architecture complexe par rapport à la simplicité du protocole HTTP et de sa mise en oeuvre. Elle se révèle encore peu performante, comparée à la vitesse dexécution des couplages HTTP / base de données.
Le schéma suivant montre l'achitecture ActiveX proposée par Microsoft :
Active X est un ensemble de protocole que Microsoft sengage à supporter et que nous pouvons énumérer comme suit :
La technologie Active X propre à Microsoft se décompose en quatre éléments que nous allons détailler :
Les contrôles ActiveX peuvent être utilisés de plusieurs façon dans une page HTML.
La balise OBJECT permet de positionner un contrôle Active X dans une page HTML.
On remarque que le nom dune classe OLE ou d'un contrôle Active X est répertorié par un UUID (Universally Uniq Identifier) qui est unique dans larchitecture Microsoft, à savoir, quil est soit lié au numéro de la carte réseau de léquipement producteur (par un programme GUIDGEN) soit attribué sur demande par Microsoft qui en assure lunicité.
Ainsi le document Excel est répertorié par un nom UUID unique (celui dExcel) et une instenciation correspondant aux cellules du document sélectionné.
Lorsquun lien OLE est
copié dans Word, le système explore la base des registres de
Windows qui lui donne les informations nécessaires sur
lemplacement des données Excel par un mécanisme de class factory
de larchitecture COM (Component Objet Model), qui indique
la ressource nécessaire sur le PC.
Microsoft a étendu ce
mécanisme à laccès réseau en élargissant ce modèle
COM à un modèle distribué (DCOM) qui permet daller
rechercher les informations sur un serveur distant. Ainsi dans
une page HTML, les syntaxes suivantes permettent daller
chercher une ressource sur le réseau.
Si la balise <OBJECT> était très proche du modèle OLE2 puisque le HTML reprenait les codes UUID de Microsoft, elle est mal commode à utiliser et pas compatible avec Netscape.
Aussi Microsoft supporte la balise <EMBED> qui produit un résultat similaire à celui de la balise OBJECT, si ce n'est qu'elle offre généralement moins de contrôle.
Tout comme dans l'achitecture Netscape One qui garantissait que les Plug-Ins pouvait être appelés en JavaScript, les contrôles ActiveX peuvent être manipulés par Active Script comme le montre le code suivant :
Internet Explorer permet d'agir sur les contrôles ActiveX par simple clic sur le bouton droit de votre souris.
Le popup menu contextuel apparaîtra alors avec les différentes lignes de contrôle (démarrer, arrêter, pause, etc..) ainsi qu'une ligne propriété permettant de paramétrer le contrôle ActiveX.
Tout comme JavaScript Active X permet de manipuler les objets suivants :
Les boîtes de dialogue sont au nombre de trois :
On retrouve les propriétés, les événements et les méthodes analogues à celles vues dans les chapitres JavaScript.
Les langages JavaScript et VBScripts sont supportés par Internet Explorer et permettent tout comme le langage JAVA de contrôler des objets ActiveX.