Blog

Eclipse RCP / OSGi – Apéro technique du 16/02/2015

Bonjour à tous !

Nous avons eu droit lundi, lors d’un apéro technique, à une présentation de Eclipse RCP (Rich Client Plateform) et OSGi (Open Service Gateway Initiative) par Bruno Leroux. Pour tous ceux qui n’ont pas pu être là, rassurez-vous !, vous trouverez un résumé de cette présentation dans ce billet.

Bon. Notons tout de même qu’étant une jeune apprentie fraîchement reconvertie à l’informatique, vous ne trouverez dans ce résumé que la découverte vulgarisée que j’ai pu en faire.

Bien. Commençons par un peu d’histoire.

Le projet Eclipse

A sa création en 2001, le but du projet Eclipse était de fournir un framework permettant de faire des environnements de développement. Mais ce projet, comme nous le savons, a connu un certain succès, et Eclipse a commencé à être utilisé pour développer des applications client grâce notamment à ses modules graphiques. Les développeurs n’avaient donc aucun besoin des modules permettant la création d’environnement de développement. C’est ainsi qu’est né Eclipse RCP.

Eclipse RCP

Lancé en 2004, Eclipse RCP est un sous-ensemble d’Eclipse , une version ‘light’, spécialisée pour le développement d’applications client. Il est composé des modules graphiques d’Eclipse et d’Equinox (noyau d’Eclipse). Les voici (partie en claire) :

Techniquement, Eclipse RCP est la base sur laquelle sont construits tous les projets Eclipse.

OSGi

Les travaux sur OSGi ont eux commencé bien avant, en 1999. Le but initial était de développer un panel de services Java pour le monde embarqué, en proposant une solution efficace et légère aux problèmes de modularité des applications. Ses objectifs se sont élargis au fur et à mesure, et OSGi est actuellement utilisable dans tous types d’applications Java.

Ses principaux atouts sont la modularisation d’application et sa dynamicité. Initialement conçu pour le monde embraqué, ses objectifs sont la gestion d’un minimum de modules de services (pour exemple, le poids de la Release 5 est d’environ 500 Ko), et la mise à jour à chaud de ces modules.

Techniquement ce framework est une implémentation d’Equinox permettant une gestion dynamique des dépendances.

Ses utilisations :

  • en 2004, OSGi est devenu la base du framework Eclipse ;
  • il est également la base de plusieurs serveurs d’applications (notamment JOnAS, WebSphere et Glassfish) ;
  • il est utilisé dans certains ESB Java (exemple de ServiceMix), mais également SAP.

Les freins à son adoption sont cependant nombreux. On notera principalement :

  • la complexité de la gestion dynamique des dépendances ;
  • l’avènement de Maven qui apporte une solution statique à la gestion des dépendances ;
  • le refus de SUN de l’intégrer aux spécifications Java.

L’équipe SUN souhaite pousser la gestion modulaire en apportant notamment des mots de langages réservés java. Ces évolutions initialement prévus dans la JRE 8, ont été repoussés à la JRE 9. Peut être les verrons nous fin 2016.

Voilà. Pour les plus aventureux, vous trouverez au lien suivant un article de présentation d’Eclipse RCP :

http://www.eclipsetotale.com/articles/Eclipse_RCP.html

The End

Si vous avez des questions, n’hésitez pas à laisser des commentaires, j’essayerai d’avoir la réponse.

Anne-Claire Schutz

Written by

The author didnt add any Information to his profile yet