Archive

Posts Tagged ‘Log4j’

Eclipse RCP/RAP with Spring DM, Spring Data JPA and Remoting [step1]

avril 6, 2012 16 commentaires

In [step0] we have seen that I will explain step by step how to develop « Eclipse RCP/RAP with Spring DM, Spring Data JPA and Remoting ». In my articles, I will use Spring DM instead of using Eclipse Gemini Blueprint because today CXF DOSGi supports only Spring DM. However I have created the patch DOSGI-115 to support Eclipse Gemini Blueprint with DOSGi.

In this article we will just initialize Spring DM :

But what is Spring DM? Spring DM gives you the capability to use Spring on OSGi context:

  1. any OSGi bundles can declare Spring bean in XML Spring file stored in their META-INF/spring folder. Spring DM provides a Spring Extender bundle which :
    1. load XML Spring file for each OSGi bundles which starts.
    2. unload XML Spring file for each OSGi bundles which stops.
  2. it’s possible to declare in Spring bean, services to publish/consume in the OSGi registry services.

Lire la suite…

Catégories :Spring, Spring DM Étiquettes :

Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step10]

décembre 15, 2009 4 commentaires

Dans le billet précédant [step9] nous avons mis en place Spring Remoting, coté serveur dans l’application WEB dynaresume-server. Dans ce billet nous allons mettre en place Spring Remoting coté client dans un Client sans OSGi et un Client OSGi.

Voici un schéma de ce que nous allons effectuer dans ce billet concernant le client OSGi :

Ce schéma montre que nous allons :

Lire la suite…

Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step9]

décembre 11, 2009 10 commentaires

Dans les billets précédants [step7] et [step8] nous avons utilisé Spring Dynamic Module pour déclarer la consommation/l’enregistrement du service OSGi UserService dans le registre de services OSGi.

A partir de ce billet nous allons nous concentrer sur la mise en place d’une architecture Client/Serveur, autrement dit :

  • Serveur : les services seront hébergés dans une application WEB (classique, bundle OSGi…) qui exposera le service UserService.
  • Client : le client (main classique, bundle OSGi, Eclipse RCP) appelera le UserService pour récupérer la liste des User qui seront transmis du serveur au client. Le service UserService sera accéssible via l’URL http://localhost:8080/dynaresume-server/remoting/UserService.

Dans ce billet nous allons nous occuper de la partie Serveur en mettant en place une application WEB classique qui expose le service UserService à l’aide de Spring Remoting. Dans le prochain billet nous décrirons comment mettre en place un client (sans OSGi et avec OSGi) qui fera appel au serveur en appelant le service UserService exposé par l’application WEB. Dans les billets futurs nous verrons comment transformer notre application WEB en bundle OSGi pour bénéficier de la technologie OSGi coté serveur.

Voici un schéma de ce que nous allons effectuer dans ce billet :

Ce schéma montre que :

Nous utiliserons un serveur Tomcat pour hébérger notre application WEB.

Lire la suite…

Catégories :DynaResume, Spring, Spring Remoting Étiquettes :

Conception d’un client Eclipse RCP et serveur OSGI avec Spring DM [step6]

novembre 17, 2009 11 commentaires

Dans le billet précédant [step5] nous avons mis en place les 3 couches Client/Services/Domain découpées en plusieurs Bundles :

  • Couche Domain gérée par le bundle org.dynaresume.domain.
  • Couche Services gérée par les 2 bundles :
    • API Services org.dynaresume.services qui contient l’interface UserService.
    • Implémentation Services org.dynaresume.services.impl qui exporte UserServiceImpl, l’implémentation de l’interface UserService dans le registre de services OSGi.
  • Couche Client qui consomme via le registre de services OSGi, le service UserServiceImpl, géré par le bundle org.dynaresume.simpleosgiclient.

Dans ce billet et le prochain nous allons montrer pas à pas l’interêt d’utiliser Spring Dynamic Module en nous concentrant sur le bundle org.dynaresume.services.impl qui a pour rôle d’enregistrer une instance UserServiceImpl dans le registre de services OSGi. Dans ce billet nous allons utiliser basiquement Spring . Voici un schéma de ce que nous allons effectuer dans ce billet :

Ce schéma montre que :

  • La classe ServicesFactory est basée sur un fichier XML Spring applicationContext.xml qui permet de déclarer la classe UserServiceImpl. C’est le conteneur Spring qui s’occupera d’instancier cette classe. Spring joue le rôle dans notre cas de factory de services.
  • la Target Platform doit être enrichie pour ajouter tous les bundles Spring.
  • le bundle org.dynaresume.services.impl fera référence aux bundle Spring de la Target Platform via les dépendances Import Package.

Le but de ce billet est d’introduire Spring en montrant comment déclarer l’instanciation du service UserServiceImpl via Spring :

  • dans un contexte non OSGi. Nous repartirons des projets du billet [step1] et notre factory de services ServicesFactory se basera sur Spring. Nous montrerons qu’il existe 2 manières de déclarer le service UserServiceImpl avec Spring:
    • XML bean : la déclaration s’effectue tout en XML.
    • @Service annotation : la déclaration s’effectue via l’annotation Spring @Service.

    Nous verrons comment configurer Log4j dans un contexte non OSGi.

  • dans un contexte OSGi. Nous partirons des projets du billet [step5] et notre factory de services ServicesFactory se basera sur Spring. Nous tenterons d’utiliser les 2 modes de déclarations en mettant en évidence toutes les problématiques de mise en oeuvre de Spring dans un contexte OSGi (problème lié au classloader). Attention, ici nous n’utiliserons pas encore Spring DM, mais uniquement Spring Framework et dans le prochain billet nous verrons comment Spring DM simplifie le code expliqué dans cette section.

    Nous verrons comment configurer Log4j dans un contexte OSGi via un Fragment OSGi.

Lire la suite…

Catégories :DynaResume, OSGi, Spring, Spring DM Étiquettes : , ,