2008-09-27 9 views
3

Hy, je développe une application Grails qui doit communiquer avec une application Java EE existante (construite avec EJB2). Tant l'application "legacy" et la nouvelle application Grails offrira des services et les consommera.Java EE et Grails: Communication avec WebServices? Quel cadre?

Pour des raisons d'intercomposabilité, je pense à communiquer via WebServices. Maintenant, je me demande quels cadres je devrais utiliser des deux côtés.

Puisque l'application Java EE fonctionne maintenant sous JDK5, je pourrais utiliser JAX-WS, j'imagine qu'il serait logique d'utiliser Metro (https://jax-ws-commons.dev.java.net/grails/) du côté Grails. Est-ce que quelqu'un a des expériences avec ça? Ou d'autres suggestions?

+0

Basé sur la réponse de Garths et plus loin nous cherchons, nous avons finalement fini par utiliser RMI pour accéder aux services EJB. Nous avons également offert des services de Grails à d'autres applications que nous avons réalisées en utilisant XFire et WebServices. – wilth

Répondre

3

Si les applications Grails et EJB résident sur le même réseau local, l'utilisation de RMI ne pose aucun problème. C'est la façon par défaut de parler à EJB, est natif à Java et est pris en charge dans Grails.

Si vous avez besoin d'utiliser les services Web, votre conteneur aura intégré la prise en charge de l'exposition des EJB en tant que services Web (en supposant que J2EE 1.4 ou version ultérieure). Quel conteneur utilisez-vous?

Si vous ne pouvez pas utiliser (ou ne faites pas confiance) les conteneurs WS, il est préférable de choisir un framework que vous pouvez utiliser dans les deux applications, évitant ainsi les problèmes de compatibilité. Metro a bien fonctionné pour moi mais je ne l'ai pas essayé avec Grails.

Il existe également des moyens plus légers d'échanger des messages XML que des services Web SOAP complets. Hessian et Burlap sont des exemples, et Spring a son propre framework de messagerie HTTP.

+0

La "vieille" application fonctionne dans un JBoss 4.5, pour le nouveau j'évalue JBoss ou Tomcat. Merci pour vos conseils! – wilth