使用EclipseRCP为移动作业提供操作支持

现在,工作人员的移动性日益增加,很多工作都需要在现场进行,远离标准的工作场所工 具,比如桌面计算机和有线网络。即便是对于移动设备,连接性也只能限于具有无线网络的 区域。在本文中,了解基于开源 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 产品的手持 计算机应用程序可能会很有用。

你在潮湿的风中感受到了平稳的呼吸,多好听啊,

使用EclipseRCP为移动作业提供操作支持

相关文章:

你感兴趣的文章:

标签云: