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