L'INRIA dans le groupe d'experts sur la gestion de ressources Java
Avec Google, IBM, BEA Systems, Intel, Nokia, Siemens, Motorola et l'EPFL, l'INRIA fait partie d'un groupe expert qui travaille, depuis un an, sur une nouvelle demande de spécification Java (1). L'approbation finale de cette JSR est attendue pour la mi-décembre 2006.
Directeur de recherche à l'INRIA/Irisa et membre de l'équipe ACES (spécialisée en informatique diffuse), Ciarán
Bryce participe au groupe expert car il a travaillé auparavant chez Sun, à Palo Alto précisément sur le même sujet. “Java fait l’objet d’une utilisation de plus en plus importante, explique-il. Et on ne peut pas se permettre de le laisser grandir n’importe comment. Chaque extension doit tenir compte des besoins spécifiques exprimés par un grand nombre de dévelopeurs. Elle doit aussi être compatible avec ce qui existe déjà. Pour cette raison, chaque modification doit donc passer par une JSR.”
Chacune d'elle vise à résoudre un problème technique. La JSR-284 définit une API (2) pour la gestion de ressource.
“L’idée de base, c’est de savoir quelle quantité de CPU et autres ressources de la plateforme sont utilisées par l'application. On a besoin de mesurer ces quantités quand on fait fonctionner de gros systèmes. Sinon, on ne peut pas développer de systèmes extensibles et robustes.” Avant, quand ils écrivaient des programmes en Java, les développeurs ne connaissaient pas le pourcentage de CPU utilisé ou de mémoire consommée. Il n'avait aucun moyen de contrôler l'utilisation réseau ou le nombre de connexions établies sur une base de données. Donc, manque de contrôle sur la ressource. “Mais ce contrôle de la consommation est primordial dans un environnement Java qui ne cesse de grandir en devenant de plus en plus multi-utilisateurs, remarque Ciarán Bryce. Les systèmes d'exploitation possèdent cette capacité à gérer la ressource. Mais, jusqu'à présent… Java ne l'avait pas.”
Cette nouvelle faculté “s'avère très intéressante pour le calcul sur grilles, par exemple”, où des centaines de processeurs en différents lieux géographiques peuvent être utilisés simultanément. Mais il y a mieux : l'informatique à la demande. L'idée c'est d'avoir une meilleure vision de la façon dont les ressources sont utilisées. Et ensuite... de les facturer au client. “Prenez l'hébergement web par exemple. L'hébergeur peut faire payer non seulement l'espace disque et la bande passante, mais aussi le pourcentage de CPU utilisé.”
La gestion de la ressource assure aussi une meilleure protection contre les attaques par dénis de services. D'après Ciarán Bryce, “Java offre déjà la sécurité. Les plateformes écrites dans ce langage sont à l'abri de bien des méthodes d'attaque utilisées contre les plateformes Windows ou Linux." Explication : "le langage n'autorise pas de manipulation sur la mémoire. Un programme ne peut pas confondre code et données. Classiquement, les virus profitent de la possible confusion entre les deux qui existe dans certains systèmes. Cela n'est pas possible en Java. Voilà aussi une des raisons pour lesquelles, ce langage continue de s'étendre.”
Comme Jonathan Schwartz (3), président de Sun, le faisait récemment remarquer : “il y maintenant 4 milliards d'appareils fonctionnant sous Java”. La plateforme Java “se vend plus que la plateforme Solaris, la Linux GNU, la plateforme Windows, le Mac, Symbian… Ce que vous voulez! La plateforme Java les dépasse tous… ENSEMBLE! Nous sommes sur 8 téléphones sur 10 dans le monde.” Ciarán Bryce constate aussi que “maintenant, 98% des processeurs dans le monde ne se trouvent plus dans des ordinateurs, mais embarqués dans des automobiles et toutes sortes d'appareils électroménagers."
Notes
(1) Créé en 1995, par la société californienne Sun Microsystems, Java est un langage de programmation général orienté objet et basé sur les syntaxes du C et du C++.
(2) Application Programming Interface ou interface de programmation. L'API définit la manière dont un composant informatique peut communiquer avec un autre.
(3) Durant un show à la Steve Jobs, le 13 novembre 2006, Jonathan Schwartz a annoncé que Sun Microsystems allait finalement ouvrir Java aux développeurs, en le plaçant sous licence gratuite GPL, c'est à dire la même licence que celle utilisée pour le système d'exploitation open source Linux.