2011-06-04 85 views
1

我必须设计一个具有离线工作能力的web应用程序。Webapp能够脱机工作!

因此,有在网上正常工作模式下,连接到中央服务器的许多工作点。

现在有时刻,出于不同的原因,中央服务器可能无法使用。 (没有互联网,服务器崩溃等),因此需要进入离线工作模式。 因为客户不应该等待,所以不需要完全工作只是为了做一些工作,所以发票应该是可能的(具体情况)。

定制的解决方案,我心中已经有了,但如果你知道一个框架或东西做这样的事情已经我想知道。

谢谢!

+0

这是一个webapp?你使用的是HTML和JavaScript吗? – hvgotcodes 2011-06-04 17:17:31

+0

它可以使用任何东西...但是我有Java背景....对于前端它将是HTML5,但肯定是一个Java框架。 – Cris 2011-06-04 17:22:57

回答

2

我们写了一个桌面应用程序的数百名员工在他们的笔记本电脑使用。它使用数据库复制将数据库的笔记本副本中的数据合并到数据库的服务器副本。包含在数据库中的数据量很大 - 产品信息,客户联系信息等等。销售代表能够创建销售订单和发票等都是需要的。代表始终能够使用该软件非常重要,而不是偶尔在连接时使用该软件。但是,这种方法确实存在一些挑战 - 如果本地数据库没有经常同步,两端的数据就会变得陈旧,而且必须处理冲突更新。

如果对工作断开本地数据库所需的信息量并不大,你绝对可以利用新的HTML5离线存储和使用网站。

我认为,这里的关键因素是用户,当他们脱机工作,如何将数据新鲜需要是,他们将在线与离线工作有多大比例的时间有多少数据需要。

+0

是的,很多..这就是为什么我质疑html5是否适合那个。它是关于invoicing.so更多然后10000个cleints,10000个产品... + pdf发票的生成...什么DB做了什么你用过吗?复制工作正常......? – Cris 2011-06-04 17:31:10

+1

我们使用的是SQL Server。复制工作正常。代表们喜欢流动性。与客户坐在一起并且您的dang笔记本电脑无法连接到互联网是非常尴尬的。如果你想研究这一点,你可能会撰写一个非常具体的新问题来描述数据量等,并询问人们对用于复制的最佳数据库的建议。但是,在你这样做之前,请查看其他SO问题,例如[this one](http://stackoverflow.com/questions/142068/which-database-has-the-best-support-for-replication)。 – DOK 2011-06-04 17:45:31

+0

你可以使用html5并复制到localstorage,或类似沙发db – hvgotcodes 2011-06-05 14:17:38

1

如果你的程序是HTML/JavaScript中,使用HTML5应用程序清单。请参阅以下资源

http://www.w3.org/TR/offline-webapps/ http://www.webreference.com/authoring/languages/html/HTML5-Application-Caching/

+0

那么这是适合存储在那种缓存10000客户端?这个应用程序背后的主要想法是简单invoicing.Normally你从服务器获取数据:客户,价格,产品等...在离线这一切应该从?本地数据库?或.... – Cris 2011-06-04 17:24:34

+0

每个客户端是它自己的应用程序,并管理自己的离线状态 – hvgotcodes 2011-06-04 17:44:55

相关问题