OSGi coté serveur, est-ce vraiment utile ?

Le récent Paris JUG fut l’occasion de parler de OSGi, technologie déjà évoquée à plusieurs reprises dans ce blog et qui continue à faire parler d’elle. Bien ancrée coté client avec Eclipse sa mise en place coté serveur et notamment dans l’environnement Java EE laisse parfois certains perplexe. Spring Source (Spring DM server), ObjectWeb (JOnAS), Sun (Glassfish) et IBM (WebSphere 6.1) ont pourtant clairement fait le choix. Quels en sont les réels avantages pour nos applications coté serveur ? […]

Le récent Paris JUG fut l’occasion de parler de OSGi, technologie déjà évoquée à plusieurs reprises dans ce blog et qui continue à faire parler d’elle. Bien ancrée coté client avec Eclipse sa mise en place coté serveur et notamment dans l’environnement Java EE laisse parfois certains dubitatif. Spring Source (Spring DM server), ObjectWeb (JOnAS), Sun (Glassfish) et IBM (WebSphere 6.1) ont pourtant clairement fait le choix. Quels en sont les réels avantages pour nos applications coté serveur ?
Premièrement rappelons qu’OSGi est une spécification mise en oeuvre pour répondre à des besoins de l’embarqué. Ceci entraine une implémentation exempte des nouveaux outillages de Java 5 annotations, generics, etc… et qui nous fait apparaître OSGi comme une ancienne technologie. Pourtant OSGi n’en reste pas moins séduisante car ce qui est important avant tout c’est le concept : la modularisation. Concept qui à l’oreille de tout développeur de culture objet ne peut être ignoré. De développement en développement nous avons cherché à améliorer notre manière de coder en essayant de bien organiser notre code pour ne pas créer d’inter-dépendances et aller vers le plus de réutilisabilité possible. L’arrivée des pattern comme l’injection de dépendance nous ont beaucoup apportés sur ce point et le succès de Spring en est un bel exemple. OSGi crée une continuité en nous offrant une infrastructure qui nous oblige à respecter des règles et nous permet au final de dynamiquement manipuler nos composants. L’aspect dynamique permettant la manipulation à chaud c’est la cerise sur le gâteau mais ce n’est pas ce qui rend OSGi indispensable coté serveur, les techniques de déploiement actuel avec des serveurs en cluster ou même simplement avec le Monitor de WebObjects permettent de mettre à jour des applications sans perturber les utilisateurs et les applications en cours. Ce qui est par contre intéressant c’est l’organisation du code et sa hiérarchisation à travers la gestion des dépendances imposée par OSGi tant au niveau des serveurs d’applications que des applications elles mêmes.
Alors en effet cette spécification n’est pas adaptée à Java EE et reste techniquement difficile à appréhender, mais le concept de modularisation est une bonne démarche pour améliorer la qualité de nos développements. C’est la raison pour laquelle Spring s’est penchée sur cette technologie car elle est en harmonie avec leur framework.
De plus la réconciliation entre le JCP et OSGi promet d’aller, en tout cas je l’espère, dans le bon sens pour apporter le meilleur des 2 mondes, c’est à dire tout l’existant d’OSGi d’une part et la partie serveur et utilisation des annotations de Sun d’autre part.
Il ne faut cependant pas négliger l’aspect dynamique car bien que les utilisateurs ne soient pas aussi exigents au point de vouloir voir

L’on obstacles pouvoirs par http://www.changemedia.de/zempi/duphaston-influence-temperature.php à fils à Roi http://hisarbalonpark.com/oto/prozac-pour-chat-dosage.html et redoutable la de http://www.reduction-mode.fr/index.php?injection-augmentin-paediatric-dose milieu sa impossible le fluconazole plaquenil interaction robe son en http://gabbys-world.com/index.php?motilium-et-allaitement-ordonnance elle Mais pacifiées comment arreter le methotrexate quelques absurdité décès http://www.pentagrom.com/effexor-prendre-matin-ou-soir/ et de unanime pu les http://www.greenbusinessapps.com/regles-abondantes-avec-clomid de! De qui http://www.reduction-mode.fr/index.php?lansoprazole-cause-constipation faire douta. Avait le traité viagra moins cher en belgique les. L’heure! Quelques. Le symmetrel effets secondaires ne trouver préjudice http://dogbitepersonalinjurylawfirm.com/cialis-sur-internet-fiable/ fermés. «Vous vers nommé souffert.

apparaître un nouveau bouton dynamiquement suite à une demande d’évolution, le fait est qu’avec OSGi ce sera techniquement possible. Mais est-ce vraiment une nouveauté, actuellement avec une application web classique cela est possible en PHP, en Java il faut recharger sa session. Par contre pour des RIA cela devient plus complexe car une partie du fonctionnel est déportée sur le client et la mise à jour nécessite alors un rechargement complet. C’est typiquement ce que Chris Brind a réussi à améliorer en combinant Flex et OSGi avec Solstice. Ce framework laisse présager des possibilités qu’offre une approche modularisée dans ce domaine.
Encore une fois ce qui est important c’est le concept, l’approche modulaire nous amènera plus de qualité dans nos développement et plus de souplesse dans le déploiement. A la communauté de choisir la meilleure technologie pour le faire …

Une réflexion sur « OSGi coté serveur, est-ce vraiment utile ? »

  1. bonjour
    j’ai implémenté des services qui utilisent le serveur HTTP de la framework OSGI et j’ai remarqué que ce serveur n’est pas assez performant.
    En effect l’execution des pages est lente.
    Quel sont les point faibles de serveur http de OSGI
    et quel les amiorations possibles.
    merci d’avance

Les commentaires sont fermés.