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.
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:
- Time management
- Fleet management
- Geographic information system (GIS) routing
- Point of sale
- Self service
- Product description
- Law enforcement
- Social services
- 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
|Rugged platform||Hardened device (MIL-STD-810)|
|Data synchronization||Multiple database adapters|
|Unique identifier management||Local ID coordination|
|Pluggable components||Eclipse perspective and plug-in frameworks|
|Offline information storage||Local database persistence|
|Automated updates||Eclipse update facility|
|Multimedia support||Eclipse views and extensions (display and print)|
|User security||Eclipse 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
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
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.
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
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.
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.
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.
Check out the GReen IT Report.
Investigate the many articles and products
available to the mobile workforce by visiting the
Mobile Workforces Forums.
Check out the "Recommended Eclipse reading list."
Browse all the Eclipse content on developerWorks.
Follow developerWorks on Twitter.
New to Eclipse? Read the developerWorks article "Get started with the Eclipse Platform" to learn its origin and architecture, and how to extend Eclipse with plug-ins.
Expand your Eclipse skills by checking out IBM developerWorks' Eclipse project resources.
To listen to interesting interviews and discussions for software developers, check out check out developerWorks podcasts.
Stay current with developerWorks' Technical events and webcasts.
Watch and learn about IBM and open source technologies and product functions with the no-cost developerWorks On demand demos.
Check out upcoming conferences, trade shows, webcasts, and other Events around the world that are of interest to IBM open source developers.
Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.
Get products and technologies
Maestro Mobile Workforce Framework
about the Eclipse RCP platform and
obtain general information about the Eclipse Framework.
Learn more about
from IBM to support mobile device-enabled applications.
Jigloo visual editor is
an excellent addition to the Eclipse Framework and allows for more rapid
visual editing of SWT/JFace/Swing user interfaces.
Check out the latest Eclipse technology downloads at IBM alphaWorks.
Download Eclipse Platform and other projects from the Eclipse Foundation.
Download IBM product evaluation versions, and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Innovate your next open source development project with IBM trial software, available for download or on DVD.
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.
Ben 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.