Hy,我正在开发一个Grails应用程序,它必须与现有的Java EE应用程序(使用EJB2构建)进行通信。 “遗留”应用程序和新的Grails应用程序都将提供服务并使用它们。
出于兼容性原因,我正在考虑使用WebServices进行通信。现在我想知道我应该在哪方面使用哪些框架。
由于Java EE应用程序现在在JDK5下运行,我可以使用JAX-WS,我想在Grails端使用Metro(https://jax-ws-commons.dev.java.net/grails/)是有意义的。有人有经验吗?还是其他建议?
答案 0 :(得分:3)
如果Grails和EJB应用程序都在同一个LAN上,那么使用RMI没有任何问题。它是与EJB交谈的默认方式,是Java原生的,Grails支持。
如果您需要使用Web服务,那么您的容器将内置支持将EJB公开为Web服务(假设为J2EE 1.4或更高版本)。你在用哪个容器?</ p>
如果您无法使用(或不信任)容器WS支持,那么最好选择一个可以在两个应用程序中使用的框架,从而避免兼容性问题。 Metro对我来说效果很好,但我没有用Grails试过。
与完整的SOAP'y Web服务相比,还有更轻量级的XML消息交换方式。 Hessian和Burlap就是例子,而且Spring有自己的HTTP消息传递框架。