Java chez Sun

publicité
Java à la mode Sun
Eric Lapaille
World Wide Web est devenu la principale source de trafic sur Internet. Les “browsers” WWW,
naviguant dans une mer d’informations balisée par des liens hypertexte, souffrent encore pourtant de
lacunes. Ils ont été pensés en terme d’information statique, ne s’accomodent que de données de type
texte, son ou image et se prêtent encore difficilement à la programmation dynamique. L’ambition de
Sun avec sa technologie HotJava est d’insuffler une philosophie dynamique à l’information, de
transférer en même temps que l’objet le module logiciel qui sera capable de le traiter, le représenter ou
le visualiser. Cette philosophie est héritée en droite ligne du langage Java, également conçu par Sun,
avec lequel il a été écrit. Et Java, ce n’est pas le nom d’une danse mais celui d’un café corsé !
Lorsqu’un navigateur traditionnel rencontre un nouveau type d’objet pour lequel il n’est pas préparé, il
doit céder la main à une application extérieure ou sauver l’objet sur disque, faute d’outil de traitement
adéquat. HotJava par contre peut délivrer via Internet un objet et la pièce de code nécessaire à son
décodage. La même conception objet est appliquée à la gestion des protocoles de transfert de données.
A côté du protocole HTTP, HotJava peut accepter dynamiquement de nouvelles formes de protocoles
incluant par exemple de l’encryption. Chaque concepteur d’un protocole propriétaire peut intégrer dans
un navigateur HotJava le code nécessaire à son bon fonctionnement. Si le client HotJava ne connaît pas
encore le nouvel objet ou le nouveau protocole, il réclame simplement au serveur les portions
logicielles requises.
Pour encourager les développeurs à produire des extensions à ce navigateur d’un nouveau genre, Sun
met à la disposition de tous sur http://www.sun.com un kit de développement en phase alpha incluant le
browser HotJava et les spécifications du langage Java. Le kit est disponible pour stations Solaris et NT,
les versions Windows 95 et Macintosh devant suivre très rapidement. Nous avons installé les 11 MB du
SDK sur une machine Intel tournant sous Windows NT Server 3.51.
Selon Sun, Java est un langage orienté objet, distribué, interpreté, sûr, portable, multi-thread et
dynamique. Disons qu’il s’agit d’une version du langage C++ qu’on aurait allégé de sa complexité
formelle. On en a par exemple retiré les notions d’héritage multiple et de surcharge des opérateurs
(operator overloading) mais on lui a ajouté une efficace “garbage collection”. Java s’est aussi inspiré
d’Objective C pour le concept d’interface et de résolution dynamique des méthodes. La taille de
l’interpréteur est de 40 KB auxquels il faut ajouter 175 KB de librairies et DLL. Java est fin prêt pour
la programmation distribuée puisqu’il est capable d’ouvrir et accéder des objets à distance via différents
protocoles. Java utilise un modèle de pointeurs empêchant d’écrire dans des portions de mémoire non
allouées, l’arithmétique de pointeurs est limitée à sa plus simple expression pour éviter des problèmes
de corruption de zone mémoire. Sécurité au niveau de l’application mais aussi des transactions puisque
Java utilise pour ses transferts une technique d’encryption basée sur le système de clé publique. Pour
accentuer le caractère portable des données, Java utilise un format neutre de fichier objet capable d’être
interprété puis utilisé sur un grand nombre de plates-formes et processeurs différents. La création
d’applications incluant plusieurs processes ou threads est facilitée par la présence de primitives vouées
à la synchronisation de ces threads.
Sun et Netscape Communications font de gros efforts de rapprochement. HotJava supporte plus
d’extensions de Netscape au langage HTML et Netscape promet l’intégration du langage Java dans de
futures versions de ses navigateurs.
Sans même encore écrire de code Java, il est possible d’intégrer des animations sonores et visuelles
dans une page HTML sous forme d’”applet”. La portion de page HTML suivante est suffisante
pour traiter une animation graphique ou un fichier son. Hot Java supporte déjà le son 8 kHz, 8 bits au
format .au et est capable de réaliser une animation à partir d’une série de fichiers graphiques GIF.
<BODY>
My HelloWorld applet:
<APP CLASS="ImageLoopItem"
SRC="doc:/demo/"
IMG="images/duke">
</BODY>
Une application complète ressemble à ceci
import browser.Applet;
import awt.Graphics;
class HelloWorld extends Applet
{
public void init()
{
resize(150, 25);
}
public void paint(Graphics g)
{
g.drawString("Subliminal Hello world!", 50, 25);
}
}
On l’appelle dans le corps d’une page HTML avec la commande <APP CLASS=“HelloWorld”>
Les mots réservés de la syntaxe Java sont finalement très peu nombreux :
( ill javaspec.gif)
Les opérateurs sont identiques à ceux du langage C, des librairies C pouvant aussi être ajoutées à une
application Java. Le concept de garbage collection est poussé à l’extrême puisque le programmeur ne
doit jamais se soucier de libérer la mémoire, des file descriptors ou des contextes graphiques.
Java est décrit à travers une machine virtuelle, un modèle abstrait et logique incluant un jeu
d’instructions, un jeu de registres, un stack, un heap et une espèce de segment texte baptisé ici “method
area”.
Toute une série de classes prédéfinies permettent de jongler avec des objets de base aux noms
évocateurs d’Url, Ftp, Http, telnet, smtp, nntp ou sockets. Bref, on dispose d’une librairie de classes
World Wide Web très fournie et le développement d’applications Internet en est considérablement
simplifié.
L’intention de Sun n’est pas de faire de Java un langage propriétaire. Au contraire, les sources sont
distribuées librement de manière à susciter la création d’extensions au langage.
Plusieurs grandes entreprises ont déjà marqué leur intérêt pour le langage Java. Internet Shopping
Network est en train de développer un système de vente aux enchères électroniques réunissant un
maximum de 250 participants. Dimension X, une société de San Francisco, prépare divers projets Java
pour plusieurs studios Hollywoodiens (Fox et Disney notamment) avec des animations sonorisées et
des créations en 3D.
Les navigateurs Hot Java sont disponibles gratuitement sur l'Internet pour les utilisateurs individuels,
tandis que les kits pour développeurs seront payants. Sun vient de frapper très fort avec son langage
Java. 70 pour cent des serveurs World Wide Web tournent sur stations Sun qui n’aura aucune peine à
conserver cette avance si le puissant langage Java rencontre le succès qu’il mérite.
[email protected]
Téléchargement