如何使Java Web应用程序脱机?

时间:2008-12-01 15:45:44

标签: java web-applications offline

我们开发Java Web-aps(Websphere,DB2),它显示图形和数据库信息。我们还希望提供相同的应用程序离线(通过CD / DVD分发)和在线数据更新。过去我们尝试了很多替代品,但没有什么比这更稳定了。将Web ap +数据(在小型数据库中)脱机的新的最佳实践是什么?

4 个答案:

答案 0 :(得分:2)

我不知道它在CD / DVD发行方面的效果如何,但首先想到的是Gears。在围栏的.NET一侧有Silverlight 2。然后是Mozilla Prism项目,虽然我不知道它有多远。

这些设计不仅适用于离线访问,还适用于离线/在线混合,可在服务器可用时与服务器通信,并在必要时在本地工作。

答案 1 :(得分:1)

我建议使用Apache Derby作为数据库(也可以作为Sun的Java DB使用,可能仍然是IBM Cloudscape(它是否仍具有DB2兼容性?)。)

我确定有很多Web服务器/ Servlet容器。 Apache Tomcat是显而易见的。另一种方法是在单个Java进程中使用嵌入式本机浏览器。对于用户和技术支持而言,这种方法应该相对轻松,您可以使用WebStart进行安装和更新。

如果您正在使用EJB和其他废话,那么有类似的免费赠品。我知道Sun Glassfish很好,而且起步很快。

答案 2 :(得分:0)

您可以将服务器的映像创建为VMware实例,并使用VMware播放器的副本进行分发(当然允许许可)。就个人而言,我会在像CentOS5这样的Linux发行版上构建它。

答案 3 :(得分:0)

您可以将JRE与JETTY服务器捆绑在一起,并使用另一个数据库,例如HSQLDB(您可以在webapp内部捆绑)。

如果您使用ORM工具连接到数据库,则可能不必为此进行许多代码更改。

许多应用服务器像这样分发他们的管理控制台。例如,Weblogic管理控制台脱机运行(它使用内部ldap服务器作为其数据库)

就谷歌齿轮而言,它们也在做同样的事情。 他们有一个与SQLDB捆绑在一起的服务器,它们允许在线脱机应用程序之间同步数据。 如果您需要同步功能,您也可以同步数据(使用在线应用中的网络服务)并通过离线应用中的https进行通话以同步数据。

您也可以查看此链接 http://developers.sun.com/learning/javaoneonline/2007/pdf/TS-69700.pdf