使用 Eclipse RCP 为移动作业提供操作支持
2009-12-24 00:00:00 来源:WEB开发网现在,工作人员的移动性日益增加,很多工作都需要在现场进行,远离标准的工作场所工具,比如桌面计算机和有线网络。即便是对于移动设备,连接性也只能限于具有无线网络的区域。在本文中,了解基于开源 Eclipse Rich Client Platform (RCP) 的 Mobile Workforce Framework 在为工作在没有网络连接或网络连接有限的偏远地区的团队提供支持方面的发展。Mobile Workforce Framework 项目,即 Maestro,充分展示了通过使用 Eclipse RCP 如何能让诸如同步化、插件功能和离线支持这些架构方面的需求得到满足。
远程操作支持概述
有很多种现场支持服务需要移动性很高的工作人员。这些远程操作团队越来越需要为其提供计算支持以协助他们完成工作。大量为某个特定任务量身定做的应用程序不仅开发成本很高,并且只能部分甚至完全不能为其他的现场工作人员所用。因此,急需一个能提供通用服务和特性的统一开放平台,且这个平台需要具有可扩展性以满足各组现场员工的特定需求。
Eclipse RCP 为开发这样的框架提供了一个理想的基础。Eclipse 是一个稳定的开源框架,支持很多架构驱动需求。Eclipse 通过一个定义良好的插件架构提供可扩展性,包括传送更新和补丁的机制。Eclipse RCP 还以 JFace/Standard Widget Toolkit (SWT)、工具栏、窗口和其他通用开发框架的形式提供对用户界面开发的支持。
提供移动支持平台还体现了 “绿色计算” 的概念,因其减少了案头工作和出差。比如,在 Mine Safety and Health Administration (MSHA),以往,检查员常常需要在纸上进行记录、返回家里办公、将这些记录抄写进一个计算机文件、然后将文件归档。这样一个例行的过程常会造成报告的延误、额外的工作量及数据录入错误等问题。一种更高效、更精确的做法是直接提供基于计算机的输入,从而省去纸上记录这个中间环节。此外通过使用多设备平台,远程工作人员还可以使用更小、更节能的设备,从而减少了能源消耗并延长了电池使用寿命。
用于远程计算的架构驱动因素
远程工作团队在工作时通常会面临两个挑战。第一个就是来自于环境方面的挑战,即设备要适应不利的环境条件,例如湿度、温度和灰尘。第二个挑战就是很多工作地点都比较偏远且标准的无线技术没法覆盖。一个可以在各种便携计算设备(例如,手持计算机、tablet、微型计算机、笔记本电脑)上运行且高度可配置的移动作业平台(例如 Eclipse RCP 及插件架构)允许进行远程的在线或离线计算,并可在网络连接可用时实现与中心数据库的同步。
一些远程工作任务的示例列出如下:
检查
库存/物流
调度
时间管理
销售
协作
车队管理
地图信息系统(GIS)计划线路
基础设施
销售点
自助服务
产品描述
法律实施
社会服务
医药品
固定资产管理
位置跟踪
紧急响应
架构驱动因素对系统至关重要,必须得到满足,才能为组织提供价值。特别是,架构驱动因素的实施会直接关系到整个项目的成败。例如,如果驱动因素是为了构建一个灵活的、可扩展的系统,那么就需要实现一些机制来达到此目的,例如一个插件架构。架构驱动因素可由一个或多个架构机制(比如数据持久性、联网及安全)所满足。
下面列出了一些用于远程支持平台的架构驱动因素。
表 1. 支持远程操作的架构驱动因素
驱动因素 | 机制 |
加固了的平台 | 加固设备 (MIL-STD-810) |
数据同步 | 多数据库适配器 |
惟一标识符管理 | 本地 ID 协调 |
可插入组件 | Eclipse 透视图与插件框架 |
离线信息存储 | 本地数据库持久性 |
自动更新 | Eclipse 更新设施 |
多媒体支持 | Eclipse 视图与扩展(显示与打印) |
用户安全 | Eclipse 透视图框架与扩展 |
特别需要强调的是,驱动因素能否支持大量应用程序功能对于移动平台的成功十分关键。不同的远程作业团队所执行的任务也五花八门。一方面这些团队会共享一些公共功能,例如时间集合、现场样本管理、同步及参考数据,另一方面,他们也有其任务所规定的特定需求。Mobile Workforce Framework 的用途就是通过不同专用特性集所共享的公共组件来处理这些需求。
图 1. Maestro Mobile Workforce Framework 时间表原型插件
查看原图(大图)
Eclipse RCP 的价值
移动作业用例
有很多的用例都可以考虑用于移动作业支持应用程序。对于 Maestro Mobile Workforce Framework 的最初开发,可使用如下的检查用例和工作流:
回顾标准表单
管理惟一标识符
跟踪时间表活动
管理检查事件
管理现场健康样本
管理发布
与基准同步
维持用户首选项
这些用例涵盖了各种检查人员问题,比如跟踪时间、检查事件和取样,以及像与中心数据存储同步这样的管理功能。
正如所注意到的,Eclipse RCP 提供了一整套很适合于开发独立应用程序的工具。所列的很多架构驱动因素均可受现在的 Eclipse 框架的支持,其中包括通过 Eclipse 工作空间、透视图以及视图模型所实现的可扩展性。如图 1 中所示,一个 Mobile Workforce Framework 原型时间表组件包括两个视图:一个树视图,用来显示各时间表的每周概述;一个编辑器,用来显示某个特定的检查员每周时间表的明细。在本例中,时间明细专门用于支持地下矿井检查。所有窗口控件、菜单选择、工具栏及视图管理都由 Eclipse Workspace 直接处理。使用 JFace/SWT 支持,窗口元素可被很快构建(在本例中,使用的是 Jigloo 可视化编辑器)并连接到操作代码。
各种形式的检查员是最常见到的一类现场工作人员。这些人群有着相似的职责,即访问现场(一个检查 “事件”)、依据一系列规定和标准进行观测、对发现的违规现象给与传票或警告,而且还会执行后续检查以确保其符合规范。正如侧栏中所展示的,有一些公共用例可被包括在一个通用支持应用程序内来支持移动作业。如表 2 所示,有很多受雇于联邦、州或企业组织的远程工作人员是公共远程作业支持平台开发的直接受益者。
表 2. 远程工作人员的描述和分类
职业 | 分类/组织 |
联邦 | 美国职业安全与健康监察局 (OSHA) 美国矿山安全和健康监察局 (MSHA) 美国食品与药物管理局 (FDA) |
州 | 健康检查 防火安全检查 儿童福利监督 |
公司 | 石油与天然汽设备检查 铁轨与全部车辆检查 仓库库存 |
为了能利用各组中的相似点同时还能保持灵活性,我们使用了 Eclipse 基于透视图的插件框架。一个透视图就是一组视图、数据结构和其他一些旨在满足特定系统用户需求的组件。例如,一个实施透视图可以包括检查事件视图、传票视图、定单视图及其他数据表单视图,而一个培训透视图则可以让培训者得以跟踪活动、培训结果及培训课程的参加人数。
检查透视图的特性依赖性
这种方式的一个主要优点就是价格昂贵的设备可由已经有了匹配自已特定支持需求的透视图的人们多次重用。每个用户都可让特定的一个透视图在该用户登录时才被载入,其他用户不能访问。这已经被键入到当前用户的登录 ID,所以对于每个系统用户来说,它都是惟一的。
基于透视图方式的另一个优点就是可以将每个插件的开发、发布以及核心支持应用程序框架分开来。每个插件都可以根据可用资源和资金状况来制定独立的开发计划。在部署方面,如果一个特定插件被发现有缺陷,那么只需重新部署这个插件的代码。由于 Eclipse 框架直接提供自动远程更新与传送机制,所以不需要额外的开发来为各个透视图打包、配置或传送应用程序更新。
最后,由于每个插件都是独立的,所以只需在第一次使用时载入它们,从而大大减少了应用程序的整体内存占用。这种所谓的 “懒加载” 方式可使所有扩展插件可用,但只有当前用户特定需要的那个插件才会针对该用户会话被载入。
可扩展架构的另一个常见模式是服务模式。一个服务独立于任何特定应用程序层被建立,它被创建用来提供特定功能或操作且只具有对其他组件的有限依赖项。
如图 2 所示,这个核心系统为与中心数据存储同步提供了一个公共服务。
图 2. Maestro Mobile Workforce Framework 插件依赖项
查看原图(大图)
在现场时,远程用户会请求访问多种信息,包括位置或站点信息、检查历史、注释、承包方信息等。此外,远程用户还会创建必须定期上传的记录用以在将来处理,比如违规传票、时间与活动报告、事件和结果。
此服务提供了一个灵活的机制,远端用户可以在一段时间内在现场进行独立操作,之后是远程单元与中心数据库间数据的自动双向同步。这种同步服务使用了一个策略模式来实现不同的同步任务并允许创建其他相互独立的任务以减少依赖性连接。
此外,很多现场作业人员必须创建有惟一标识符的文件或其他记录。系统提供一种服务,用来管理惟一标识符的获取、使用和发布以便与主系统同步。例如,在现场,一位检查员针对某项违规发出了一个传票,这个传票具有惟一的检查事件编号与传票编号。在传票产生时,这些编号必须惟一和不变的。Identifier Manager Service 确保了现场中有一定数量的标识符可用。
所部署的移动平台需要对核心应用程序及功能性扩展插件组件做定期更新。在默认状态下,这个服务会在系统启动、下载和安装时检查更新,另外,它还会自动配置所有新更新的软件。这大大减少了支持人员用来管理部署到大量远端系统所需的时间。Eclipse RCP 为这类更新操作提供了明确的支持。
Mobile Workforce Framework 的实际应用
到目前为止,我们的讨论还仅限于 Mobile Workforce Framework 如何应用到实际情况中的抽象概念。为了能让您对这种方式的价值有全面的了解,我们举一个现场工作人员远程检查油井钻杆的的实际例子。在离开总公司前,“Kate” 借出一个公用手提电脑和一个加固了的手持计算机。她登录到手提电脑并启动 Maestro,然后选择 Inspector Perspective。应用程序会自动检查系统更新并将更新安装到平台。之后,她就可以下载检查清单、站点历史及检查所需的相关信息。此外,她还要花些时间打开时间跟踪视图以便能适当地跟踪并管理她的行程及检查时间。
Kate 到达现场,将手持计算机注册到 Maestro 框架,并将检查清单及相关参考信息传送到该设备。接下来开始检查,她用手持计算机检查清单记录下查出的问题,包括口头或书面的记录。按照需要,她还可以用手持计算机摄像头拍下与当前检查相关的照片或视频。在检查结束后,她返回到手提电脑,下载已完成的检查清单并为记录下的问题发出建议。
一回到总公司(或任何能上网的地方),Kate 用 Maestro 打开一个与中心数据库的安全会话并同步她的时间表、完成的检查清单、建议或传票以及相关的多媒体文件。然后她将设备归还,此时设备就可以被下一个检察员或其他远程工作人员带到现场使用了。用这种方法,组织就可重复使用价格高昂的硬件,并同时能为所有现场工作人员提供细致的支持。
未来的发展方向
Maestro Mobile Workforce Framework 项目是作为一个 SourceForge 孵化器项目被建立的。建立这个项目的目的是开发与部署一个支持现场与办公室内移动作业的可扩展平台。最初这个项目的开发主要集中在正式平台上(基于 Eclipse RCP),最初的重点也放在了检查团队上。但未来的开发也将会包括面向现场培训者、审计者和工程支持人员的透视图。
除了这个能被部署到传统计算设备(即笔记本计算机)的基本框架平台外,此项目还设想计划支持各种手持计算机或其他移动设备。IBM® 提供了一个 Lotus® Expeditor 移动设备支持平台,它对创建捆绑于核心 Maestro 产品的手持计算机应用程序可能会很有用。
更多精彩
赞助商链接