juin
2008
Dans ce billet, je vais présenter les taches d’installation de SpringSource Application Platform (S2AP) ainsi que le tooling Spring sur eclipse, ce qui permet de simplifier énormément le développement d’applications OSGi.
1.Préparation de l’environnement
1.1. Téléchargement et installation du serveur S2AP
Le serveur S2AP peut être téléchargé ici moyennant l’inscription dans le programme Beta de SpringSource (rien d’effrayant: juste un un petit formulaire à remplir, et hop).
Notez que la plateforme est divisée en deux paquetages (à cause d’histoires de licences):
– springsource-ap-1.0.0.beta2.zip
– springsource-ap-epl-1.0.0.beta2.zip
Téléchargez les deux paquetages, et à moins que vous ne soyez sur Gnome 2.22 (comme je le suis) qui offre une fonctionnalité de merge super-utile, l’installation va être un peu ennuyante:
– Extraire les deux archives (ils portent le même nom, donc, il faut les extraire dans des dossiers séparés)
– Déplacer tous les fichiers du second paquetage dans l’emplacement adéquat à l’intérieur du dossier d’extraction du premier paquetage.
– Voilà. Le User guide de S2AP indique qu’il faut renseigner une variable d’environnement PLATFORM_HOME mais je ne l’ai pas fait, et ça tourne sans problèmes …
Pour tester si tout s’est bien passé, allez au dossier d’installation puis au sous dossier bin et lancez startup.sh (ou .bat, selon votre plateforme). Vous devriez avoir dans la console un log similaire à celui-ci:
[2008-05-12 14:38:41.654] main <SPKB0001I> Platform starting.
[2008-05-12 14:38:46.198] main <SPKE0000I> Boot subsystems installed.
[2008-05-12 14:38:47.441] main <SPKE0001I> Base subsystems installed.
[2008-05-12 14:38:50.554] platform-dm-14 <SPPM0000I> Installing profile 'web'.
[2008-05-12 14:38:53.787] platform-dm-14 <SPPM0001I> Installed profile 'web'.
[2008-05-12 14:38:54.222] platform-dm-1 <SPSC0001I> Starting ServletContainer on port 8080 and SSL port 8443.
[2008-05-12 14:38:55.083] platform-dm-9 <SPPM0002I> Platform open for business with profile 'web'.
[2008-05-12 14:38:56.329] fs-watcher <SPSC1000I> Creating web application '/'.
[2008-05-12 14:38:56.448] async-delivery-thread-1 <SPSC1001I> Starting web application '/'.
[2008-05-12 14:38:56.872] fs-watcher <SPDE0010I> Deployment of 'platform.admin.splash-
1.0.0.beta2.war' version '0' completed.
[2008-05-12 14:38:58.281] fs-watcher <SPSC1000I> Creating web application '/admin'.
[2008-05-12 14:38:58.579] async-delivery-thread-1 <SPSC1001I> Starting web application '/admin'.
[2008-05-12 14:38:59.405] fs-watcher <SPDE0010I> Deployment of 'platform.admin.web-
1.0.0.beta2.war' version '0' completed.
Lancez ensuite le navigateur avec l’adress localhost:8080, et vous devriez avoir un belle page avec le logo SpringSource.
Arretez le serveur si c’est bon (Ctrl+C ou encore en lancant shutdown.sh (ou .bat)), sinon, essayez de ragarder dans le JIRA de S2AP ou encore dans le forum de S2AP (qui ne sont accessibles qu’après enregistrement dans ledit programme beta) s’il n’y a pas de problème similaires.
1.2. Mise en place du tooling eclipse
Le tooling eclipse relatif à S2AP consiste en:
Spring IDE 2.0.5 beta:http://springide.org/updatesite-weekly
Spring IDE 2.0.5 final: Ajoutez l’update site suivant dans eclipse:
http://springide.org/updatesite
- SpringSource Tool Suite: Ajoutez l’update site suivant:
http://static.springsource.com/projects/sts-ap/nightly/
Vérifiez ensuite que vous avez les wizards suivants dans New:
Il faut ensuite ajouter le serveur S2AP dans la liste des serveurs connus d’eclipse.
Pour ce faire, dans eclipse, allez dans Window, Preferences, Server, Installed Runtimes, et cliquez sur le bouton Add
Dans la fenêtre qui s’affiche, vous trouverez un section SpringSource ainsi qu’un type de serveur (adpater) SpringSource AP v1.0. Sélectionnez ce type et cliquez sur « Next »:
Dans la page suivante, localisez l’emplacement de S2AP et validez.
2. Développement d’applications pour S2AP
2.1. Création d’un bundle:
Dans eclipse, Sélectionnez File, New, Other. Dans la liste, localisez la section SpringSource AP et sélectionnez « Bundle Project » puis « Next » :
Saisissez un nom pour le projet et cliquez sur « Next »:
Dans la dernière page, veuillez juste à sélectionner le serveur qu’on vient de créer dans le drop down « Target Runtime » et validez.
Le projet généré ainsi contient d’office un dossier META-INF et un fichier manifest avec une configuration minimale:
2.2. Déploiement du bundle:
Pour déployer le bundle sur le serveur, il faut localiser le serveur S2AP (qu’on vient de créer) dans la vue Servers:
Dans son menu contexuel, choisissez « Add and Remove Projects », ce qui affiche une double liste:
qui permet de deployer ou de undeployer les bundles.
2.3. Contrôle du serveur:
Comme pour tous les autres serveurs sous eclipse, S2AP se contrôle comme d’habitude (via les boutons Start, Stop, etc.) de la vue Servers:
Pour répondre à Blaise1, nous venons de faire une présentation de S2AP au Paris Java User Group, et le support (version PDF) est disponible sur le site du JUG : http://www.parisjug.org/xwiki/bin/view/Meeting/20080610
Blaise1> http://blog.developpez.com/spring?title=springsource_springsource_application_pl
Pour ma part j’en suis très satisfait. Le développement de bundles Osgi peut être assez pénible, mais avec ce serveur là je trouve ça très simple.
De plus les développeurs sont vraiment à l’écoute et corrigent rapidement les bugs trouvés.
Intéressant mais un petit résumé de ce qu’est et ce qu’apporte Springsource Application Platform aurais surement aidé à accrocher plus de monde.
Merci pour ce premier pas avec Springsource Application Platform.
J’attends la suite avec impatience
Super article !
Merci !