Lundi 23 octobre 2017
NASDAQ : 6629.0532 23.9863   nasdaq0.36 %
RECHERCHE
OK
 
NEWSLETTER
newsletter
Abonnez-vous gratuitement
à notre newsletter
hebdomadaire - Cliquez ICI
Indexel
  • DOSSIERS
  • PRATIQUE
pub Publicité
 

APPLICATIONS

Frameworks open source : attention aux dépendances !

Imprimer Envoyer à un ami Contacter la rédaction
Par Frédéric Bordage le 05/12/2006 - indexel.net
 

Les éditeurs s'appuient sur les communautés open source pour imposer des standards "de fait" qui brisent la portabilité des applications. C'est le cas notamment de Zend et de la fondation Eclipse.

 

C'est un paradoxe de l'histoire : alors que les frameworks et l'open source sont apparus pour rassembler les développeurs autour d'un code commun, ils les divisent aujourd'hui. Une raison suffisante pour rappeler brièvement les atouts et les dangers des frameworks open source.

 

Un petit rappel d'abord. "Un framework est un ensemble de bibliothèques permettant le développement rapide d'applications. Il fournit suffisamment de briques logicielles pour pouvoir produire une application aboutie. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres", explique Frédéric Bon (photo), fondateur du cabinet de conseil en architecture Clever Age. Parmi les frameworks les plus connus, on peut citer J2SE, J2ME et J2EE, les trois piles logicielles sur lesquelles reposent la plupart des développements Java actuels.

 

Pour s'exécuter, un logiciel Java basé sur le framework Java EE nécessite un framework Java EE en plus d'une machine virtuelle Java (JVM). Cette lapalissade est aujourd'hui complètement absente du discours marketing des éditeurs. Une erreur. En effet, lorsque Sun a lancé ces environnement de développement le 5 juin 1999, c'était autant pour faciliter la vie des développeurs que pour garantir la cohésion de sa plate-forme Java en imposant un standard "de fait". Nombre d'éditeurs commençaient en effet à proposer leurs propres frameworks, brisant ainsi la portabilité des applications Java. Sun créa donc le Java Community Process (JCP) afin que tous les éditeurs puissent définir en commun l'avenir du langage. L'objectif était bien entendu de permettre aux utilisateurs de Java de choisir une implémentation et un outil de développement parmi ceux d'Oracle, BEA, IBM, Sun, etc. tout en conservant un bon niveau de portabilité, la promesse initiale de Java ("Write once, run anywhere").

 

Un framework ne règle pas tous les problèmes

 

L'histoire se répète aujourd'hui au sein de la communauté PHP. Zend lancera d'ici quelques mois le Zend Framework. Ce cadre de développement répond exactement aux mêmes objectifs que ceux de Sun il y a sept ans : rassembler tous les développeurs PHP autour d'un framework qui s'impose comme un standard de fait, car "c'est la seule façon de garantir la portabilité et la pérennité à long terme d'une grande quantité de logiciels basés sur PHP", estime Jérémy Chatard (photo), directeur technique de la SSII Breek.

 

Cependant, si le framework Zend s'impose "qu'arrivera-t-il dans trois ou cinq ans aux applications PHP qui reposent sur l'un des 70 frameworks existants aujourd'hui ? Seront-ils encore maintenus ?", s'interroge Cyril Pierre de Geyer, coauteur du livre "PHP 5 avancé" et formateur chez Anaska. Un framework ne règle donc pas tous les problèmes. D'autant que l'organisation du projet "Zend Framework" n'a rien à voir avec celle de PHP. D'autres questions se posent alors : comment l'évolution du Zend Framework est-elle organisée ? Qui peut contribuer ? Qui aura le dernier mot sur l'intégration ou pas de nouvelles API ? Bref, "qui décide de l'avenir de cette nouvelle plate-forme de développement ? Et quels sont les mécanismes qui garantissent une évolution ?démocratique' ?", synthétise Jérémy Chatard.

 

Deux frameworks Java pour le poste client

 

La situation est presque identique dans la communauté Java qui est aujourd'hui divisée en deux. D'un côté les partisans de la portabilité et des standards défendent les frameworks Java EE, SE et ME. De l'autre, les partisans de l'innovation et de la réactivité soutiennent le framework Eclipse RCP. Eclipse RCP représente aujourd'hui une alternative au socle de développement Java officiel pour le poste client : Java SE (Standard Edition). Pour contrer Adobe et Microsoft sur le terrain des téléphones mobiles, la fondation Eclipse a même décliné Eclipse RCP pour les téléphones mobiles.

 

Or, "les logiciels qui se basent sur Eclipse RCP ne sont plus portables. Ils nécessitent l'installation préalable au dessus d'une JVM du framework Eclipse RCP", rappelle Jérémy Chatard. La nuance peut paraître subtile. Mais il suffit de chiffrer le coût d'installation du framework Eclipse sur 10 000 postes pour comprendre le dilemme des grandes entreprises. La même question se pose pour les éditeurs d'applications pour téléphones mobiles qui visent des millions de déploiements. Pour calmer le jeu, Sun a du libérer Java en fournissant notamment une implémentation open source de Java SE et de Java ME sous licence GPL. A l'origine d'Eclipse, IBM demandait cette libération depuis plus de deux ans.

 

Il existe donc aujourd'hui deux plates-formes Java open source pour le poste client et les périphériques mobiles : celle de Sun et celle d'Eclipse. Laquelle choisir ? Quelle sera celle qui influencera les travaux du JCP ? Ce dernier a-t-il même encore du poids ? "Le marché a bien suivi Eclipse qui n'est pas standard. Pourquoi ne suivrait-il pas demain une implémentation non standard du JDK Java par IBM ?", résume Sami Jaber (photo), directeur technique de Valtech Toulouse.

 

En occultant la portabilité dans leur discours marketing et en mettant désormais l'accent sur la productivité, les éditeurs de logiciels oublient de rappeler que si Java EE, Java SE, et Java ME progressaient si lentement, c'est justement parce que le processus de standardisation qui consistait à mettre tous les éditeurs d'accord avant de sortir un framework n'était pas trivial. Or, c'est grâce à la promesse de sa portabilité que Java s'est progressivement imposé.

 

 
Partager :
 
pub Publicité

CloudStack by IkoulaCloudStack by Ikoula

Cloud Computing : Atouts et freins, acteurs du marché, conseils et témoignages