创建一个保持数据安全的Web服务?

时间:2009-06-18 00:51:18

标签: java ruby-on-rails web-services web-applications server-side

我想创建一个允许用户输入特定建筑物的经度和纬度的网络服务。建筑物属于一个更广泛的类别,称为区域。如果区域中不存在特定建筑物,则用户可以通过网络服务添加经度和纬度数据。同样,如果用户发现数据不准确,他们可以更新数据。

此Web服务不需要Web前端只需要一个只能由我的应用程序访问的RESTful API。我希望webservice能够接受新的和更新的数据(如上所述),并根据适当的API调用打印出相关数据(xml格式)。

我需要确保这些数据是安全的 - 即没有人能够访问我积累的数据。

最好的方法是什么?我熟悉客户端Java而不是服务器端技术(不熟悉服务器端Java,rails,django等等)。我应该使用哪种语言/框架,以最浅的学习曲线完成我的需求?

3 个答案:

答案 0 :(得分:2)

您可以在启用ssl的情况下使用基本身份验证(用户名/密码)。这样,您就可以加密连接并提供广泛支持的身份验证方法。我相信阿帕奇Axis会照顾你的大部分内容。

答案 1 :(得分:2)

我使用Restlet框架来部署受密码保护的Web服务。它支持基本的身份验证和其他几个开箱即用的功能。您还可以在https“服务器连接器”后面设置服务。

另一种方法是在支持JSR 196的Java EE应用程序服务器中运行您的应用程序(例如,Glassfish或JBoss)。然后,您将使用服务器的工具来建立身份验证。

这是Glassfish security page

答案 2 :(得分:1)

如果您从未编写过服务器端代码,那么您将面临相当陡峭的学习曲线,我担心。如果您对Java感到满意,那么另一位评论者提到的Restlet框架是一个不错的选择。它易于使用,包括客户端和服务器工具,并具有相当不错的文档。视频截屏非常好。

另一个选择是Ruby on Rails。我目前正在实现与您正在计划的非常类似的东西,并且Rails的工作非常好。 Rails通过ActiveRecord类和XML Builder模板内置了对XML输出的支持。我在客户端和服务器之间使用了Atom身份验证(http://www.xml.com/pub/a/2003/12/17/dive.html),它工作得非常好。 Ruby和Rails都有一个学习曲线,但框架的强大功能使它值得。我偏爱The Pragmatic Programmer的Ruby和Rails书籍,但O'Reilly也有一些好的。