开发者

Design and server-side technology [closed]

开发者 https://www.devze.com 2023-03-07 08:02 出处:网络
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical andcannot be reasonably answered in its current form. For help clari
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. 开发者_开发知识库 Closed 11 years ago.

There is an open source desktop program which is written in Java (Swing) and uses an embedded database (derby). Now I need to develop a mechanism that user can synchronize its data against a server that (s)he doesn't loose his/her data in the case of any OS or hardware crash.

At first I want to know which server-side technology is matching the needs. For example is it ok that the software connects to a remote database directly or send and receive data by http requests to some URLs?

If it is better to use some sort of server-side programming, should it be simple URLs which receive parameters and give XML documents or it is better to have web services?

As the software is open source and non-commercial, there is no money back from users, what kind of web server could be reasonable (economical)?

If you need to know more details in order to suggest a good design, please ask me. I can't give more details here right now. :)


First and foremost, all hosting options for something like this are expensive given a large enough userbase. It's one thing if you open source the centralized storage technology for users to host themselves, it's another if you host said technology for users free of charge. But then that's a business problem, not a technical one.

On the technical side, you'll definitely want a database on the server, but you should probably consider hiding it behind a RESTful service. This will allow you to have finer control over security, monitoring, and scalability. It also opens up the possibility of access from clients other than your own.

As of version 3.0 Spring-MVC has some excellent resources for doing this kind of work. Check out this link for more info: http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号