Paris JUG – conférence sur OSGI
21 octobre, 2008 (21:48) | Paris JUG, event, java | By: fabien
|
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 :
|
Share and Enjoy
Write a comment