替代基于Java / Spring的Web服务

时间:2011-12-04 23:05:27

标签: java php ruby-on-rails web-services

我正在为我的团队寻找替代方案来创建简单的REST服务,这些服务以JSON格式响应多个客户端。到目前为止,这些服务是在Spring MVC上使用Hibernate开发的。必须连接和使用遗留数据库(SQLServer,DB2和MySQL - 取决于项目)。现在我正在寻找替代方案,将服务开发变得更轻松。不要误会我的意思:Spring做得很好但遗憾的是我们团队中的每个人都不熟悉Spring甚至Hibernate。对此的补充:在大多数情况下,甚至不需要完整的Spring堆栈。它也有助于摆脱JVM。

我在考虑类似脚本的解决方案。也许PHP?是否有类似ORM的东西可以在遗留数据库系统上运行? Ruby on Rails也是如此。

也许有些事情我没有听说过或者现在没有。我很想听听你的意见或经历与其他技术。

此致

3 个答案:

答案 0 :(得分:2)

JAX-RS是一种在JVM上休息的非常好的轻量级方法。有些插件可以将JAXB带注释的对象转换为JSON,或者您可以通过多种方式自行完成。

EclipseLink是JPA规范的一个很好的实现。它是通过注释将对象映射到数据库的一种非常简单的方法。 JAX-RS默认使用此功能,例如:你可以用JPA查找一个对象。然后,您可以使用JAXB对其进行批注,然后从Web服务方法(如果您需要XML)直接返回它,它就可以正常工作。还有一个Jersey(JAX-RS参考实现)插件,允许您以这种方式将事物序列化为JSON。

这些JAX-RS,JPA和JAXB是三个非常好的API。他们不做任何事情,但他们重量轻,可以帮助你完成真正的工作而不用大惊小怪。

答案 1 :(得分:1)

不确定您是否愿意朝着这个方向前进,但我最近在ASP.NET MVC 3中编写了一个Web服务。您可以将传递的JSON直接绑定到对象模型,而无需编写任何额外的代码。您还可以配置URL以符合REST标准。如果您正在使用SQL Server之类的东西,这种方法可能非常简单。

答案 2 :(得分:0)

我推荐使用Rails或Sinatra(你可以使用JRuby在Java上运行)。两者都可以利用ActiveRecord和其他Ruby ORM和DB连接库;您应该能够使这些库与您的旧数据库保持对话而不会有太多麻烦。