1

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

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

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

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

+0

django会为此工作吗? – zpesk 2009-06-18 01:46:55

回答

1

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

另一种选择是Ruby on Rails。我目前正在实施一些非常类似于你计划的事情,并且Rails已经非常好地工作了。通过ActiveRecord类和XML Builder模板,Rails内置了对XML输出的支持。我在客户端和服务器之间使用Atom身份验证(http://www.xml.com/pub/a/2003/12/17/dive.html),并且它工作得非常好。 Ruby和Rails都有一个学习曲线,但框架的力量使它值得。我偏爱“实用程序员”中的Ruby和Rails书籍,但O'Reilly也有一些很好的书籍。

2

您可以在启用ssl的情况下使用基本身份验证(用户名/密码)。这样你就可以加密连接并提供广泛支持的认证方式。我相信Apache Axis会为你处理大部分的事情。

+0

会Django的工作? – zpesk 2009-06-18 02:03:14

2

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

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

这是Glassfish security page