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