Vous pouvez trouver ce billet sur mon nouveau blog avec les informations mises a jour.
Dans le billet précédant [step4] nous avons utilisé le registre de services OSGi pour consommer/fournir le service UserService. Nous avons montré que l'utilisation du registre de services OSGI, permettait de rendre opérationnel le lancement/arrêt du bundle org.akrogen.gestcv.services qui fournit le service UserService :
Dans ce billet je vais expliquer 2 "bonnes pratiques" à suivre dans les Bundle OSGi :
Voici un schéma de ce que nous allons effectuer dans ce billet :

Ce schéma montre que :
Vous devez être identifié pour poster un commentaire.
Vous pouvez trouver ce billet sur mon nouveau blog avec les informations mises a jour.
Dans le billet précédant [step3] nous avons mis en place les 3 bundles OSGi Client org.akrogen.gestcv.simpleosgiclient, Services org.akrogen.gestcv.services et Domain org.akrogen.gestcv.domain. Le service UserService est récupéré via la factory de services ServicesFactory qui est un singleton. OSGi met en avant le fait que l'on puisse lancer/stopper des bundles à chaud sans devoir arrêter le conteneur OSGi. Nous verrons dans ce billet que le lancement/arrêt de nos bundles est à ce stade obsolète et par la suite comment y remédier en utilisant le registre de services OSGi. Autrement dit ce billet aborde le registre de services OSGi en expliquant comment fournir/consommer le service UserService via ce registre. Je vous conseille de lire La plate-forme dynamique de services OSGi pour plus d'informations sur la notion de services OSGi.
Voici un schéma de ce que nous allons effectuer dans ce billet :

Ce schéma montre que :
Dans ce billet nous montrerons pas à pas comment nous arrivons au choix de conception décrit ci-dessus :
Vous devez être identifié pour poster un commentaire.
Vous pouvez trouver ce billet sur mon nouveau blog avec les informations mises a jour.
Dans le billet précédant [step2] nous avons créé le Bundle OSGi org.akrogen.gestcv.domain et préparé l'environnement OSGi (Target Platform). Dans ce billet nous allons créer les 2 Bundles OSGi Services org.akrogen.gestcv.services, et Client org.akrogen.gestcv.simpleosgiclient et gérer leur dépendances via leur fichier MANIFEST.MF.
Voici un schéma de ce que nous allons effectuer dans ce billet :

Ce schéma met en évidence plusieurs notions :
En fin du billet nous reprendrons les 2 problèmes souléves avec le Java build Path classique et qui seront résolus avec OSGi:
Vous pouvez télécharger les projets org.akrogen.gestcv_step3.zip et org.akrogen.gestcv_step3-commons-lang.zip (zip qui contient les Bundle OSGi qui utilisent 2 versions de la librairie Apache commans-lang*.jar et qui montre en évidence le problème de ClassLoader résolu) présentés dans ce billet.
Vous devez être identifié pour poster un commentaire.
Vous pouvez trouver ce billet sur mon nouveau blog avec les informations mises a jour.
Dans le billet précédant [step0], j'ai présenté ce que je souhaitais effectuer dans les billets intitulés Conception d'un client Eclipse RCP et serveur OSGI avec Spring DM. Pour rappel, mon idée est d'expliquer pas à pas comment créer une application cliente eclipse RCP qui communiquera avec des services hébérgés sur un serveur OSGI. L'application RCP affichera une liste d'utilisateurs User récupérée via un service UserService qui sera hébérgé sur le serveur OSGI. Dans ce billet nous n'allons pas encore faire d'OSGI, mais nous allons créer un client (Java main) qui va communiquer avec un service UserService qui retournera une liste de User. Ce service qui est une interface sera récupéré via une factory de services ServicesFactory. Nous découperons chacune de ces couches (Client/Service/Domain (POJO User)) dans un projet Java distinct.
Voici un schéma de ce que nous allons effectuer dans ce billet :

Ce schéma met en évidence trois projets Java :
Les dépendances entre les projets sont gérées classiquement via le Java Build Path du projet. Nous verrons en fin de ce billet les 2 problémes courant que nous rencontrons avec ce type de dépendance classique :
Vous pouvez télécharger les projets org.akrogen.gestcv_step1.zip et org.akrogen.gestcv_step1-commons-lang.zip (zip qui contient les projets Java qui utilisent 2 versions de la librairie Apache commans-lang*.jar et qui montre en évidence le problème de ClassLoader) présentés dans ce billet.
Vous devez être identifié pour poster un commentaire.
Vous pouvez trouver ce billet sur mon nouveau blog avec les informations mises a jour.
Il y a 3 ans j'ai créé le projet GestCV, une application WEB de gestion de CV basé sur Spring, Hibernate, Struts1.x et AJAX. A cette époque je souhaitais utiliser et mettre en évidence toutes les technologies que j'adorais dans un véritable projet.
Aujourd'hui j'ai décidé de me former au développement d'applications Eclipse RCP basé sur les API SWT et JFace que j'ai découvert à travers le développement du plugin Eclipse Akrogen, du projet TK-UI et JFace DOM Databinding. Eclipse RCP me séduit de plus en plus pour les raisons suivantes. Avec Pascal Leclercq nous avons créé ce mois-ci le projet OSGI GestCV qui est une version RCP de GestCV (le projet est en phase d'étude). Plus exactement ce projet est basé sur une architecture client/serveur, autrement dit :
Nous souhaitons utiliser OSGI dans la couche serveur pour démarrer/arrêter à chaud les services sans devoir redémarrer le serveur (très utile en développement comme en production). OSGI fournit d'autres avantages que je tenterais d'expliquer tout au long de ces billets. Je ne sais pas si nous aboutirons ce projet mais mon but premier est de me former aux technologies OSGI, Spring DM, RCP et de les expliquer par des exemples concrets et détaillés dans des billets.
Mon idée est de rédiger des billets qui expliqueront pas à pas comment réaliser une application Eclipse RCP qui communique avec un serveur OSGI avec Spring DM. Concrètement je vais tenter d'expliquer comment développer une petite application RCP qui affiche/met à jour une liste d'utilisateurs récupérée par des services (OSGI) hébérgés sur le serveur. Je tenterais en même temps d'expliquer l'interêt d'OSGI.
Nous avons aussi envisagé d'étudier plus tard (selon notre temps) ce que peut nous fournir le futur projet Eclipse E4 (moteur CSS (qui est à l'origine celui de projet TK-UI ), Modeled Workbench, SWT Flex...) et RAP (qui d'après ce que j'ai compris permet de déployer l'application RCP en mode WEB ).
Si le sujet vous intéresse, vous pouvez commencer par lire le billet [step1] de la série de billets intitulée Conception d'un client Eclipse RCP et serveur OSGI avec Spring DM .
Vous devez être identifié pour poster un commentaire.
Eclipse E4 est la futur version d'Eclipse qui couvre plusieurs problématiques :
Vous devez être identifié pour poster un commentaire.
Après avoir été exclusivement une plateforme de développement, ou un EDI (Environnement de développement Intégré), Eclipse s'est transformé au fils des versions en une plateforme pour clients riches (RCP), et est même en train d'être utilisée dans des applications de type serveur, comme par exemple l'utilisation de son conteneur OSGi Equinox comme noyau du serveur SpringSource Spring DM Server.
Vous devez être identifié pour poster un commentaire.
Blog récapitulatif des meilleurs billets sur Eclipse.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Copyright © 2000-2012 - www.developpez.com