Java en dix minutes. (21-04-1998) |
Permettre une interactivité entre l'utilisateur et son document Web |
A l'heure actuelle, les deux principaux compétiteurs en lice sont Microsoft, avec ses composants ActiveX, et Sun, avec Java. Ces deux techniques bien différentes s'opposent. D'une part, un composant ActiveX, dont le rôle est, entre autres, de permettre l'intégration d'éléments de diverses origines (vidéo, image ou son) au sein d'un même document - une autre caractéristique principale de ces éléments ActiveX étant d'offrir l'interactivité entre l'utilisateur et les pages Web écrites au format standard HTML et transitant sur le réseau suivant le protocole officiel HTTP). D'autre part, un environnement de programmation, Java, aux qualités identiques pour l'essentiel à celles de son adversaire. A savoir : rendre le Web plus attrayant en permettant d'intégrer aux applications des caractéristiques multimédias et permettre une certaine interactivité entre l'utilisateur et son document Web. |
Java, le langage «Web» originel |
Si, contrairement à Java de Sun,
la portabilité multiplate-forme n'est pas la tasse de
thé d'ActiveX, force est de reconnaître que oette
solution est susceptible de s'adapter au gros du marché
«Wintel»... soit à 80% du monde micro. Alors,
universalité contre efficacité? Normalité contre
spécialisation? Descendant de C++ contre progeniture de
Visual Basic ? Choisir dépend d'une multitude de
paramètres tels que l'application, les convictions
«religieuses» du responsable du programme, le parc
installation, les systèmes mis en oeuvre, les liaisons
avec les acquis logiciels hérités du passé ou en
prévision d'achat... A l'origine, Java est un langage. Mais, petit à petit, le concept a évolué et il s'apparente maintenant davantage à une plate-forme de développement complète. Dérivé du C++ en un langage plus accessible aux programmeurs objet. Java n'est plus seulement un langage. Au niveau de la programmation, il est principalement utilisé pour la construction de «mini-applications» ou d'applets. Ces dernières servent à rendre interactif le contenu d'une page Web. Par exemple, une applet peut avoir pour rôle de reprendre une série de chiffres de la page Web mise sous forme de camembert et de la retransformer dynamiquement sous forme d'histogramme. Ces applets sont en fait de petits morceaux de programme envoyés sur le poste du client en même temps que la page Web contenant leurs références. Le navigateur détecte les applets Java arrivées sur le PC de l'utilisateur, et les envoie automatiquement à un programme appelé «Java Virtual Machine» (JVM) situé également sur le poste client. La présence de ce programme est la raison pour laquelle on aurait plutôt tendance à parler de plate-forme Java. En effet, le seul environnement capable de rendre exécutable une applet Java sur le poste client est cette JVM, plus généralement connue sous le nom de runtime par les initiés du développement. Cet ensemble Java/JVM constitue donc le coeur de la plate-forme Java sur le poste client. |
ActiveX, la contre-offensive Microsoft |
Les ActiveX ont pour objectif de
mettre en place des protocoles de communication entre des
applications standards. Cette technique «maison» fait
l'objet d'un examen en vue d'une normalisation de la part
de l'Active Group Organization, émanation de l'Open
Group. Sans être devin, le but à atteindre est
l'intégration de DCE (Distributed Computing Environment)
de l'Open Group dans ActiveX. Les différentes parties
tireront, espèrent-elles, un avantage de ce
mariage. A la base, ActiveX est un modèle objet qui permet de faire des composants. Beaucoup d'autres concepts viennent en outre s'y greffer tels les documents contenant les «contrôles» et «containers» ActiveX. Il existe par ailleurs deux types de composants capables de dialoguer ensemble : celui dévolu à la partie client, le contrôle permettra peut-être pas de dominer dans l'avenir, mais certainement de survivre. Quant à Java, il devra plus son succès à la facilité d'utilisation de son code pour relier toutes sortes de périphériques au système d'information qu'à l'engouement actuel pour Java sur le Web. En effet, le potentiel de Java sur le Web représente moins pour des entreprises telles qu'Oracle ou IBM que la capacité de "tracer" un objet en lui intégrant un composant du genre micro-contrôleur contenant une applet Java. Les ActiveX, et son siamois «objet serveur». Tous deux s'expriment par le truchement d'un protocole de communication COM (Compound Object Model) /DCOM (Distributed COM). La bataille qui fait rage entre les deux prétendants ne laisse pour l'instant pas présager quel sera le vainqueur, Si vainqueur il y aura, En effet, ces deux manières d'envisager le monde client/serveur ont chacune leurs avantages comme leurs inconvénients et il est par conséquent difficile de prendre position pour l'une ou l'autre. |
Bien sûr, comme dans
toute «guerre des standards», chaque protagoniste
compte ses partenaires et cherche par tous les moyens
possibles à vendre son idée. Java, présenté comme le
«langage originel», premier arrivé sur le marché et
«normalisable» (Sun vient de le présenter à l'ISO),
traite son concurrent ActiveX de «solution
propriétaire». Or, qui fleure le propriétaire a un
arrière-goût de captivité, ce qui déplaît aux chefs
de projet, soucieux de la pérennité et de
l'évolutivité de leurs programmes. ActiveX, c'est, à
bien entendre les prêtres de Redmond, le meilleur moyen
d'être compatible avec les programmes bureautiques de la
société, les plates-formes NT, les autres outils de
développement de 1a gamme Visual... sans oublier J++,le
Java maison de Microsoft. Pour Microsoft, le meilleur des mondes ne peut exister sans le «tout-intégré», où ActiveX et logiciels bureautiques, composants de la gamme Backoffice et API spécifiques dialoguent entre eux. Les utilisateurs crient au monopole, à la dictature microsoftienne, en rappelant à qui veut l'entendre les années néfastes de l'empire IBM des sixties. |