TPOSGI 2010
TP OSGI
VOus pouvez vous inspirer de ce Tutorial OSGI pour les TPs
Peut être encore mieux de ça Autre tutorial OSGI
TP 1 Création d'un Bundle avec Eclipse et un client pour le Bundle (Tirage et Client du tirage)
Le type de projet à créer est Plugin. Il faut ensuite choisir le Framework standard Equinox.
Dans Eclipse, création d'un bundle en utilisant le template HelloWorld par défaut Video support - OSGI 1 - création et exécution d'un projet
Créez un bundle fournissant une implantation de Random (Interface et implantation). Ce bundle exporte le package contenant l'implantation et l'interface.
Créez ensuite un second bundle qui va dépendre du package exporté par ce bundle. Dans la méthode start de ce bundle vous pouvez faire appel à la méthode "nextInt" fournie par l'autre bundle.
Testez le client et vérifiez ce qui se passe quand vous retirez le bundle Random.
utilisez les commandes ss, start, stop, et uninstall dans la console Equinox puis essayez avec refresh. Que constatez vous ? Essayez en particulier la séquence qui consiste à retirer le bundle fournissant l'implantation puis à faire un refresh du client.
TP 2 Création d'un Bundle qui écoute les évènements liés aux service
- Créez une bundle qui fournir une implantation de l'interface ServiceListener et qui s'enregistre comme un listener du Framework
TP 3 Création et enregistrement d'un service (Random)
- Création et enregistrement du service Random
- Ecriture d'un client qui recherche le service et qui l'utilise (à la main). Faites un client interactif, qui peut utiliser plusieurs fois de suite le service.
- Création et enregistrement d'une autre implantation du service Random
- Ecriture d'un client qui utilise le ServiceTracker pour récupérer une reférence au client.
Dans la console d'equinox, vous pouvez faire des tests de retrait et de remise ne place du service pour observer ce qui se passe.
TP 4 Création d'un service Tirage qui utilise le service Random
Créez le plugin Tirage qui utilise le Random et qui utilise son service. Tirage implante un tirage sans remise.


