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.