允许在服务器和用户 PC 上存储用户数据的技术?
让我首先更好地解释一下上下文。该应用程序应具有以下特征:
- 在 Internet 上的数据库服务器上找到只读共享数据。 (相当大量的共享数据。)
- 应用程序应该以类似 Java-Web-Start 的方式分发,或者是一个 Web 应用程序。 (目标是简化主包和更新的分发。优先选择降低服务器负载并为最终用户提供更好响应能力的解决方案。)
- 必须能够仅在服务器上、仅在用户的 PC 上或在两者上存储用户特定数据。 (这样做的原因是大多数用户不愿意冒险将他们的信息从他们的 PC 中删除,但他们中的一些人会喜欢共享部分信息或进行备份。)
我对 Web 应用程序编程不是很了解。我所知道的唯一能够实现这一切的技术是 Java Web Start。它消除了服务器的负载,因为大多数计算都是在用户端完成的,允许在用户的 PC 上读/写(授予访问权限)并且访问集中式数据库不是问题。
我想知道是否有其他技术可以允许开发这样的应用程序并且不需要传统的本地安装。
非常感谢你,
MJ
Let me first better explain the context. The application should have the following characteristics:
- Read-only shared data is found on a database server on Internet. (Quite big amount of shared data.)
- The application should be distributed in a Java-Web-Start-like manner, or be a web application. (The goal is to simplify distribution of main package and updates. Solutions lowering server load and giving better responsiveness to end user are preferred.)
- It must be possible to store user specific data only on server, only on user's PC, or on both. (The reason for this is that most users will not be willing to risk having their information out of their PC, but some of them will like to share parts of it or make backups.)
I'm not very knowledgeable in web application programming. The only technology which I know would allow to do all this is Java Web Start. It removes load from server as most computations are done on user side, allows to read/write on user's PC (given access) and accessing centralized database is not a problem with it.
I would like to know if there are other technologies which would allow the development of such an application and which do not require traditional local installation.
Thank you very much,
MJ
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这实际上取决于:
都是您应该提及或至少评估的因素。根据这些方面,解决方案可能会有所不同,从“廉价”的 Web 服务和通过简单的 Java 代码同步的平面文件到完全平面的分布式数据库。
几年前,我发现 Sybase 的 SQL Anywhere 是满足中小型需求和预算的一个很好的解决方案,如果需要“真正的”SQL DBMS,或者已经存在于服务器后端。它在 SQL 级别提供了强大而透明(如果使用得当)的发布和订阅方法,如果您无法确定所有客户端都 24/7 在线,那么该方法非常有效。
对于在线(或几乎在线)成熟的解决方案,Oracle 提供了相当昂贵的在线数据库复制选项。
对于小型解决方案,访问远程数据库链接(Oracle 功能)的自定义 Java 代码通常可以工作,但定位性能瓶颈可能是一场噩梦。 (并且您需要稳定的网络链接,以及所有节点上的“真正的”Oracle 数据库。)
It really depends:
are all factors that you should mention, or at least evaluate. Depending on these aspects, the solution can vary from a "cheap" webservice and flat files sync'd by trivial java code to a full-flat distributed database.
Years ago, I have found Sybase's SQL Anywhere to be a good solution for small-to-medium requirements and budgets if a "real" SQL DBMS is required, or already present on the server backend side. It offers a powerful, yet transparent (if used wisely) publish-and-subscribe methodology at the SQL level which works well if you cannot be sure all clients are online 24/7.
For online (or almost-online) full-fledged solutions, Oracle has online database replication options that are quite expensive, though.
For small solutions, custom Java code accessing remote database links (Oracle feature) usually works, but locating performance bottlenecks can be a nightmare. (And you require a stable network links, and a "real" Oracle database on all nodes.)