Le blog de Fabien DUMINY

Un blog utilisant WordPress

Skip to: Content | Sidebar | Footer

Paris JUG – conférence sur OSGI

21 octobre, 2008 (21:48) | Evènement, Java, Paris JUG | By: fabien

Paris JUG Il y a quelques semaines, j’ai découvert Paris JUG, un groupe d’utilisateurs JAVA basé sur la région parisienne. Comme ils donnaient gratuitement une conférence sur OSGI, sujet qui m’intéresse, j’y suis allé mardi dernier.
Voici divers notes que j’ai prises là-bas :

    Evênements à venir dans le groupe :

  • Février 2009 : C’est le premier anniversaire du groupe. A cette occasion, il y aura des quickies (présentations de 15 minutes)
  • Appel à bloggers (j’ai demandé à ajouter mon blog et j’attend la réponse)
  • 4 Novembre : conférence sur GWT (je compte y aller)
  • 12 Novembre : Open source exchange
Sans OSGI

  • Il est possible d’éviter les collisions entre différentes versions d’une même librairie en les repackagant (changer le nom des packages) : c’est ce qui a été fait avec tomcat qui inclue sa propre version de commons-dbcp (voir référence)

Comparaison de OSGI et JCP:

  • Pour être membre :
  • TCK (tests de conformité) :
    • JCP : accessible notamment au monde de l’open source
    • OSGI : plus difficilement accessible

OSGI et les JSR :

  • JSR 291 : créé par la communauté OSGI pour intégrer dans JAVA SE un modèle de composants dynamiques basé sur OSGI
  • JSR 277 : a pour but d’intégrer la notion de modules dans JAVA. Celui-ci pourrait ne pas aboutir et être fusionné avec JSR 291
  • Spring DM (Dynamic Modules)
    • deviendra probablement le futur standard OSGI car il semble bien accueilli par la communauté JAVA
    • est en cours de normalisation de ses principales idées avec la RFC 124. Celle-ci semble menacer la notion de «declarative service » (OSGI v4), qui est une surcouche à OSGI visant à déclarer les services importés et exportés par un bundle.

OSGI et les applications java :

  • Apache geronimo : les jars sont OSGIfiés mais ne sont pas dans un conteneur OSGI
  • Apache felix
    • implémentation d’un conteneur OSGI par la communauté apache
    • permet de générer le manifest OSGI avec Maven
  • eclipse : basé sur OSGI depuis la version 3.0
    • equinoxe : implémentation d’un conteneur OSGI pour eclipse
    • eclipse RAP (Rich Ajax Platform) : equinoxe dans une application web
    • eclipse BIRT : exemple d’une application web qui a son propre conteneur OSGI
  • Websphere 6.1 : full OSGI. Il n’expose pas les API OSGI aux applications web.
  • Service Mix, un ESB (Enterprise Service Bus) : gère notamment l’autorefresh des services ajoutés/supprimés par OSGI.
  • PAX : projet open source qui wrappe au format OSGI des librairies tierces. Il est composé, entre autres, de :
  • JUnit : il est mono ClassLoader et c’est un problème avec OSGI
  • Spring DM : probablement le futur standard OSGI

Remarques sur OSGI :

  • Un ClassLoader par bundle
  • Class.forName : à éviter d’utiliser dans OSGI autant que possible. Voir la discussion à ce sujet.
  • Le ServiceTracker OSGI peut voir plusieurs implémentations d’un service (c’est à dire d’une interface JAVA)
  • Problème : Comment ajouter une dépendance dynamiquement ? Solution: on attache le « bundle fragment » en ajoutant « Bundle-Host: bundle_name» dans son manifest

Notes divers :

  • Le fichier manifest est limité à 76 colonnes (étrange limite …)
  • Feature eclipse : c’est un ensemble de plugins, par exemple un domaine fonctionnel dans une application d’entreprise

Pour en savoir plus :

Be Sociable, Share!
Share and Enjoy

Write a comment





If your website is claim enabled, it will be notified that you have posted here.

MySQL query error