Mobile workforce operational support using Eclipse RCP

Extend the Eclipse platform to support the offline computational needs of field personnel

The modern workforce is increasingly mobile, with many jobs performed in the field, far from standard workplace tools, such as desk-bound computers and wired networks. Even for more mobile devices, connectivity is limited to wireless accessible areas. Learn about the development of a Mobile Workforce Framework based on the open source Eclipse Rich Client Platform (RCP) for supporting teams who must work in remote areas with limited or no network access. This article focuses on the value of a common open source platform to myriad remote teams, the reduction in paper and travel to perform synchronization, and improved paper-free access to critical information when "off the net." The Mobile Workforce Framework project, also known as Maestro, illustrates how many architectural drivers like synchronization, plug-in functionality, and offline support are met by the using the Eclipse RCP.

Benjamin Lieberman , Ph.D., Principal Architect, BioLogic Software Consulting

author photoBen Lieberman serves as principal architect for BioLogic Software Consulting. He provides expertise in consulting and training on a variety of software development topics, including software architecture, requirements analysis, software analysis and design, configuration management, and development process improvement. Lieberman brings more than 10 years of software architecture and IT experience in various fields, including telecommunications, airline travel, e-commerce, government, financial services, and life sciences. His consulting services are based on the best practices of software development, with specialization in object-oriented architectures and distributed computing — in particular, Java™-based systems and distributed Web-site development (J2EE), XML/XSLT, Perl, and C++ based client-server systems. Lieberman has provided architectural services to corporate organizations, including EchoStar, Jones Cyber Solutions, Blueprint Technologies, Trip Network Inc., Galileo International; educational institutions, including Duke University and the University of Colorado; and governmental agencies, including the Mine Safety and Health Administration. He is also an accomplished professional writer with a book and numerous software-related articles to his credit. Lieberman holds a doctorate in biophysics and genetics from the University of Colorado, Health Sciences Center.


developerWorks Contributing author
        level

21 April 2009

Also available in Japanese

Overview of remote operations support

There are many kinds of field support services that require a highly mobile workforce. Increasingly, there is a need to provide computing support for these remote operation teams to aid them in the performance of their jobs. A wide variety of applications, often custom-written for just one specific task, must be created at high expense and with limited or no general applicability to other field personnel. There exists a real need for a universal open platform to provide common services and features that can be extended to meet the specific needs of each group of field staff.

The Eclipse RCP provides the perfect basis for the development of such a framework. Eclipse represents a stable open source framework that supports many architectural drivers required by a field-support framework (see "Architectural drivers for remote computing"). Eclipse provides for extensibility via a well-defined plug-in architecture, including a mechanism for delivery of updates and patches. Eclipse RCP also provides support for user interface development in the form of JFace/Standard Widget Toolkit (SWT), toolbars, windowing, and other common development frameworks.

Providing a mobile support platform can also promote the idea of “green computing” through the reduction in paperwork and travel. For example, at the Mine Safety and Health Administration (MSHA), inspectors routinely take notes on paper, travel to a home office, transcribe those notes into a computer file, then file the paper into a case history. This results in delay in reporting, additional effort, data entry errors, etc. A far more efficient and accurate mechanism is to provide direct computer-based entry to avoid the paper-based intermediary. Moreover, using a multidevice platform approach allows remote workers to use smaller, more energy efficient devices with less power consumption and increased battery life.


Architectural drivers for remote computing

Remote workforce teams are frequently confronted with two major challenges when performing their jobs. The first is environmental, where equipment is subjected to adverse conditions, such as water, temperature, and dust. The second is that many locations are remote and inaccessible with standard wireless technologies. A mobile workforce platform that can be run on a variety of portable computing equipment (for example, handheld, tablet, minicomputer, laptop) and is highly configurable (for example, Eclipse RCP and plug-in architecture) allows for remote computing online or offline that can be synchronized with a centralized database whenever connectivity is available.

Here are some examples of remote workforce tasks:

  • Inspection
  • Inventory/logistics
  • Scheduling
  • Time management
  • Sales
  • Collaboration
  • Fleet management
  • Geographic information system (GIS) routing
  • Infrastructure
  • Point of sale
  • Self service
  • Product description
  • Law enforcement
  • Social services
  • Pharmaceuticals
  • Assets management
  • Location tracking
  • Emergency response

Architectural drivers represent critical aspects of a system that must be met to provide value to the organization. In particular, implementation of an architectural driver is directly tied to the overall success of the project. For example, if the driver is to build a flexible and extensible system, then it is important to implement some mechanism to allow this, such as a plug-in architecture. Architectural drivers are met by one or more architectural mechanisms like data persistence, networking, and security.

Many of the architectural drivers for a remote support platform are listed below.

Table 1. Remote operation support architectural drivers
DriverMechanism
Rugged platformHardened device (MIL-STD-810)
Data synchronizationMultiple database adapters
Unique identifier managementLocal ID coordination
Pluggable componentsEclipse perspective and plug-in frameworks
Offline information storageLocal database persistence
Automated updatesEclipse update facility
Multimedia supportEclipse views and extensions (display and print)
User securityEclipse perspective framework and extensions

In particular, the driver to support an extensible set of application functions is critical to the success of a mobile platform. There are many kinds of remote teams performing a variety of tasks. While these groups share many common functions, such as time collection, field sample management, synchronization, and reference data, they also have specific needs dictated by the particular task they perform. The Mobile Workforce Framework is designed to handle these needs via common components shared between specialized feature sets.

Figure 1. Maestro Mobile Workforce Framework timesheet prototype plug-in
Maestro timesheet prototype plug-in

Value of the Eclipse RCP

Mobile workforce use cases

There are a number of use cases that could be considered for a mobile workforce support application. For the initial development effort of the Maestro Mobile Workforce Framework, the following inspection use cases and workflow are used:

  • Review standard forms
  • Manage unique identifiers
  • Track timesheet activity
  • Manage inspection event
  • Manage field health sample
  • Manage issuance
  • Synchronize with base
  • Maintain user preferences

These use cases cover a variety of inspection personnel issues, including the need to track time, inspection events, and sampling, as well as to provide for administrative functions like synchronization with a central data store.

As noted, the Eclipse RCP provides a set of tools well suited to the development of stand-alone applications. Many of the architectural drivers listed are directly supported by the current Eclipse framework, including extensibility through the Eclipse workspaces, perspectives, and views model. As shown in Figure 1, a prototype timesheet component of the Mobile Workforce Framework contains two views: a tree view to show a weekly overview of time sheets and an editor to display the details for a particular inspector's weekly timesheet. In this case, the time-collection detail is specialized to support an underground mine inspection. All the window controls, menu choices, tool bars, and view management are handled directly by the Eclipse Workspace. Using the JFace/SWT support, the window elements are rapidly built (in this case, using the Jigloo visual editor) and connected to operational code.

Inspectors of one form or another are one of the most prevalent groups of field workers. These groups have similar functions, namely to visit field sites (an inspection "event"), observe compliance with a series of regulatory or other standards, issue citations or warnings for violations, and perform follow-up inspections to ensure compliance. As noted in the sidebar, there are a number of common use cases that can be included in a general support application supporting a mobile workforce. As shown in Table 2, there are a number of other remote workers employed by federal, state, and corporate organizations who could directly benefit from the development of a common remote workforce support platform.

Table 2. Description of remote workers by category
EmploymentCategory/Organization
Federal
  • Occupational Safety and Health Administration (OSHA)
  • Mine Safety and Health Administration (MSHA)
  • Food and Drug Administration (FDA)
State
  • Health inspections
  • Fire safety inspections
  • Child welfare oversight
Corporate
  • Oil and gas rig inspections
  • Railroad track/rolling stock inspections
  • Warehouse inventory

To take advantage of the similarities between each group while still maintaining flexibility, the Eclipse perspective-based plug-in framework is used. A perspective is defined as a set of views, data structures, and other components designed to meet the needs of a particular system user. For example, an enforcement perspective would contain views of inspection events, citations, orders, and other data forms, while a training perspective would enable educators to track activities, training results, and number of attendees at training sessions.


Inspection perspective feature dependencies

A key advantage of this approach is that a piece of expensive equipment can be reused by multiple individuals who are presented with perspectives that match their specific support needs. Each user has a specific perspective only loaded when that user is logged on; other users do not have access. This is keyed to the current user's login ID, so it is unique for each system user.

Another advantage of the perspective-based approach is to decouple the development and release of plug-ins from one another and the core supporting application framework. Each plug-in can have an independent development schedule based on available resources and funds. On deployment, if a particular plug-in is found to be defective, only that plug-in code must be redeployed. The Eclipse framework directly provides for an automatic remote update and delivery mechanism so no additional development is necessary to package, configure, and deliver application updates for individual perspectives.

Finally, because each plug-in is independent, they need only be loaded on first use, significantly reducing the overall memory footprint for the application. This so-called "lazy-loading" approach makes all of the extension plug-ins available, but only the one specifically needed by the current user is loaded for that user's session.

Another common pattern for extensible architectures is the service pattern. A service is established as independent of any particular application layer, is created to provide a specific function or operation, and has limited dependencies on any other component.

As shown in Figure 2, the core system provides a common service for synchronization with a centralized data store.

Figure 2. Maestro Mobile Workforce Framework plug-in dependencies
Maestro Mobile Workforce Framework plug-in dependencies

Remote users require access to a variety of information, including location or site information, inspection history, notes, contractor information, etc. while in the field. Additionally, remote users create records that must be uploaded periodically for further processing, such as issuances for violations, time and activity reports, events, and outcomes.

This service provides a flexible mechanism to permit remote users to operate independently in the field for a period of time, followed by an automated two-way synchronization of data between the remote unit and the central database. The Synchronization Service uses a strategy pattern to implement the different synchronization tasks and allows for creation of additional tasks independently of any others, reducing dependency linkages.

Additionally, many field workers must create documents or other records that require a unique identifier. The system contains a service to manage the acquisition, utilization, and release of unique identifiers for synchronization with the home system. For example, an inspector in the field issues a citation for violation of a specific regulation with a unique inspection event number and citation number. When the citation is made, these numbers must be unique and constant; no changes are permitted. The Identifier Manager Service ensures that a minimum number of identifiers are available for use while in the field.

The deployed mobile platform periodically requires updates to the core application and functional extension plug-in components. By default, this service checks for updates on system startup, download, and install, and it configures all new updated software automatically. This significantly reduces support personnel time required to manage a wide deployment to numerous remote systems. The Eclipse RCP provides explicit support for these kinds of update operations.


Practical applications of the Mobile Workforce Framework

So far, the discussion has been mainly in the abstract sense on exactly how the Mobile Workforce Framework can be used in practical situations. To give a full sense of the value of this approach, consider the specific example of a field worker inspecting an oil-drilling rig in a remote location. Before leaving her home office, "Kate" checks out a communal laptop and a rugged handheld computer. She logs on to the laptop, starts Maestro, and selects the Inspector Perspective. The application automatically checks for system updates and installs them to the platform. She can then download the inspection checklist, site history, and any other relevant information needed for her inspection. She also takes the time to open the time-tracking view so she can appropriately track and manage her travel and inspection time.

When Kate arrives on site, she registers the handheld with the Maestro framework and transfers the checklist and relevant reference information to the device. She then begins the inspection, noting any deficiencies using the handheld checklist, including taking verbal or written notes. Along the way, she may take photographs or video using the handheld camera, which is associated with the current inspection. When the inspection is complete, she returns to the laptop, downloads the completed inspection checklist, and issues any advisories for noted deficiencies.

Upon returning to the home office (or any network-enabled location), Kate opens a secure session using Maestro with the central database and synchronizes her timesheet, completed checklist, advisories or violation issuances, and any associated multimedia files. She hands back the shared equipment, which is now ready for the next inspector or any other remote worker to take in the field. In this way, the organization can reuse expensive hardware and, at the same time, provide tailored support to their entire field workforce.


Future directions

The Maestro Mobile Workforce Framework project is established as a SourceForge incubator project. The intent of the project is to develop and deploy a useful and extensible platform supporting mobile workforces in the field and in the office. The initial development for this project is focused on the creation of the formal platform (based on Eclipse RCP), with initial emphasis on inspection teams. Later efforts will include perspectives for field trainers, auditors, and engineering support staff.

In addition to the base framework platform that will be deployed to full-scale computing devices (that is, laptop computers), the project also envisions supporting a variety of handheld or other mobile devices. IBM® offers a Lotus® Expeditor mobile-device support platform that may prove useful in the creation of handheld applications tied back to the core Maestro product.

Resources

Learn

Get products and technologies

Discuss

  • The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)
  • The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.
  • Participate in developerWorks blogs and get involved in the developerWorks community.

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Open source on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=382507
ArticleTitle=Mobile workforce operational support using Eclipse RCP
publish-date=04212009