Pregunta

Hy, estoy desarrollando una aplicación Grails que debe comunicarse con una aplicación Java EE existente (construida con EJB2). Tanto el " legado " La aplicación y la nueva aplicación Grails ofrecerán servicios y los consumirán.

Por razones de intercompatibilidad, estoy pensando en comunicarme usando servicios web. Ahora me pregunto qué marcos debería usar en ambos lados.

Ya que la aplicación Java EE ahora se ejecuta bajo JDK5, podría usar JAX-WS en Supongo que tendría sentido usar Metro ( https://jax-ws-commons.dev.java.net/grails/ ) en el lado de Grails. ¿Alguien tiene experiencias con eso? ¿O otras sugerencias?

¿Fue útil?

Solución

Si las aplicaciones Grails y EJB viven en la misma LAN, entonces no hay nada de malo en usar RMI. Es la forma predeterminada de hablar con EJB, es nativa de Java y es compatible con Grails.

Si necesita usar servicios web, su contenedor tendrá un soporte integrado para exponer los EJB como servicios web (asumiendo que J2EE 1.4 o posterior). ¿Qué contenedor estás usando?

Si no puede usar (o no confía) en los contenedores WS, es mejor elegir un marco que pueda usar en ambas aplicaciones, evitando así problemas de compatibilidad. Metro me ha funcionado bien de manera independiente, pero no lo he probado con Grails.

También hay formas más ligeras de intercambiar mensajes XML que los servicios web completos de SOAP'y. Hessian y Burlap son ejemplos, además Spring tiene su propio marco de mensajería HTTP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top