Web applications 允许将用户数据存储在服务器和用户';谁的电脑?

Web applications 允许将用户数据存储在服务器和用户';谁的电脑?,web-applications,java-web-start,data-storage,Web Applications,Java Web Start,Data Storage,让我首先更好地解释一下上下文。应用程序应具有以下特征: 在Internet上的数据库服务器上找到只读共享数据。(相当大的共享数据量。) 应用程序应该以类似JavaWebStart的方式分发,或者是一个Web应用程序。(目标是简化主软件包和更新的分发。首选降低服务器负载并为最终用户提供更好响应能力的解决方案。) 必须能够仅在服务器上、仅在用户的PC上或两者上存储用户特定的数据。(原因是大多数用户不愿意冒险将信息从PC中取出,但其中一些用户愿意共享部分信息或进行备份。) 我对web应用程序编程不

让我首先更好地解释一下上下文。应用程序应具有以下特征:

  • 在Internet上的数据库服务器上找到只读共享数据。(相当大的共享数据量。)
  • 应用程序应该以类似JavaWebStart的方式分发,或者是一个Web应用程序。(目标是简化主软件包和更新的分发。首选降低服务器负载并为最终用户提供更好响应能力的解决方案。)
  • 必须能够仅在服务器上、仅在用户的PC上或两者上存储用户特定的数据。(原因是大多数用户不愿意冒险将信息从PC中取出,但其中一些用户愿意共享部分信息或进行备份。)
我对web应用程序编程不是很了解。我所知道的唯一能够实现这一切的技术是JavaWebStart。由于大多数计算都是在用户端完成的,所以它可以从服务器上移除负载,允许在用户的PC上读/写(给定访问权限),并且访问集中式数据库不是问题

我想知道是否有其他技术可以开发这种应用程序,并且不需要传统的本地安装

多谢各位

MJ

这取决于:

  • 数据/数据模型的体积、大小和复杂性
  • 更新的频率、紧迫性
  • 可用连接(24/7在线与偶尔连接与夜间同步会话)和带宽
  • 现有的数据存储机制
  • 您可能/可以/想要在客户端上部署的软件数量
  • 可用预算
  • 可接受的开发时间
  • 可用于操作系统的资源和组织
  • 系统的生命周期计划(预期寿命)
  • 任务重要性(可以杀死生命的关键任务系统,而“仅仅”是一个管理信息系统)
这些都是你应该提及的因素,或者至少是评估的因素。根据这些方面的不同,解决方案可以从“廉价”的Web服务和由琐碎java代码同步的平面文件到完全平面的分布式数据库

几年前,我发现Sybase的SQL Anywhere是一个很好的解决方案,可以满足中小型需求和预算,如果需要一个“真正的”SQL DBMS,或者已经存在于服务器后端。它在SQL级别提供了一种强大而透明(如果使用得当)的发布和订阅方法,如果您不能确保所有客户机都是全天候在线的,那么这种方法可以很好地工作

但是,对于在线(或几乎在线)的完整解决方案,Oracle提供了非常昂贵的在线数据库复制选项

对于小型解决方案,自定义Java代码访问远程数据库链接(Oracle功能)通常是可行的,但查找性能瓶颈可能是一场噩梦。(而且,您需要稳定的网络链接,以及所有节点上的“真实”Oracle数据库。)