TP numéro 4 – Partie 1 : OSGi Apache Felix

Download Report

Transcript TP numéro 4 – Partie 1 : OSGi Apache Felix

Deuxième année Ingénierie Génie Logiciel
Middlewares et intégration d’applications
TP numéro 4 – Partie 1 : OSGi
Apache Felix
(Enseignant de TP : Mohamed Lamine JELLAD)
Partie théorique : OSGi
OSGi (Open Services Gateway initiative) est un ensemble de spécifications qui
définissent un système de composante dynamique pour Java. Son objectif principal est de
fournir une infrastructure ouverte et standardisée destinée principalement aux systèmes
embarqués. Cette plate-forme, basée sur le langage Java, permet un contrôle à distance de son
environnement et le chargement dynamique, de code tout en restant indépendante du système
sur lequel elle se trouve installée. Elle permet ainsi de faciliter le développement et le
déploiement d’applications.
Figure 1 : Vision d’ensemble OSGi.
Mohamed Lamine JELLAD
Page 1
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Les bundles
Les Bundles sont des composantes OSGi faites par les développeurs. Un bundle contient
les entités nécessaires à l’exécution de l’application, c’est à dire non seulement les classes Java,
mais aussi les éventuelles ressources et un fichier Manifest qui permet au bundle de s’autodécrire. Les interactions entre applications sont définies à travers des services ainsi que par le
biais de l’utilisation de paquetages Java exportés par les bundles.
Figure 2 : Contenu d’un bundle OSGi.
Figure 3 : Cycle de vie d’un bundle.
Mohamed Lamine JELLAD
Page 2
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Partie pratique : Apache Felix
Exercice numéro 1 : Initiation à Felix Framework
Pour démarrer Apache Felix :
Pointez sur le fichier racine de Felix :
Cd E:\enseignement\Integrations\tp4-osgi-felix\felix\felix-framework-4.2.1.
1. Tapez la commande : java –jar .\bin\felix.jar
2. Tapez la cmmande « lb » pour voir la liste des bundles installés sur la Framework
OSGi Felix.
3. Installer les bundles suivant :
org.apache.felix.http.jetty-2.2.1.jar
org.apache.felix.configadmin-1.8.0.jar
org.apache.felix.webconsole-4.2.0-all.jar
org.apache.felix.scr-1.8.0.jar
Mohamed Lamine JELLAD
Page 3
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Pour installer un bundle utilisez la commande « install » comme suite :
Install file :unChemin/unDossion/unBundle.jar
unChemin peut être un chemin absolu, exemple : file://c:/felix/bundle/.
unChemin peut être un chemin relative, exemple : ../../bundle/.
Voici un exemple d’installation de bundle org.apache.felix.http.jetty-2.2.1.jar dans mon cas :
Install file :../bundles/ org.apache.felix.http.jetty-2.2.1.jar
4. Démarrer un bundle : la commande start permet de démarrer un bundle, exemple :
start 5
Avec 5 est le numéro de bundle Apache Felix HTTP Jety 2.2.1 dans mon cas.
Dans la liste des services, le bundle doit être actif.
Mohamed Lamine JELLAD
Page 4
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Pour arrêter un bundle utilisez la commande stop :
Stop 10 : arrêter le bundle numéro 10.
Pour désinstaller un bundle, utilisez la commande uninstall :
Uninstall 10 : désinstaller le bundle numéro 10.
Exercice numéro 2 : Création d’un bundle « hello
word » sous Eclipse IDE et installation sous Felix
Ouvrir Eclipse IDE « Eclipse Kepler (4.3.1) »
Créer un nouveau bundle OSGi en passant par les étapes suivant :
1. File->New->Other
Mohamed Lamine JELLAD
Page 5
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
2. Choisir le type Plugin-in-projet
Mohamed Lamine JELLAD
Page 6
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
3. Donner le nom « HelloISSAT » au projet et spécifier l’execution à OSGi Platforme
avec l’option Standard.
4. Spécifier le champ version à 1.0.0
Mohamed Lamine JELLAD
Page 7
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
5. Tappez « Next> »
6. Tapez « Next > »
Mohamed Lamine JELLAD
Page 8
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
7. Appuyez sur « Finish ».
8. La classe principale dans ce bundle HelloISSAT est nommée « Activator.java »,
consulter la classe.
Mohamed Lamine JELLAD
Page 9
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
9. Exportez le bundle, appuyez sur le bouton droit sur votre nom de projet « HelloISSAT »,
puis appuyez sur « Export » : suivez les étapes dans les figures suivantes.
Mohamed Lamine JELLAD
Page 10
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Mohamed Lamine JELLAD
Page 11
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Mohamed Lamine JELLAD
Page 12
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Mohamed Lamine JELLAD
Page 13
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
10. Installation et activation sous Felix Framework 4.2.1
Dans mon cas pour installer le bundle HelloISSAT-1.0.0.jar, il faut tapez la commande
suivante sur la console de Felix :
Install file:../bundles/HelloISSAT-1.0.0.jar
Pour démarrer le bundle, tapez start numéroDuBundle, dans mon cas c’est 27.
Start 27
Pour arrêter le bundle tappez « stop numéroDuBundle », dans mon cas c’est 27.
Stop 27
11. Désinstallez le bundle puis réinstallez-le.
Uninstall 27
Install file:../bundles/HelloISSAT-1.0.0.jar
Start 28
Mohamed Lamine JELLAD
Page 14
Middlewares et intégration des applications : TP numéro 4 : Apache Felix OSGi – partie 1
Mohamed Lamine JELLAD
Page 15