Archive

Archive for the ‘Spring Remoting’ Category

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

mai 29, 2012 2 commentaires

In [step10] we have created RAP Application from the RCP Application. At this step we have several Client Layer :

  • OSGi Bundle Activator (simpleclient)
  • RCP Application
  • RAP Application

which consumes Service Layer : UserService (from Mock Dao, JPA Dao) to retrieve list of User :

package fr.opensagres.services;

import java.util.Collection;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import fr.opensagres.domain.User;

public interface UserService {

	Collection<User> findAll();

	Page<User> findAll(Pageable pageable);
		
	Collection<User> findByFirstNameLikeAndLastNameLike(String firstName,
			String lastName);

	Page<User> findByFirstNameLikeAndLastNameLike(String firstName,
			String lastName, Pageable pageable);

	User saveUser(User user);

}

Here, The Client and Service Layer are in the same OSGi container. Now we wish manage Client/Server architecture to have :

  • Client Layer in an OSGi container
  • Service Layer in an other OSGi container

the Client Layer will consume Service Layer with remoting mean.

Lire la suite…

Catégories :Apache CXF, DOSGi, ECF, Spring Remoting

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

décembre 24, 2009 7 commentaires

Dans le billet précédant [step10] nous avons mis en place Spring Remoting coté client (client avec/sans OSGi) qui fait appel (via Remoting HTTP Invoker) au service UserService exposé par l’application WEB classique dynaresume-server. Dans ce billet nous allons transformer l’application WEB classique en bundle OSGi.

Voici un schéma de ce que nous allons effectuer dans ce billet concernant le bundle OSGi org.dyanresume.remoting.exporter.http qui va remplacer l’application WEB classique dynaresume-server :

Ce schéma montre que nous allons :

  • créer le bundle org.dyanresume.remoting.exporter.http qui s’occupe de :
    1. récupérer du registre de services OSGi, le service UserService qui a été enregistré par le bundle org.dynaresume.services.impl. Ceci s’effectue déclarativement dans le fichier XML Spring module-osgi-context.xml.
    2. exposer via Remoting HTTP Invoker le service UserService. Ceci s’effectue déclarativement dans le fichier XML Spring module-context.xml.
  • enrichir la Target Platform avec les bundles Spring WEB Extender, Tomcat et/ou Jetty. Le serveur Tomcat/Jetty est un bundle OSGi. Il n’y a pas besoin d’installer un Tomcat ou Jetty classique.

On peut remarquer dans ce schéma que l’implémentation des services ne se trouvent pas dans l’application WEB. Il est récupéré via le registe de services OSGi. Ce procédé permet ainsi d’arrêter/lancer ou d’installer un nouveau bundle qui fournit l’implémentation des services sans arrêter l’application WEB.

Nous verrons ensuite comment utiliser nos différents bundles OSGi à travers des launch (Run) pour avoir :

Vous pouvez télécharger org.dynaresume_step11-spring-osgi-remoting.zip qui contient les projets expliqués dans ce billet :

  • tous les projets (bundles OSGi + Target Platform créés jusqu’à maintenant) expliqués dans le pré-requis.
  • org.dyanresume.remoting.exporter.http, bundle de remoting serveur qui est l’application WEB qui expose les services via Remoting HTTP Invoker.
  • le projet spring-target-platform est enrichi :

Lire la suite…

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 :