离线Web技术在医疗业务应用的设想及尝试 什么是离线Web技术 众所周知,Web的功能主要是依赖在线的网络,离开网络,Web应用几乎没 有什么用处。而随着当今Web2.0技术的快速发展,Web2.0时代最重要的创新技 术一一离线Web技术应运而生,离线Web应用的时代到来了 普通的应用程序是先下载安装程序,安装完成以后使用,而Web应用程序, 则是用浏览器打开一个网络应用程序页面,直接在浏览器页面中完成各种应用程 序操作。但是Web应用一般都需要网络服务器的支持,用户需要联网才能使用, 离线Web技术给Web应用程序提供了离线操作的功能,用Web打开一个网络页面, 当应用程序页面下载完毕后,这个软件就能使用了,就是离线了也能正常使用这 个软件。应用离线Web技术开发出来的Web应用程序让用户在没有网络的地方或 网络突然故障的时候,也能流畅的保持应用程序操作,等到网络通畅的时候,离 线操作过的应用自动被同步到Web上,大大方便了用户的使用。 离线Web技术在医疗行业应用设想 使用离线Web技术开发的Web应用程序既具有Web程序跨平台、穿透力强、 与Web应用无缝集成、良好的可移植性等各种优势,又实现了离线操作,并且大 大提高了Web程序的性能,因此离线Web技术完全可以被应用到企业的系统开发 中去。 国内许多大型医院正在实施“移动查房”,即使用无线网络和无线设备来实 现医生查房的数字化、护理记录数字化。医生携带无线设备,在覆盖无线网络的 病房査房时,边询问病人病情边在系统中实时记录。但是无线设备发出的信号有 时会对一些精密的医疗设备产生干扰,如果采用基于离线Web技术开发的系统, 可以很方便的解决这个问题,而不必采购昂贵的特制无线设备。即使小型医院也
离线 Web 技术在医疗业务应用的设想及尝试 什么是离线 Web 技术 众所周知,Web 的功能主要是依赖在线的网络,离开网络,Web 应用几乎没 有什么用处。而随着当今 Web2.0 技术的快速发展,Web2.0 时代最重要的创新技 术——离线 Web 技术应运而生,离线 Web 应用的时代到来了。 普通的应用程序是先下载安装程序,安装完成以后使用,而 Web 应用程序, 则是用浏览器打开一个网络应用程序页面,直接在浏览器页面中完成各种应用程 序操作。但是 Web 应用一般都需要网络服务器的支持,用户需要联网才能使用。 离线 Web 技术给 Web 应用程序提供了离线操作的功能,用 Web 打开一个网络页面, 当应用程序页面下载完毕后,这个软件就能使用了,就是离线了也能正常使用这 个软件。应用离线 Web 技术开发出来的 Web 应用程序让用户在没有网络的地方或 网络突然故障的时候,也能流畅的保持应用程序操作,等到网络通畅的时候,离 线操作过的应用自动被同步到 Web 上,大大方便了用户的使用。 离线 Web 技术在医疗行业应用设想 使用离线 Web 技术开发的 Web 应用程序既具有 Web 程序跨平台、穿透力强、 与 Web 应用无缝集成、良好的可移植性等各种优势,又实现了离线操作,并且大 大提高了 Web 程序的性能,因此离线 Web 技术完全可以被应用到企业的系统开发 中去。 国内许多大型医院正在实施“移动查房”,即使用无线网络和无线设备来实 现医生查房的数字化、护理记录数字化。医生携带无线设备,在覆盖无线网络的 病房查房时,边询问病人病情边在系统中实时记录。但是无线设备发出的信号有 时会对一些精密的医疗设备产生干扰,如果采用基于离线 Web 技术开发的系统, 可以很方便的解决这个问题,而不必采购昂贵的特制无线设备。即使小型医院也
可以利用有线网络加手持操作设备来实现移动查房的功能,花费的成本将远远小 于无线方案。 此外,医疗业务往往需要高可靠性、实时性的系统来支持运作,还必须配有 套应急方案来应对网络故障,避免网络瘫痪所造成的医疗业务瘫痪。传统做法 是开发另一套单机版系统,一旦发生网络故障,则立刻切换到单机系统中操作, 网络恢复后再将数据导入到网络服务器中。如果采用基于离线Web技术开发的系 统,用户就不需要手工切换不同的系统,一切网络连接操作都由系统自动处理完 成 我们还可以将应用扩大到OA、ERP系统中的某些应用,如0A中的论文申报、 科研申请、ERP中的财务差旅费报销申请等。这种需要通过在线申请,又要填写 大量详细资料,甚至于进行一些简单的文书处理的需求,可以通过用户离线操作 的方式来解决,而完全不用花费大量成本实施VPN,远程登陆内部系统操作,更 不需要一大堆的安全方案来确保网络接入的安全性。 基于以上一些设想,根据实际情况,我们在 Google的 Gears、 Microsoft 的 Silverlight, Adobe的 Apollo等离线平台中,选用 Google Gears+Dojo Offline做了一些简单的尝试 什么是 Google Gears Google Gears是一个开源的浏览器扩展,它允许网络应用程序使用以下Ja vaScript API提供离线功能 1.在本地储存及操作应用程序的资源; 2.将数据储存在本地的完全可搜索的关系数据里 3.运行异步 Javascript以提高应用程序的响应速度 更具体地说, Google Gears会将数据储存在你的硬盘上的一个 SQLite数据 库里,并且这些数据可以通过SQL命令获得
可以利用有线网络加手持操作设备来实现移动查房的功能,花费的成本将远远小 于无线方案。 此外,医疗业务往往需要高可靠性、实时性的系统来支持运作,还必须配有 一套应急方案来应对网络故障,避免网络瘫痪所造成的医疗业务瘫痪。传统做法 是开发另一套单机版系统,一旦发生网络故障,则立刻切换到单机系统中操作, 网络恢复后再将数据导入到网络服务器中。如果采用基于离线 Web 技术开发的系 统,用户就不需要手工切换不同的系统,一切网络连接操作都由系统自动处理完 成。 我们还可以将应用扩大到 OA、ERP 系统中的某些应用,如 OA 中的论文申报、 科研申请、ERP 中的财务差旅费报销申请等。这种需要通过在线申请,又要填写 大量详细资料,甚至于进行一些简单的文书处理的需求,可以通过用户离线操作 的方式来解决,而完全不用花费大量成本实施 VPN,远程登陆内部系统操作,更 不需要一大堆的安全方案来确保网络接入的安全性。 基于以上一些设想,根据实际情况,我们在 Google 的 Gears、Microsoft 的 SilverLight,Adobe 的 Apollo 等离线平台中,选用 Google Gears + Dojo Offline 做了一些简单的尝试。 什么是 Google Gears Google Gears 是一个开源的浏览器扩展,它允许网络应用程序使用以下 Ja vaScript API 提供离线功能: 1. 在本地储存及操作应用程序的资源; 2. 将数据储存在本地的完全可搜索的关系数据里; 3. 运行异步 Javascript 以提高应用程序的响应速度。 更具体地说,Google Gears 会将数据储存在你的硬盘上的一个 SQLite 数据 库里,并且这些数据可以通过 SQL 命令获得
Google gears的应用几乎是无限的,比如利用它 gmail可以实现离线阅读 及收发邮件,也可以实现 Google docs& Spreadsheets的离线编辑。或者想得 更远一些,有了 Google Gears,我们期昐已久的 GDrive离我们更近了。无论我 们是否与互联网连接,我们都将可以直接在浏览器里收发邮件、编辑文档、阅读 新闻、存储数据等,我们的日常电脑操作将会进一步从操作系统及单机软件转向 网络化 Dojo在 Google gears的基础上封装了 Do jo Offline,让开发者更加容易开 发离线的Web应用。 Google Gears使用体验 Google Gears主要包含3个模块 1. Localserver module(用于提供HTML, JavaScript,图片等的访问请 求)。 Localserver module就是本地服务器,大家都知道B/S的文件都 是存放在 server端的,不存在客户端,如果网络出了什么问题,那么 系统也就不能访问了, Localserver module就是为让断网的时候依然 可以使用B/S系统,将 server端的一些文件存储到本地。比如我们要 登记一个资料,以前没有B/S的系统断网了肯定不行,录入的界面打不 开,打开了也无法录入提交到服务器.用了 Localserver module,我们 就可以在断网的情况下打开录入界面,然后录入,然后使用 Database module存储,网络好了的时候在同步,我们也不用总是担心数据没及时 录入以免以后就忘记录入了。 2. Database module(本地数据库)。 Database module就是本地数据,可 以使用标准的sql语法操作,比如建表査询删除等等。这样很多常用数 据我们都可以本地化存储,不用每次都从 server端下载,提升了用户 体验,减少不必要的数据往返。特别是对网络环境不好的情况,用户在 操作的时候断网络,就可以把输入的数据现保存到本地库,后期网络正 常后在同步
Google Gears 的应用几乎是无限的,比如利用它 Gmail 可以实现离线阅读 及收发邮件,也可以实现 Google Docs & Spreadsheets 的离线编辑。或者想得 更远一些,有了 Google Gears,我们期昐已久的 GDrive 离我们更近了。无论我 们是否与互联网连接,我们都将可以直接在浏览器里收发邮件、编辑文档、阅读 新闻、存储数据等,我们的日常电脑操作将会进一步从操作系统及单机软件转向 网络化。 Dojo 在 Google Gears 的基础上封装了 Dojo Offline,让开发者更加容易开 发离线的 Web 应用。 Google Gears 使用体验 Google Gears 主要包含 3 个模块: 1. LocalServer module(用于提供 HTML, JavaScript, 图片等的访问请 求)。LocalServer module 就是本地服务器,大家都知道 B/S 的文件都 是存放在 server 端的,不存在客户端,如果网络出了什么问题,那么 系统也就不能访问了, LocalServer module 就是为让断网的时候依然 可以使用 B/S 系统,将 server 端的一些文件存储到本地。比如我们要 登记一个资料,以前没有 B/S 的系统断网了肯定不行,录入的界面打不 开,打开了也无法录入提交到服务器. 用了 LocalServer module,我们 就可以在断网的情况下打开录入界面,然后录入,然后使用 Database module 存储,网络好了的时候在同步,我们也不用总是担心数据没及时 录入以免以后就忘记录入了。 2. Database module(本地数据库)。Database module 就是本地数据,可 以使用标准的 sql 语法操作,比如建表查询删除等等。这样很多常用数 据我们都可以本地化存储,不用每次都从 server 端下载,提升了用户 体验,减少不必要的数据往返。特别是对网络环境不好的情况,用户在 操作的时候断网络,就可以把输入的数据现保存到本地库,后期网络正 常后在同步
3. Workerpool module(工作者池,通过异步的方式在后台进行资源访问 的操作,比如同步本地用户数据到服务器,使浏览器程序保持快速响应)。 WorkerPool module是一个最重要的模块,用过pool技术的都知道,p ool中的各个主体独自工作,这里的pool是实现了让多个js在后台异 步运行互不干涉,这样用户在使用系统的时候,是感受不到有js在运 行的,以前js运行的时候,界面都是不可操作的,必须要等js运行完 了,才能做其他操作,使用 WorkerPool module就可以解决这个问题。 比如在我们的系统中,要把服务器的数据库(某个表)本地化,大概需 要1个小时,如果使用传统的js来操作,界面就要运行一个小时(可能 没有响应),ie基本都是白屏。这显然是行不通的了,所有我们只能用 Workerpool module,在用户没有感觉的情况下,在后台通过ajax分段 获取到服务器的数据,然后启动 WorkerPool module写入 如何安装 Google Gears s=GoogleGears:http://code.googlecom/apis/gears/install.html 如何检查客户电脑上是否安装了 Google Gears? 在页面里面包含这一段js: 示例代码如下 <script src="gears_init. js"></script> <script> if (!window. google I google. gears)t locationhref=http://gears.googlecom/?action=install&message=<yo ur we I come mes sage> &return=syour websi te url> </script 我们看到其中提示用户安装的地址允许定制两个自定义信息 message:用户提示信息,不超过150个字
3. WorkerPool module(工作者池,通过异步的方式在后台进行资源访问 的操作,比如同步本地用户数据到服务器,使浏览器程序保持快速响应)。 WorkerPool module 是一个最重要的模块,用过 pool 技术的都知道,p ool 中的各个主体独自工作,这里的 pool 是实现了让多个 js 在后台异 步运行互不干涉,这样用户在使用系统的时候,是感受不到有 js 在运 行的,以前 js 运行的时候,界面都是不可操作的,必须要等 js 运行完 了,才能做其他操作,使用 WorkerPool module 就可以解决这个问题。 比如在我们的系统中,要把服务器的数据库(某个表)本地化,大概需 要 1 个小时,如果使用传统的 js 来操作,界面就要运行一个小时(可能 没有响应),ie 基本都是白屏。这显然是行不通的了,所有我们只能用 WorkerPool module,在用户没有感觉的情况下,在后台通过 ajax 分段 获取到服务器的数据,然后启动 WorkerPool module 写入。 如何安装 Google Gears 安装 Google Gears: http://code.google.com/apis/gears/install.html 如何检查客户电脑上是否安装了 Google Gears? 在页面里面包含这一段 js: 示例代码如下: <script src="gears_init.js"></script> <script> if (!window.google || !google.gears) { location.href = "http://gears.google.com/?action=install&message=<yo ur welcome message>" + "&return=<your website url>"; } </script> 我们看到其中提示用户安装的地址允许定制两个自定义信息: message: 用户提示信息,不超过 150 个字
return:安装完毕后返回的地址,也就是我们自己的web程序页面。 看一下 gears_init.js会发现,对 Windows而言,实际上 Google Gears 在客户端安装了一个 ActiveX对象: factory new ActiveXObject( Gears. Factory') Google gears的所有功能调用都是通过操纵该对象来完成的 数据库Demo http:/code.google.com/apisgears/samples/helloworlddatabasehtml 这个例子允许用户输入一些信息,并显示出最近输入的3条。在用户下次访 问时仍然存在。其界面如下 Google Gears Database Demo- Windows Internet Explorer ·Rh99 Coogle G 开始+ 设置 i 4 G Google Gears Database D 页面 Google Gears Database Demo To see how this works, use the view source feature of your browser Enter a phrase to store in the database Your last three phrases were (1)将计就计 (2)方法 (3)dfsdffgf This page uses Google Gears to record your entnes on the local disk. If you navigate away and revisit this page, all your data will still be here. Try it! □[
return: 安装完毕后返回的地址,也就是我们自己的 web 程序页面。 看一下 gears_init.js 会发现,对 Windows 而言,实际上 Google Gears 在客户端安装了一个 ActiveX 对象: factory = new ActiveXObject('Gears.Factory'); Google Gears 的所有功能调用都是通过操纵该对象来完成的。 数据库 Demo http://code.google.com/apis/gears/samples/hello_world_database.html 这个例子允许用户输入一些信息,并显示出最近输入的 3 条。在用户下次访 问时仍然存在。其界面如下: