Java EE和Grails:与WebServices进行通信?哪个框架?
时间:2020-03-06 14:49:35 来源:igfitidea点击:
嗨,我正在开发一个Grails应用程序,该应用程序必须与现有的Java EE应用程序(使用EJB2构建)进行通信。
"旧版"应用程序和新的Grails应用程序都将提供服务并使用它们。
出于兼容性考虑,我正在考虑使用WebServices进行通信。现在,我想知道双方都应该使用哪些框架。
由于Java EE应用程序现在可以在JDK5下运行,因此我可以使用JAX-WS,我猜应该在Grails端使用Metro(https://jax-ws-commons.dev.java.net/grails/)是有意义的。有人有经验吗?还是其他建议?
解决方案
如果Grails和EJB应用程序都生活在同一个LAN上,那么使用RMI不会有任何问题。它是EJB的默认交谈方式,是Java固有的,并且在Grails中受支持。
如果我们需要使用Web服务,那么容器将内置支持将EJB公开为Web服务(假设J2EE 1.4或者更高版本)。我们正在使用哪个容器?
如果我们不能使用(或者不信任)WS支持的容器,那么最好选择一个可以在两个应用程序中使用的框架,从而避免兼容性问题。 Metro对我来说很不错,但是我没有在Grails上尝试过。
与完整的SOAP Web服务相比,还有更轻量的XML消息交换方法。 Hessian和Burlap是示例,加上Spring拥有自己的HTTP消息传递框架。