1. Qu`est-ce qu`ActiveX

publicité
Microsoft ActiveXTM
Développement d’applications réparties et de contenu dynamique pour Internet et intranets
Brochure d’informations
Réserves légales
Les informations fournies par le présent document constituent la position de Microsoft Corporation sur les thèmes abordés à la date de sa publication. Microsoft devant
réagir aux évolutions du marché, ces informations ne constituent pas un engagement
de la part de Microsoft, qui n’en garantit pas l’exactitude après la date de publication.
Les descriptions des produits non Microsoft fournies dans le présent document ne le
sont qu’à titre de commodité pour le lecteur. Microsoft n’est pas en mesure de garantir leur exactitude, et lesdits produits sont susceptibles d’évolution. Ces descriptions
sont volontairement succinctes ; pour en obtenir des versions complètes officielles,
veuillez vous adresser aux éditeurs concernés.
Ce document a été établi à titre informatif seulement et n’implique aucune garantie,
quelle qu’elle soit, de la part de Microsoft.
Microsoft, ActiveX, ActiveMovie, ActiveVRML, FrontPage, PowerPoint, Visual
Basic, Visual C++, Windows et Windows NT sont des marques déposées de Microsoft Corporation.
Borland est une marque déposée de Borland International Inc.
Java et JavaScript sont des marques déposées de Sun Microsystems Inc.
Macintosh est une marque déposée d’Apple Computer Inc.
NetScape est une marque déposée de NetScape Communications Corporation.
Symantec est une marque déposée de Symantec Corporation.
© Microsoft Corporation 1996. Tous droits réservés. Imprimé en France.
Sommaire
1. QU’EST-CE QU’ACTIVEX ? ..................................................................................... 3
2. UTILISATEURS : DES APPLICATIONS PUISSANTES ET UN CONTENU
RICHE ..................................................................................................................... 6
3. DEVELOPPEURS ET REALISATEURS SUR LE WEB : CONTENU ET
IMPACT................................................................................................................... 7
4. DECISIONNAIRES INFORMATIQUES : ACTIVEX EST UNE NORME
OUVERTE ET TIRE PARTI DES INVESTISSEMENTS EXISTANTS............................. 13
5. POUR EN SAVOIR PLUS .......................................................................................... 14
1
1
Synthèse
Si le World Wide Web constitue dès à présent un mécanisme évolué d’accès aux documents hypertextes, ses capacités le feront aller bien au-delà de cette fonction : son
rôle futur de mécanisme de distribution logicielle sera moteur pour la création de
nouvelles catégories applicatives dans le domaine des loisirs, de l’enrichissement personnel et du commerce. Les entreprises se lancent à l’assaut de ces nouveaux créneaux en créant des sites Internet qui proposent aux utilisateurs des expériences interactives séduisantes capables de susciter et de retenir leur intérêt. Nombreuses sont
celles qui explorent l’utilisation de technologies du Web pour fournir des informations internes et des logiciels à leurs collaborateurs. Elles peuvent se servir de Webs
internes, appelés intranets, pour des domaines d’application tels que la distribution
logicielle, les ressources humaines ou la finance.
ActiveX™ est une plate-forme d’intégration ouverte qui fournit aux développeurs,
aux utilisateurs et aux réalisateurs de Web le moyen le plus rapide et le plus facile de
créer de nouvelles applications et de nouveaux contenus pour Internet et pour des
intranets.
Recouvrant Java™ et le modèle composant-objet (COM), ActiveX procure des possibilités Internet prometteuses tout en étendant et en utilisant les investissements déjà
effectués. Avec ActiveX, les développeurs et réalisateurs de Webs sont en mesure
d’élaborer un contenu de site interactif et attrayant en se servant de différents outils
proposés par des dizaines d’éditeurs. Comme ActiveX est compatible avec un grand
nombre de logiciels d’exploration du Web, et notamment avec l’Internet Explorer 3.0
et Netscape Navigator1, ses utilisateurs sont assurés de toucher le plus vaste auditoire.
ActiveX permet de ne plus réserver aux données la notion de client-serveur, et offre
une garantie d’interopérabilité entre les outils de développement, les outils de création de contenu, les systèmes de gestion de bases de données et les technologies réseau. ActiveX est également compatible avec les standards d’Internet, et offre une
dimension dynamique aux documents placés sur Internet, et propose aux utilisateurs
des sessions de surf plus interactives, plus intéressantes et plus utiles. Enfin, ActiveX
constitue pour les développeurs et réalisateurs de Webs une plate-forme d’innovation
applicative Internet, indépendante du système d’exploitation et du langage de programmation, tout en permettant la réutilisation des applications, des outils et des
codes source existants.
Voici les grands atouts d’ActiveX pour chaque catégorie d’utilisateur :





Les utilisateurs disposent d’applications graphiques interactives et attrayantes sur
Internet.
Les entreprises donnent une nouvelle dimension à leurs applications internes, en
donnant de la visibilité sur leurs intranets.
Les développeurs peuvent créer applications réparties en se servant à la fois des
outils et langages existants et nouveaux.
Les réalisateurs de sites Web peuvent, à l’aide d’outils simples, créer des sites
Internet et intranets au contenu formidable.
Les décideurs informatiques bénéficient d’une plate-forme ouverte qui élargit les
choix et utilise les investissements existants.
1
Nécessite le module compagnon ActiveX pour Netscape Navigator, disponible à l’adresse
http://www.microsoft.com.
2
2
1. Qu’est-ce qu’ActiveX ?
Au cours de ces dernières années, les utilisateurs ont été de plus en plus nombreux à
utiliser le World Wide Web pour récupérer des documents sur Internet. Simultanément, le prix des ordinateurs personnels clients et serveurs a chuté, révolutionnant la
productivité des individus et des entreprises. ActiveX conjugue les avantages du
World Wide Web et de l’ordinateur personnel pour ouvrir la voie aux applications
réparties interactives et à des communications plus riches entre utilisateurs.
ActiveX apporte par ailleurs une réponse à un besoin manifesté par de nombreuses
entreprises, qui cherchent de plus en plus à utiliser les technologies Internet pour
leurs applications internes dans des domaines tels que la distribution logicielle, le
support au client, les ressources humaines et la finance.
Ces applications nécessitent une « plate-forme » fournissant aux développeurs
d’applications un ensemble complet d’outils et de composants interopérables, associés à de solides capacités réseau pour garantir des communications transparentes
avec les ressources Internet.
Microsoft ActiveX est une plate-forme d’intégration ouverte qui fournit aux développeurs et aux réalisateurs de sites Web ‘infrastructure complète permettant de créer
rapidement et facilement des applications interactives et du contenu pour Internet et
l’intranets. Du point de vue des utilisateurs, ActiveX permet une approche d’Internet
plus interactive, plus attirante et enrichissante .
ActiveX associe les atouts de l’ordinateur personnel à ceux du Web
Comme ActiveX englobe les technologies bureautiques existantes aussi bien que les
nouvelles technologies du Web telles que Java, ses utilisateurs obtiennent le meilleur
des deux mondes, dont voici quelques caractéristiques :
Un contenu et des applications interactives riches : ActiveX utilise toute la puissance
des ordinateurs pour créer des sites et des applications Web uniques. Grâce à la palette d’outils, de langages et de composants autorisée, les réalisateurs de sites Web
peuvent produire des services à contenu unique qui attirent et retiennent l’utilisateur.
Accessibilité : ActiveX est aujourd’hui reconnu par l’Explorateur Internet et Netscape
Navigator. La grande majorité des utilisateurs du Web ont donc la possibilité, depuis
leur machine, d’afficher et d’utiliser des informations développées sous ActiveX.
Des outils de qualité et des technologies nouvelles : ActiveX fournit aux développeurs, utilisateurs et responsables de sites Web un vaste choix de technologies et applications existantes et nouvelles (Java, etc.) utilisables pour Internet ou l’intranets.
Les développeurs disposent d’une belle palette d’outils et de langages pour élaborer
leurs solutions Internet et intranet. Par exemple, ils peuvent se servir de Microsoft
Visual C++, de Microsoft Visual J++ (outil de développement Java de Microsoft lancé en septembre 1996), de Borland® C++, de Symantec® C++ et de la prochaine
version de Microsoft Visual Basic pour développer des composants ActiveX. Les
responsables de sites Web peuvent utiliser différents outils de création de contenu
pour offrir des pages directement reliées aux applications, tandis que les réalisateurs
de sites Web disposent de plus d’un millier de composants ActiveX prêts à l’emploi
pour rendre leurs sites plus interactifs. Les utilisateurs peuvent exécuter des composants ActiveX sous différents systèmes d’exploitation tels que les différentes versions
de Windows® ou Macintosh®. Enfin, tous peuvent choisir leur matériel auprès de
différents constructeurs pour exécuter leurs applications réparties ActiveX.
Compatibilité à base de respect des standards : ActiveX est compatible avec les investissements existants des points de vue logiciel, matériel et ressources humaines.
Les développeurs peuvent utiliser leurs connaissances en Microsoft Visual C++ pour
développer des applications Internet ou intranet sans changer d’outil. Les développeurs en Visual Basic peuvent faire de même pour mettre au point des scripts Internet
3
3
en se servant de Visual Basic Script, un langage ouvert de création de scripts pour
Internet dotn l’interpréteur est incorporé dans l’Internet Explorer 3.0. Avec la prochaine version de Visual Basic, les développeurs pourront utiliser leurs connaissances
et le code existant pour développer des applications Internet et intranet. Les développeurs Java peuvent écrire en Java des applications ou des composants disposant
d’interfaces de programmation au standard COM, et les relier à d’autres composants
existants. ActiveX est par ailleurs compatible avec un grand nombre de protocoles et
de standards de réseau tels que TCP/IP, HTTP, NNTP, SMTP et DCOM.
ActiveX est une plate-forme ouverte pour applications Internet et
intranet
ActiveX se compose d’une plate-forme cliente, d’une plate-forme serveur, d’outils de
développement, d’outils de création de contenu, de technologies réseau et de mécanismes de communication inter-processus. ActiveX constitue pour les utilisateurs, les
responsables de sites Web et les développeurs une plate-forme d’applications Internet
novatrices, tout en préservant leurs investissements en termes d’applications, d’outils,
de connaissances et de code. La figure ci-après illustre les interactions de la plateforme ouverte d’ActiveX.
Application
active/
tive
contenu
Application
active/
contenu
Outils de développement
et de création de contenu
ActiveX
client
ActiveX
ActiveX
serveur
Technologies
réseau
Système
d’expl.
Système
d’expl.
Internet
intranet
Client
Serveur
Figure 1 : Microsoft ActiveX est une plate-forme ouverte pour applications Internet
et intranet
ActiveX côté client
ActiveX est la plate-forme cliente qui permet aux applications et au contenu d’être
exécutés et affichés sur la machine d’un utilisateur. L’application et le contenu peuvent soit se trouver sur le système client lui-même, soit être automatiquement téléchargés du serveur et exécutés sur le client. Du côté client, ActiveX se compose des
éléments suivants :
 L’Internet Explorer 3.0 Microsoft, un ensemble d’applications et de bibliothèques de fonctions permettant d’exécuter des contrôles ActiveX écrits dans
n’importe quel langage de programmation.
 Des moteurs de scripts permettant d’exécuter des scripts écrits en Visual Basic
Script et en JavaScript™.
 Des contrôles ActiveX insérés dans l’Explorateur Internet pour l’affichage et la
modification de différentes sortes de contenus : ActiveVRML™ (pour la modélisation de la réalité virtuelle en trois dimensions), ActiveMovie™ (pour les données audio/video), etc.
Avec ActiveX sur le poste client, l’utilisateur peut exécuter des contrôles ActiveX
écrits dans différents langages tels que Java, Visual C/C++, Visual Basic, Borland
4
4
Delphi, etc. ActiveX du côté client est compatible avec HTML 3.2 (y compris les
cadres, feuilles de style et tableaux).
ActiveX du côté serveur
ActiveX du côté serveur est la plate-forme serveur qui fournit à l’utilisateur les services, applications, données et contenus Internet. Applications et contenu peuvent
être présents ou non sur le même serveur que celui du site Web. Les données peuvent
être stockées dans toute base de données relationnelle compatible ODBC. Avec ActiveX sur le serveur, les développeurs peuvent écrire des applications CGI (Common
Gateway Interface), des DLL ISAPI exécutées du côté serveur, et des scripts.
Du côté serveur, ActiveX se compose des éléments suivants :
 Microsoft Internet Information Server;
 Des moteurs supportant des applications CGI et des DLL ISAPI;
 Des moteurs supportant des scripts du côté du serveur
 Des logiciels de connectivité permettant aux postes clients d’accéder à des bases
de données à travers Internet Information Server.
Outils ActiveX de développement et de création de contenu
Les développeurs de logiciels peuvent se servir des outils de développement ActiveX
pour créer de puissantes applications Internet et intranet. Les outils de développement
ActiveX comprennent notamment de nouveaux produits tels que Microsoft Visual
J++ 1.0, ainsi que des produits connus tels que Microsoft Visual C++ et Visual Basic.
Cette richesse donne aux développeurs le choix des outils et des langages.
Les outils ActiveX de création de contenu permettent aux responsables de sites Web
de mettre au point des sites Internet et intranet très attrayants. Ces outils sont très
simples d’emploi et ne nécessitent pas de grandes connaissances techniques. Les responsables de sites Web peuvent se servir de Microsoft FrontPage pour générer du
contenu HTML et gérer leurs sites. Ils peuvent par exemple, en quelques clics de souris, créer un formulaire au sein d’une page Web pour que les utilisateurs puissent interagir avec le site et fournir des renseignements personnels.
ActiveX est un environnement multiplate-forme
Microsoft travaille avec Macromedia et Metrowerks Inc. pour apporter ActiveX sur
le Macintosh. Les développeurs qui écrivent des contrôles ActiveX en Java peuvent
être certains que ces contrôles fonctionneront pareillement sous Windows et sur Macintosh à travers l’Explorateur Internet. En outre, les développeurs Macintosh pourront écrire leurs contrôles ActiveX Macintosh natifs dans des langages tels que C et
C++ en se servant des outils de développement Metrowerks CodeWarrior, en étant
assurés de la bonne exécution de ces contrôles dans l’Explorateur Internet pour Macintosh. ActiveX du côté client sera disponible sur Macintosh, et les utilisateurs pourront exécuter les contrôles ActiveX écrits en Java, Visual C++ et Visual Basic à
l’aide de l’Internet Explorer pour Macintosh. Les développeurs pourront aussi écrire
des scripts en Visual Basic Script exécutables dans l’Internet Explorer pour Macintosh.
Le support d’UNIX est également assuré. Les développeurs peuvent écrire des contrôles ActiveX qu’accepteront tous les grands systèmes UNIX du marché grâce à des
logiciels fournis par Bristol Technologies et Mainsoft Inc.
ActiveX est ouvert et repose sur des standards
ActiveX propose à l’utilisateur un grand choix de logiciels, matériels, technologies
réseau, outils de développement et langages. Les technologies ActiveX reposent sur
des normes du marché telles que HTTP, TCP/IP et COM. Microsoft présente régulièrement les technologies ActiveX en avant-première aux éditeurs indépendants de logiciels pour enregistrer leurs réactions et en tenir compte. La section « 4. Décisionnaires informatiques : ActiveX est une norme ouverte et tire parti des investissements
existants » fournit une liste non exhaustive des standards compatibles avec ActiveX.
5
5
2. Utilisateurs : des applications puissantes et un contenu attractif
Du côté client, ActiveX est compatible avec HTML et avec des contenus multimédias
interactifs du type ActiveVRML et ActiveMovie. Avec ActiveX intégré aux navigateurs Web, les utilisateurs pourront exécuter sur Internet ou dans des intranets des
contrôles ActiveX créés dans des langages tels que Java, Visual C++ ou Visual Basic.
Ils pourront utiliser ce genre d’applications pour rechercher des informations, travailler, ou simplement s’amuser avec Internet. Quant aux utilisateurs professionnels, ils
pourront se servir d’applications de gestion des ressources humaines, de support
client, de gestion financière ou comptable, etc.
Un contexte d’exécution sécurisé
L’utilisateur est isolé des applications défaillantes grâce au fait qu’ActiveX garantit
une bonne exécution applicative sur sa machine. Les contrôles ActiveX « trusted »
présents sur un site Web peuvent être téléchargés et exécutés sur la machine de
l’utilisateur à l’aide de toutes les fonctionnalités du système d’exploitation.
L’utilisateur peut faire confiance à ces contrôles ActiveX exactement comme il fait
confiance aujourd’hui à des progiciels prêts à l’emploi. Comme ActiveX n’exécute
pas le contrôle ainsi validé s’il est modifié après avoir quitté son site Web d’origine,
l’utilisateur est protégé de toute modification intempestive des applications pendant
leur téléchargement.
D’un autre côté, les contrôles ActiveX de sites Web qui ne sont pas acceptés en toute
confiance (« untrusted ») ne sont pas autorisés à utiliser toutes les fonctionnalités du
système d’exploitation. Comme ces contrôles ActiveX « untrusted », lorsqu’ils sont
téléchargés d’un site Web, ne peuvent utiliser qu’un ensemble limité et sécurisé de
fonctions du système d’exploitation de la machine de l’utilisateur, ils ne peuvent pas
compromettre la sécurité de cette machine. ActiveX s’assure que ces contrôles « untrusted » n’utilisent pas le système d’exploitation sous-jacent.
ActiveX supporte les contrôles ActiveX « trusted » écrits dans des langages tels que
Java, Visual C/C++ et Visual Basic. ActiveX supporte les contrôles ActiveX « untrusted » écrits en Java. Pour en savoir plus sur les contrôles ActiveX « trusted » et
« untrusted », veuillez vous reporter au passage « Les contrôles ActiveX sont sécurisés » de la prochaine section.
6
6
3. Développeurs et réalisateurs sur le Web : contenu et impact
Création d’applications et de sites attractifs
Les développeurs peuvent créer des applications exécutables sous ActiveX côté client
en écrivant des contrôles ActiveX dans des langages tels que Java, Visual C++ ou
Visual Basic. Les contrôles ActiveX peuvent coopérer avec d’autres contrôles ActiveX ou tout objet COM. Par exemple, un contrôle ActiveX écrit en Java peut soit
ouvrir, soit invoquer une interface COM vers un autre contrôle ActiveX. Les développeurs qui écrivent des mini-programmes (applets) en Java peuvent être certains
que ces derniers fonctionneront de manière transparente avec d’autres composants
ActiveX. Ils peuvent aussi écrire à l’aide de Visual Basic Script ou de JavaScript des
scripts qui s’exécuteront sous ActiveX côté client. ActiveX sera disponible pour la
famille Windows et sur Macintosh, et Microsoft prévoit de le proposer sous UNIX
également. La figure 2 illustre les différents langages compris par ActiveX.
Contenu HTML
(texte et images)
Téléchargement
d’un contrôle
Active X ou d’une
Serveur
applet Java
HTTP
HTTP
Contrôle ActiveX ou
applet Java
DCOM
Script ActiveX
Internet Explorer 3.0
Objets COM ou
contrôles ActiveX
Objets COM ou
Contrôles ActiveX
Figure 2 : ActiveX exécute les contrôles ActiveX écrits dans différents langages tels
que Visual C/C++ et Java.
Grâce à des contrôles ActiveX écrits dans différents langages, les développeurs peuvent tirer pleinement parti des fonctions du système d’exploitation cible. Lorsqu’un
utilisateur clique sur une page Web faisant référence à un contrôle ActiveX, ce dernier est téléchargé du serveur et s’exécute sur la machine de l’utilisateur. Un développeur peut par exemple écrire un contrôle ActiveX de bouton qui active une boîte
de dialogue demandant des renseignements complémentaires à l’utilisateur.
Des outils de premier plan sont compatibles avec ActiveX
Les développeurs peuvent choisir parmi différents outils : Microsoft Visual C++,
Borland C++, Symantec C++, ou Visual J++ 1.0, l’outil de développement Java de
Microsoft. La prochaine version de Microsoft Visual Basic (Visual Basic version 5.0)
leur permettra d’écrire très aisément des contrôles ActiveX. Ils pourront convertir le
code Visual Basic existant en contrôles ActiveX à l’aide de simples manipulations à
la souris.
Ecriture de contrôles ActiveX en Java
La mise en œuvre des références Java dans Windows permet aux développeurs
d’écrire des contrôles ActiveX dans Java en écrivant des fichiers .java et en ouvrant
les interfaces COM des classes Java à l’aide d’une bibliothèque de types. Ces fichiers
.java peuvent ensuite être compilés pour générer des fichiers .class au format de code
Java. Les fichiers .class s’exécutent ensuite dans l’environnement Java sous Windows
7
7
en commençant par une vérification du code qui le sécurise vis-à-vis de l’utilisateur.
Le code .class est ensuite compilé par un compilateur JIT (« juste à-temps ») qui fait
partie de la mise en œuvre des références et génère du code natif destiné à la machine
de l’utilisateur. Ce processus fait l’objet de la figure 3.
Microsoft publie également des interfaces permettant à d’autres éditeurs d’outils de
raccorder leurs compilateurs JIT à la mise en œuvre des références. Développeurs et
utilisateurs disposent ainsi d’un choix plus large.
En outre, Microsoft collabore avec Metrowerks pour proposer la même configuration
Java sur Macintosh, de sorte que les développeurs écrivant des contrôles ActiveX
dans Java puissent être certains que ces contrôles fonctionneront en toute transparence sur Macintosh. Par ailleurs, les développeurs sur Macintosh peuvent se servir
des outils Metrowerks CodeWarrior pour développer en Java des contrôles ActiveX
sur Macintosh, qui pourront coopérer avec d’autres contrôles ActiveX écrits dans le
même langage ou dans un langage différent.
Contrôle ActiveX
écrit en Java
Chargeur
de classes
Vérificateur
de code
Compilateur JIT
(binarise en natif)
Moteur
d’exécution
d
Corbeille
Machine
réelle
Figure 3 : l’architecture de la mise en œuvre des références Java dans Windows
Avec la mise en œuvre de Java sous Windows, les développeurs disposent des atouts
suivants :
 Des fonctionnalités riches et puissantes : comme la mise en œuvre de Java sous
Windows reconnaît l’interopérabilité de Java avec d’autres contrôles ActiveX,
les développeurs peuvent se servir à plein des fonctions du système
d’exploitation sous-jacent.
 Compatibilité : avec la mise en œuvre de Java prévue par Microsoft, les développeurs peuvent se servir de leurs contrôles ActiveX et de leurs outils et langages
de développement existants pour créer des contrôles ActiveX fonctionnant avec
d’autres contrôles ActiveX écrits dans des langages tels que Java. Les développeurs maintiennent ainsi la compatibilité avec les investissements existants, tout
en tirant parti des nouvelles technologies Internet telles que Java.
Les contrôles ActiveX sont multiplates-formes
Les contrôles ActiveX fonctionneront sous ActiveX du côté client sous de nombreux
systèmes d’exploitation : les différents Windows, Macintosh et UNIX. Les développeurs peuvent choisir de créer avec Java du code binaire de contrôle ActiveX indépendant de la plate-forme utilisée, ou au contraire d’écrire des contrôles ActiveX natifs optimisés pour le système d’exploitation visé.
8
8
Ecriture de contrôles ActiveX indépendants de la plate-forme
Les développeurs intéressés par l’écriture de code binaire de contrôle ActiveX indépendant de la plate-forme peuvent utiliser des outils de développement Java tels que
Microsoft Visual J++ 1.0. Le code résultant peut être placé sur un site Web. Lorsqu’un utilisateur doté d’un navigateur clique sur une page faisant référence à ce contrôle ActiveX, ce dernier est téléchargé et exécuté sur sa machine.
Ecriture de contrôles ActiveX natifs
Les développeurs soucieux d’optimiser les performances applicatives grâce à
l’emploi des spécificités du système d’exploitation sous-jacent peuvent écrire des
contrôle ActiveX natifs pour les différents systèmes d’exploitation de la famille Windows, pour le Macintosh et pour UNIX. Les développeurs peuvent ensuite compiler
ces contrôles pour générer différents programmes binaires et les placer sur un site
Web. Lorsqu’un utilisateur doté d’un navigateur clique sur une page faisant référence
à un tel contrôle ActiveX, le contrôle adapté à la plate-forme est téléchargé et exécuté
sur sa machine.
Comme ces deux types de contrôles ActiveX seront opérationnels aussi bien sous
l’Explorateur Internet 3.0 que sous Netscape Navigator, les développeurs peuvent
être certains que les contrôles écrits dans différents langages fonctionneront sur la
plupart des machines des utilisateurs d’Internet. Microsoft livrera prochainement
l’Explorateur Internet pour Macintosh, et étudie la possibilité de le proposer pour
tous les environnements UNIX importants.
Les contrôles ActiveX sont sécurisés
Les développeurs peuvent sécuriser l’environnement de l’utilisateur accédant à Internet ou à un Intranet en écrivant des contrôle ActiveX « untrusted » dans Java, qui ne
peuvent utiliser qu’un jeu limité de fonctions du système d’exploitation, ou en écrivant des contrôles ActiveX « trusted » qui en utilise les riches fonctionnalités à l’aide
de Java, de Visual C/C+, de Visual Basic ou d’un autre langage de programmation et
en certifiant par une « signature » que ces contrôles sont sécurisés.
Ecriture de contrôles ActiveX « untrusted »
Les contrôles ActiveX de sites Web qui ne sont pas « trusted » par un utilisateur n’ont
pas la permission d’utiliser toutes les fonctionnalités du système d’exploitation.
Comme ces contrôles sont téléchargés d’un site Web et ne peuvent se servir que d’un
jeu limité de fonctionnalités, ils ne peuvent aucunement compromettre la sécurité de
la machine de l’utilisateur. ActiveX garantit que ces contrôles ActiveX « untrusted »
n’utilisent pas le système d’exploitation sous-jacent au détriment de la sécurité. Les
développeurs peuvent écrire ce type de contrôles à l’aide d’outils de développement
Java tels que Microsoft Visual J++ 1.0.
Ecriture de contrôles ActiveX « trusted »
Les contrôles ActiveX de sites Web qui sont « trusted » par l’utilisateur peuvent être
téléchargés et exécutés sur sa machine en se servant de toutes les fonctionnalités du
système d’exploitation. ActiveX n’exécutera des applications « trusted » que s’ils
n’ont pas subi de modifications après avoir quitté le site Web ; on dispose ainsi d’une
protection contre les modifications intempestives de code en cours de téléchargement.
Microsoft participe à une initiative du consortium W3C relative au concept de signature numérique qui permet de télécharger des contrôles ActiveX « signés » sur les
machines des utilisateurs. Les signatures numériques sont l’équivalent pour le monde
interactif des progiciels prêts à l’emploi, c’est-à-dire qu’elles sont le gage de la confiance qu’ont peut accorder aux applications concernées. Les développeurs qui ont
besoin de placer des contrôles ActiveX « trusted » sur des sites Web peuvent obtenir
un certificat et signer numériquement leur code, garantissant ainsi son innocuité.
Lorsqu’un utilisateur clique sur une page faisant référence à un contrôle ActiveX
« trusted », la signature est téléchargée et vérifiée par ActiveX du côté client. Ce pro-
9
9
cessus de vérification contribue à garantir la bonne origine du code, sa certification,
et sa non-modification depuis le début de son téléchargement. Une fois la vérification
achevée, le contrôle ActiveX est activé pour pouvoir s’exécuter sous ActiveX côté
client.
La technologie de signature repose sur les normes PKCS#7 et X.509, et Microsoft
collabore avec Verisign et une bonne cinquantaine d’autres éditeurs pour mettre cette
technologie à la disposition des développeurs. Ceux qui souhaitent signer leur code
peuvent obtenir un certificat auprès de l’un des organismes compétents, puis signer
leur code. ActiveX exécutera en toute sécurité les contrôles ActiveX « trusted » écrits
dans des langages tels que Java, Visual C/C++ et Visual Basic, ainsi que les contrôles
ActiveX « untrusted » écrits en Java.
Ecriture de scripts de contrôles ActiveX à l’aide de Visual Basic Script
Les développeurs soucieux de répondre rapidement à l’évolution des besoins de
l’entreprise doivent pouvoir modifier sans délai le comportement de leurs applications Internet/Intranet. Ceux qui écrivent des contrôles ActiveX ont aussi besoin d’un
moyen de coordonner par la programmation les nombreux contrôles auxquels fait
référence une page Web donnée. Faciles à écrire et modifier, les contrôles ActiveX
demeurent compilés et stockés sous forme binaire.
Les développeurs peuvent satisfaire ces besoins en se servant de Visual Basic Script
pour écrire des scripts de contrôles ActiveX. Avec Visual Basic Script, les développeurs peuvent capturer des événements de contrôles ActiveX, invoquer des méthodes,
modifier des propriétés de contrôles, etc. Comme le code Visual Basic Script est très
simple à écrire et toujours conservé sous forme de code source dans la page Web
elle-même, il est très facile à modifier et constitue la meilleure façon de coordonner
l’activité des différents contrôles ActiveX. Voici les différents atouts de Visual Basic
Script pour les développeurs :
Sécurité : Visual Basic Script ne comporte que des fonctions simples relatives aux
opérations, zones de message, messages d’erreur, etc. Il ne gère pas les fonctions
complexes d’entrées-sorties de fichiers et de gestion graphique qui pourraient compromettre la sécurité de la machine de l’utilisateur.
Facilité de l’écriture de code : Visual Basic Script est un langage de création de
scripts facile d’apprentissage. Il s’agit d’un sous-ensemble de Microsoft Visual Basic,
un langage que de nombreux développeurs connaissent déjà.
Code inter-plate-forme : les développeurs peuvent activer leur code Visual Basic
Script pour qu’il s’exécute sous différents systèmes d’exploitation : le moteur de Visual Basic Script fonctionnera sous ActiveX côté client dans les environnements
Windows, Macintosh et UNIX. Microsoft livrera ce moteur avec l’Explorateur Internet pour Windows et pour Macintosh. Microsoft a donné la technologie de Visual
Basic Script en licence à d’autres éditeurs tels que Bristol et Mainsoft pour que Visual Basic Script soit disponible dans tous les environnements UNIX importants du
marché.
Compatibilité : Visual Basic Script est compatible avec les investissements Visual
Basic existants puisqu’il s’agit d’un sous-ensemble exact de Visual Basic Edition
Applications. Il permet ainsi de tirer parti du code et des connaissances Visual Basic
déjà en place.
Visual Basic Script est ouvert
Les développeurs peuvent utiliser Visual Basic Script pour écrire des scripts de contrôles ActiveX écrits dans des langages tels que Java, Visual C/C++ et Visual Basic.
Microsoft proposera gratuitement la licence du code source du moteur de Visual Basic Script aux éditeurs de navigateurs (dont Netscape™ Communications), ainsi
10
10
qu’aux éditeurs de logiciels devant être compatibles avec Visual Basic Script. Microsoft prévoit également de permettre au code Visual Basic Script de s’exécuter sous
d’autres navigateurs grâce à des modules compagnons.
Ecriture de scripts de contrôles ActiveX à l’aide de JavaScript
Microsoft permettra l’exécution des scripts JavaScript dans l’Explorateur Internet 3.0
à travers un moteur JavaScript. A la différence de Visual Basic Script, le code et les
spécifications techniques de JavaScript ne sont pas disponibles gratuitement, et Microsoft est donc en train de concevoir un interpréteur compatible JavaScript qui sera
livré avec l’Explorateur Internet.
Insertion de contrôles ActiveX dans une page HTML
Les développeurs peuvent « insérer » des contrôles ActiveX dans une page Web en se
servant de la balise <OBJECT> dans la page HTML et en faisant référence au ClassId du contrôle ActiveX. Lorsqu’un utilisateur clique sur un page comportant cette
balise et un ClassId, ActiveX du côté client recherche dans le registre de la machine
cliente le code de contrôle auquel il est fait référence par le ClassId. Si le contrôle
ActiveX concerné est déjà présent sur la machine cliente, son code est invoqué et
exécuté sur le client. Sinon, il est téléchargé depuis le serveur, installé sur le client
après vérification de la sécurité, puis appelé sur le client. ActiveX fournira également
la gestion des numéros de version en activant l’option de téléchargement de la dernière version d’un contrôle ActiveX. Vous trouverez des informations complémentaires sur cet aspect dans le Kit de développement ActiveX.
Exécution de contrôles ActiveX dans Netscape Navigator
Les développeurs de contrôles ActiveX auront un public assuré puisque ces contrôles
s’exécuteront aussi bien sous l’Explorateur Internet 3.0 que sous Netscape Navigator.
Ecriture d’applications du côté du serveur
Avec Internet Information Server, les développeurs peuvent écrire des applications
Internet/Intranet sur serveur à l’aide de l’interface CGI (Common Gateway Interface)
qui permet aux navigateurs d’envoyer des données au serveur, d’y exécuter une application, puis de recevoir des données en retour. Les développeurs peuvent aussi
utiliser Internet Information Server pour écrire des scripts PERL exécutables sur le
serveur.
Les développeurs peuvent se servir d’Internet Information Server pour écrire des applications sur serveur puissantes et performantes par l’intermédiaire de l’API Internet
Service (ISAPI). Avec ISAPI, ils peuvent utiliser différents langages de programmation et permettre aux utilisateurs de navigateurs d’exécuter ces programmes sur le
serveur. Comme les applications ISAPI s’exécutent dans le même processus
qu’Internet Information Server, les performances sont garanties. Plusieurs applications ISAPI peuvent s’exécuter sur le serveur simultanément en utilisant le même canal, ce qui garantit une utilisation efficace des ressources système. Il est possible
d’écrire des applications ISAPI pour le traitement de formulaires, la fourniture de
passerelles, la collecte de statistiques, l’authentification à la carte, la traduction de
données, etc. Avec Internet Information Server et les API ISAPI Filter fournies, les
développeurs peuvent mettre au point des « filtres » sur serveur assurant des fonctions
d’authentification à la carte, de cryptage, de compression, ou encore des fonctions
utilisant des filtres de type adresse URL.
Un vaste choix d’outils de développement
Pour écrire des applications pour ActiveX, les développeurs ont le choix entre différents outils de développement du marché. Ils peuvent ainsi tirer parti de leurs compétences acquises, et par exemple se servir de Microsoft Visual C++, Borland C++,
Symantec C++, Microsoft Visual J++ 1.0 ou Metrowerks CodeWarrior. Avec la prochaine version de Microsoft Visual Basic, ils pourront écrire des contrôles ActiveX
11
11
en Visual Basic, ou modifier leurs applications Visual Basic existantes pour en faire
des contrôles ActiveX.
12
12
4. Décisionnaires informatiques : ActiveX est une norme ouverte
et tire parti des investissements existants
ActiveX est une norme ouverte
Dans son développement d’ActiveX, Microsoft a tenu grand compte des réactions de
ses clients et du marché. Du coup, l’un des grands avantages de cette norme est son
ouverture du point de vue des choix de matériels, de logiciels, d’outils de développement, de plates-formes, de technologies réseau, etc. Les développeurs peuvent écrire
des applications ActiveX exécutables sous différents systèmes d’exploitation, et faire
leur choix parmi une vaste palette d’outils. Les responsables de sites Web peuvent
créer aisément leurs contenus en prenant l’outil le mieux adapté. Quant aux administrateurs, ils ont à leur disposition de nombreuses technologies et différents matériels
réseau pour mettre en œuvre sous ActiveX leurs applications et leurs contenus Internet/Intranet.
Microsoft pense que le premier critère de l’ouverture d’un système est l’étendue du
choix laissé au client dans tous les domaines : matériel, logiciel, technologie réseau,
prix, performances. A l’avenir, le monde ActiveX proposera un choix énorme à ses
clients. Plus de 1 000 contrôles ActiveX sont déjà disponibles sur le marché ; de
nombreux autres sont en cours de développement. ActiveX est disponible dans de
nombreuses architectures matérielles différentes que proposent plus d’un millier de
constructeurs de matériel informatique pour les côtés client et serveur. ActiveX est
également ouvert aux grandes technologies réseau : TCP/IP, HTTP, SMTP, NNTP et
IPX/SPX (cf. infra une liste partielle des normes compatibles ActiveX). Avec ActiveX, les développeurs peuvent faire le choix au sein d’une vaste palette d’outils de
création de contenu et d’applications Internet efficaces.
Microsoft a collaboré avec des organismes du type Internet Engineering Task Force
(IETF) pour mettre au point les nouvelles normes Internet (DHCP, IPng, etc.).
Les technologies Microsoft ActiveX reposent sur des normes officielles ou de fait. Le
tableau ci-après fournit une liste partielle de ces normes :
Domaine
Réseau
Web
Communications
Messagerie
Bases de données
Langages de programmation
Annuaire
Divers
Normes et technologies dans ActiveX (liste non exhaustive)
TCP/IP, IPX/SPX, PPP, SLIP, DNS, RIP, PPTP,
DHCP, WINS, IPng, SSL
HTTP, HTML, VRML
RTP, T.120, T.127, H.323, RSVP
SMTP, X.400, MIME, POP3
ODBC (ISO 9942), SQL
ANSI C (ISO 9899), ANSI C++, Java, Basic
X.500
FTP, GOPHER, Telnet
Prise en compte aisée des besoins de l’entreprise
Avec ActiveX, les développeurs peuvent créer aisément des contrôles ActiveX ou des
applets Java en se servant de l’un des nombreux outils de développement disponibles.
Comme un millier de contrôles ActiveX prêts à l’emploi déjà disponibles sur le marché peuvent être insérés dans des scripts à l’aide de Visual Basic Script ou de JavaScript, les responsables informatiques peuvent obtenir des développements rapides.
Avec la prochaine version de Visual Basic, les développeurs pourront créer des contrôles ActiveX très aisément en se servant de son nouvel environnement graphique de
développement.
13
13
5. Pour en savoir plus
Des informations complémentaires sur les thèmes abordés dans le présent livre blanc
sont disponibles sur les différents sites Web Microsoft suivants :
 ActiveX : http://www.microsoft.com/intdev
 Informations développeurs : http://www.microsoft.com/devonly
 Visual Basic Script : http://www.microsoft.com/vbscript
 Internet Control Pack : http://www.microsoft.com/icp
D’autres éléments destinés aux développeurs sont disponibles aux sources Microsoft
suivantes :
 Microsoft Developers Network (MSDN), un service sur abonnement et CD pour
développeurs
 Microsoft Solutions Development Kit (MSDK), un kit de mise en route rapide
pour le développement d’applications avec Microsoft Office et Microsoft BackOffice
 Microsoft Mastering Series, une gamme de titres d’autoformation sur le développement de solutions avec les Microsoft Visual Tools
Pour toute information complémentaire destinée aux développeurs, envoyez un message électronique à [email protected] en incluant les mots « Subscribe
DevWire » dans le corps du message.
14
14
Téléchargement