2011-05-22 121 views
1

有一个用Java(Swing)编写并使用嵌入式数据库(德比)的开源桌面程序。现在我需要开发一种机制,用户可以将其数据与服务器进行同步,以便在任何操作系统或硬件崩溃的情况下,他不会丢失他/她的数据。设计和服务器端技术

起初我想知道哪种服务器端技术符合需求。例如,软件可以直接连接到远程数据库还是通过http请求发送和接收数据到某些URL?

如果最好使用某种类型的服务器端编程,它应该是接收参数并提供XML文档的简单URL还是具有Web服务更好?

由于该软件是开源且非商业性的,用户没有退款,哪种Web服务器可以合理(经济)?

如果你需要了解更多的细节,以便建议一个好的设计,请问我。我现在无法提供更多细节。 :)

回答

1

首先,所有托管选项这样的东西是昂贵的考虑到足够大的用户群。如果您为用户托管自己而开放集中存储技术是一回事,如果您免费为用户提供所述技术,则是另一回事。但那是一个业务问题,而不是技术问题。

在技术方面,您肯定会希望在服务器上安装一个数据库,但您应该考虑将其隐藏在RESTful服务之后。这将允许您更好地控制安全性,监视和可伸缩性。它还为您开辟了除您自己以外的客户的访问渠道。

从版本3.0开始,Spring-MVC有一些优秀的资源来完成这种工作。看看这个链接的更多信息:http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/

+0

如果一些简单的URL通过SSL更新数据库(服务器,客户端)怎么办?我的意思是使用简单的HTTP URL有任何安全问题? – ehsun7b 2011-05-22 07:36:07

+0

REST为您提供这些简单的网址。是的,有很多和很多潜在的安全问题。 – 2011-05-22 07:53:23

+0

Aha,(我刚刚阅读了REST),这些都是我之前认为有用的策略。你的意思是说经典的Web服务没有这些问题? – ehsun7b 2011-05-22 08:05:18