4

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

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

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

任何建议将不胜感激。

4

5 回答 5

3

这不是一个非常精确的问题。但是为了帮助您入门,我可以这样说:

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

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

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

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

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

于 2013-09-17T12:47:35.327 回答
1

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

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

于 2013-09-17T12:31:10.120 回答
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/

于 2013-09-17T12:31:56.513 回答
1

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

于 2013-09-17T13:16:13.147 回答
1

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

于 2013-09-17T13:15:07.117 回答