Peut-on encore se passer d'Eclipse ?
Incontournable, cette plate-forme rallie éditeurs et entreprises grâce à l'intégration de ses outils, mais elle impose ses standards ' de fait '.
01net.
le 29/12/06 à 07h00
Il y a presque cinq ans jour pour jour, IBM créait la fondation Eclipse pour fédérer les développeurs autour d'un seul atelier de développement gratuit et ouvert. Un pari réussi au-delà de ses ambitions : 44 % des
entreprises utilisent aujourd'hui Eclipse IDE (source Forrester). Et, mis à part Microsoft et Sun, tous les éditeurs s'y sont ralliés, tels Borland avec JBuilder et Zend avec le prochain Zend Studio. ' Eclipse est déjà un
standard dans la communauté PHP ', note Perrick Penet, président de l'Afup (Association française des utilisateurs de PHP). Même l'éditeur spécialiste en gestion de contenu Nuxeo ?" promoteur de Zope ?" a
intégré le client riche Eclipse RCP à la prochaine version de sa plate-forme, Nuxeo 5.
Pourquoi un tel succès ? Eclipse n'est pas un simple atelier de développement, c'est avant tout une fondation qui réunit les éditeurs les plus puissants autour d'une plate-forme logicielle commune. ' Basé
sur les spécifications OSGi Service Platform, le c?"ur d'Eclipse [Equinox, NDLR] permet d'assembler des composants standards pour créer n'importe quel logiciel : un outil de développement tel Eclipse IDE, une application
métier comme le fait SAP, etc. ', explique Didier Girard, directeur technique de la SSII Sfeir.
De l'IDE à la plate-forme globale
Comme Linux en son temps, cette approche modulaire a permis de créer très vite un vaste écosystème : les éditeurs et les communautés open source ont transformé leurs outils en plug-in
pour Eclipse. Tous adhèrent à la fondation dans l'espoir d'influencer ses projets. Celle-ci compte 152 membres. Elle dispose officiellement d'un budget annuel de 5,7 millions de dollars qui en fait la quatrième communauté open
source dans le monde après OSDL (Linux) et les fondations Apache et Mozilla. La fondation Eclipse se consacre à la création d'une plate-forme modulaire couvrant tout le cycle de vie des applications et plus encore. D'abord constituée d'un
simple atelier de développement, cette plate-forme regroupe 65 projets, constitués principalement d'outils spécialisés ?" éditeur de code, test, modélisation, etc. ?" agrémentés d'un framework.
Les éditeurs de logiciels de développement s'appuient surtout sur Eclipse IDE et ses sous-projets, tandis que les entreprises et les éditeurs de logiciels métier exploitent les frameworks et les socles
d'exécution : RCP pour le client riche, RAP pour Ajax, BIRT pour le décisionnel, etc. Ces frameworks accélèrent les développements tout en les standardisant. Cette standardisation progressive intéresse vivement les
éditeurs. La fondation Eclipse pourrait ainsi héberger deux nouveaux projets. Le premier, Aperi, vise à simplifier l'administration des environnements de stockage grâce à une interface de programmation (API) standard. Il regroupe de nombreux poids
lourds : Brocade, Fujitsu, IBM, Cisco et Net-App. Le second projet, Cosmos, vise aussi à fournir une API standard, mais pour l'instrumentation de n'importe quel service d'une SOA. Son objectif est de faciliter la collecte de données et le
développement d'outils d'administration qui partageraient les mêmes structures de données.
Liés à des standards émergents, ces projets comptent sur Eclipse pour dégager rapidement un consensus. Consensus qui prendra la forme d'un framework et d'outils s'imposant progressivement comme des standards
' de fait '. La fondation compte sur ces projets pour bâtir un seul entrepôt de données normalisées qui couvrent tout le cycle de vie des applications.
Incontournable... mais problématique
Si elle peut sembler bénéfique, cette standardisation autour d'Eclipse est pourtant dangereuse. En effet, en regroupant les principaux éditeurs de logiciels et en dégageant un consensus restreint, au-delà des instances traditionnelles
de normalisation, Eclipse pourrait peu à peu imposer au reste de la planète ses méthodes et ses techniques, qui ne sont pas des standards au vrai sens du terme. Alexis Moussine Pouchkine, architecte Java chez Sun, considère
' qu'Eclipse est d'abord une organisation au service de ses membres ', et rappelle que le concurrent maison Net-Beans ' est toujours le premier outil à implémenter les standards
?" Java EE 5, EJB 3.0, JAX-WS 2.0, etc. ?" et uniquement des standards '. On peut prendre le cas d'Eclipse RCP (Rich Client Plat-form) qui s'impose souvent pour le développement de clients riches Java.
Pourtant, les applications basées sur ce framework ne sont plus portables, car elles imposent le déploiement du framework d'Eclipse RCP sur chaque poste utilisateur.
Les entreprises doivent donc maintenant choisir entre Eclipse RCP et le standard Java SE. Pour elles, il aurait été préférable que les innovations d'Eclipse RCP soient intégrées au sein de Java SE ou dans un
framework standardisé par le JCP... En sera-t-il de même pour les autres domaines couverts par les projets de la fondation Eclipse ? La question mérite d'être posée. Car, mis à part Microsoft, aucun éditeur ne semble
aujourd'hui en mesure de lutter contre les ' standards Eclipse ' qui s'imposent progressivement comme des standards ' de fait '.
Des distributions Eclipse
Le foisonnement de plug-in et l'architecture en couches d'Eclipse ne sont pas faciles à gérer pour les entreprises. Quels plug-in retenir et comment les mettre à jour ? Face à ces
questions, un tiers des entreprises crée et maintient sa propre distribution tandis qu'un autre tiers laisse chaque développeur se débrouiller comme il l'entend. Le tiers restant attend une version packagée intégrant les plug-in
les plus couramment utilisés. Des ' distributions Eclipse ' commerciales comme celles d'Exadel et de Yoxos apparaissent donc pour combler ce manque. A l'image de Linux, on peut imaginer qu'il en existera demain
des centaines, spécialisées dans des domaines précis : téléphonie mobile, client riche, applications métier, BPM, etc.
Eclipse : Une véritable plate-forme
L'atelier de développement Eclipse IDE n'est qu'un des 65 projets de la fondation, laquelle poursuit un autre but : construire une plateforme logicielle globale, couvrant tout le cycle de vie des
applications, à l'aide d'un socle d'exécution et d'outils spécialisés, ceux-ci reposant tous néanmoins sur les mêmes standards.
Consensus autour d'Eclipse : Carl Zetie, analyste chez Forrester Research
' Un socle d'intégration plus qu'un outil de développement '
' Il est possible d'utiliser Eclipse IDE comme un outil de développement Java. Beaucoup d'entreprises le font, en l'enrichissant de plug-in. Cependant elles devraient prendre conscience qu'Eclipse
IDE n'est pas un produit fini, mais plutôt un socle d'intégration qui fournit un ensemble de technologies cohérentes et réutilisables par l'ensemble des projets. Les métadonnées sont la clé de la capacité d'intégration d'Eclipse IDE. Et si Eclipse
rencontre un tel succès, c'est parce que ces métadonnées sont pointues et correspondent à un consensus. Les tentatives de création d'un métamodèle global n'ont pas manqué, mais toutes ont échoué. L'approche d'Eclipse ?" petits groupes
d'experts réactifs et compétents ?" semble être la bonne. Peu à peu, ces îlots se regroupent pour créer un socle d'intégration où les éditeurs peuvent vraiment venir connecter des outils pointus, et donc efficaces. '
Un OS de développement : Bruno de Combiens, responsable marketing produits chez Borland France
' Eclipse est incontournable, mais son utilisation doit être encadrée '
' Incontournable pour les entreprises et les éditeurs, Eclipse IDE marie deux approches opposées : la maîtrise des coûts et l'innovation. Par analogie avec les OS ou les PGI, on peut qualifier Eclipse IDE de
"Development Operating System" : il constitue la colonne vertébrale du processus de développement. Et comme construire un logiciel ne se limite pas à l'édition ?" compilation ?" débogage de
code, Eclipse devient indispensable avec Eclipse Modeling Framework ou Eclipse Process Framework (EPF) qui fournissent des outils pour l'ingénierie logicielle. Néanmoins, par son ouverture et sa modularité, Eclipse induit un risque pour les
entreprises. Quelle distribution choisir ? Doit-on construire sa propre plate-forme, et qui en assurera la maintenance ? Souvent, l'achat de technologies complémentaires reste incontournable pour couvrir tout le cycle de vie dune
application. '