Java REST / SOAP服务技术堆栈

时间:2013-09-17 12:26:22

标签: java web-services java-ee soap application-server

我正在寻找有关为Java REST / SOAP Web服务实现选择开源技术堆栈的建议。

我已经看过Tomcat和Jetty,但是对于这个领域来说相对较新,我对某些选项的数量和缺乏文档感到不知所措。

这适用于PoC,因此易于配置和使用非常重要。如果所选择的技术继续用于生产,那么显然可扩展性将成为优先事项,但暂时不是(展示项目的其他部分是主要目标)。

非常感谢任何建议。

5 个答案:

答案 0 :(得分:3)

这不是一个非常精确的问题。但是为了帮助你开始,我可以这么说:

  • tomcat和jetty都是Java Application Server。它们不提供对REST / SOAP技术的特定支持。它们只是Servlet容器。但是:您的Web服务将由一个或多个servlet实现。所以ServletContainer肯定是你的堆栈的一部分。 (Tomcat被广泛使用)。

  • 一旦有了ServletContainer,您就可以选择一些框架来帮助您。 Spring框架是一个轻量级框架,可帮助您将所有内容整合在一起配置所有组件等...它提供对REST / SOAP的内置支持,但它也可以与更强大的Web服务专用框架集成。

  • 对于REST实现,我建议Jersey(参考实现)。它可以很容易地与Spring集成。

  • for SOAP:您可以查看apache CXF(它还提供对REST的支持)

所以,你可以看一下:Tomcat + Spring + Jersey + CXF。在我看来,这是一个很好的开源堆栈,从webservices开始。

答案 1 :(得分:1)

对于REST,我使用Jersey:https://jersey.java.net/和Grizzly:https://grizzly.java.net/

for SOAP:我使用JAX-WS(从6开始在Java中使用),但它很敏感。

答案 2 :(得分:1)

我最近使用Spring MVC框架构建了REST API,很容易上手。 http://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch18s02.html

或使用Spring Data http://projects.spring.io/spring-data-rest/

答案 3 :(得分:1)

到目前为止,我同意所有答案;让我注意,任何Java EE 6应用程序服务器(或更高版本)都包含JAX-RS实现(REST)和JAX-WS(SOAP),因此任何(JBoss,Glassfish等)都可以。一个完整的应用服务器可能比一个简单的servlet容器(例如Tomcat)更重要,但这取决于使用情况。

答案 4 :(得分:1)

如果您的概念证明可能会演变为生产就绪解决方案,我建议您从容器的JBoss AS 7.1.1开始。此容器附带集成到容器中的SOAP和REST实现。生产强化AS或将应用程序迁移到企业产品(EAP)很容易。此外,Eclipse还有一个wealth of tools可以简化开发。