A CIO's Guide to Mobilizing Enterprise Applications

Best Practices for developing a successful mobile architecture in the enterprise

Table of Contents

Executive Summary

Issues in Mobile Computing

Multiple device types

Application Models

Connectivity Options

Enterprise System Integration

Overcoming the Challenges

A Large Pharmaceutical Company

Tulsa Dental

A Leading Office Supply Company

Integrating a Mobile Platform for your Applications

Implementing a data sync solution

Integrating Data Sync with Web-Based Applications

Integrating Data Sync with Web-based Client-Server Applications

Selecting a Data Sync Solution

Configuring and managing enterprise data

Integrating Data Sync into Infrastructure

Managing the solution after deployment

Securing your data

A Single Component of a Complete Mobile Infrastructure

About Synchrologic

Published By

Synchrologic, Inc.


Alpharetta, GA 30022

Copyright © 2003 by Synchrologic, Inc.

All rights reserved worldwide. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any human or computer language in any form or by any means without the express written permission of:

Synchrologic, Inc.
Corporate Headquarters
Documentation Department


Alpharetta, GA 30022
or

This publication is provided as is without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.

This publication could include technical inaccuracies or typographical errors. Changes are periodically added to the information herein. These changes will be incorporated in new editions of the publication. Synchrologic, Inc., may make improvements and/or changes at any time to the product(s) and/or the program(s) described in this publication.

All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Synchrologic cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark.

A CIO's Guide to Mobilizing Enterprise Applications

Best Practices for developing a successful mobile architecture in the enterprise

Executive Summary

With the widespread proliferation of computing devices and the mobilization of corporate workforces, organizations are constantly on the lookout for ways to leverage mobile technology capabilities. One of the most valuable ways to increase field employee productivity is to enable enterprise applications on their mobile devices. By extending this data out to the field, your employees can enjoy the benefits of being in the office while working directly with your customers. Historically, productivity increases have resulted in increased revenue by enabling quicker response to customer requests, better quality and faster service, improved sales and renewal rates, and faster and more accurate billing resulting in improved cash flow.

Mobilizing enterprise applications result in other measurable benefits besides revenue and productivity increases. It reduces costs and increases customer service, and by streamlining the management of your data, reduces the cost of collecting and distributing it back to the field. Almost all workers benefit from access to enterprise data in the field. Mobile sales reps need to determine price and availability for quotes, submit orders, process invoices, capture signatures, and identify add-on sales and renewal opportunities. They also need timely access to customer data, market information, mobile office functions, and product catalogs and literature. They can view inventories, submit orders, and provide order verification to the customer immediately. Field service workers need access to dynamic dispatch, routing, schedules, schematics, customer installation details, and billing information. Using mobile applications, these employees can instantly update service call information and create invoices.

A common vision shared amongst corporations: drive increased revenue through sales and service in the field. This goal requires delivering the right information to the right person wherever they are. Utilizing mobile devices and enabling your line-of-business applications on these devices helps your organization achieve these goals.

This white paper aims to educate sales operations managers, business analysts, technical managers, and other IT decision makers about the value of utilizing mobile devices for your field workforce. It discusses not only the reasons for mobilizing your applications, but also the issues surrounding mobile environments, and how to implement a solution in your environment.

This paper is broken up into two main parts:

Issues in Mobile Computing

Mobile devices are becoming more widespread within organizations. From laptops to handheld (PDA style) devices and now to smart phones, a variety of computing devices have found their way into most corporations. There's no question that mobilizing data makes your employees more productive. The difficulty is in effectively overcoming the issues related to mobile computing and deploying this data to your workforce.

Completing a successful rollout of a mobile enterprise application requires that you understand and address the challenges inherent in mobile computing. These challenges are dynamic and primarily arise from the evolving nature of the mobile marketplace. Corporations must deal with a variety of device types, selecting an application model, understanding connectivity options, and integration with multifarious enterprise systems. Each of these challenges is discussed in more detail below.

Multiple device types

Most corporations utilize a wide variety of mobile devices. The most overlooked, but the most utilized is the laptop. Laptop computers are carried by a high percentage of corporate employees. According to Gartner Group, "By form factor across all vertical markets, mobile PCs were the bright spot, outpacing deskbased PCs. In addition to continuing system price declines, marketing efforts such as Intel's Centrino's launch will draw more attention to the value in mobile PCs. Gartner Dataquest expects that mobile PC growth will continue to exceed the growth of deskbased PC throughout the year." (1)

Laptops provide enough power to support almost any application you want to run, with the added benefit of being the standard platform for almost all application development. Sales personnel, field-service employees, and other mobile employees can all benefit from mobile versions of laptop applications. The Microsoft Tablet PC extends the benefits of the laptop (large screen, robust development tools, large data capacity) to mobile workers by enabling pen input. Certain classes of mobile workers can now realize more benefits with Tablet PC devices vs. their laptop counterparts.

The past few years have seen a significant increase in the deployment of handheld devices within corporations. These devices are used for a variety of reasons including email & PIM access and mobile applications. The form factor of these devices makes them ideal for certain tasks where a laptop may be ineffective. Whether or not you have Palm OS-based devices, Microsoft Pocket PC devices, or a combination of the two, your organization can realize additional benefits from mobilizing applications to these devices.

Other devices are also becoming more important. Phone-centric devices including those based on Palm OS, Pocket PC Phone Edition, Symbian OS or Smartphone are enjoying widespread adoption within corporations. These converged devices are especially convenient for mobile workers for whom size/weight are an issue and whose applications work with a constrained form factor.

Devices will continue to evolve to provide better services to mobile users. Operating systems, development tools, and application frameworks vary drastically from device to device. To enable the right applications on the right devices, a mobile application platform needs to support not only the devices that exist today, but be committed to support the forthcoming generation of mobile computers.

Application Models

Mobile applications fall into two basic models. On-line applications act as a mobile terminal. A server on the network provides all application logic and data access. The device primarily provides rendering of data stored in a server. Exclusively on-line applications assume a reliable, and sufficiently fast connection. If a network connection is unavailable, then the application is unusable because they don't allow for any data to be stored locally on the mobile device. The mobile experience totally hinges on network performance and available bandwidth. During a discussion on the impact of mobility on enterprise architectures, Gartner comments, "The architecture assumes that the connection is equivalent to the office LAN - unfortunately, just a little slower. In practice, response times may make client/server applications unusable..." (2)

Off-line applications maintain a local copy of application logic and data on the device. When an application needs data, it queries the local copy of data instead of requesting it from the server. The device data store is updated with any changes during the synchronization sessions when connectivity is available. Off-line applications can operate independent of the network connection and only use bandwidth during sync sessions. Synchronized applications offer the following benefits over on-line apps:

There are benefits and costs to each application model. In many scenarios, an application can utilize both mechanisms to satisfy user requirements. Certain subsets of data may need to be accessed while on-line, whereas other data can be stored locally so it can be accessed at any time. Using the right tool for the right set of data will result in the successful deployment of your mobile application. Again, according to Gartner Group, "The convergence of synchronization and real-time mechanisms is crucial in accommodating varying bandwidth and connection scenarios, and in graceful switching between modes of operation." (3)

Connectivity Options

As with mobile devices themselves, the technologies used to connect to the enterprise infrastructure vary dramatically. Mobile devices can connect via LANs, modem dial-up, USB cradles, or wireless WAN networks. The connectivity you choose is dependent on the application requirements, cost, and availability of networks where your mobile users need to synchronize. Some applications require frequent access to the organization's centralized data, whereas other mobile users may need to synchronize just once a day.

Determining which connectivity to support for your mobile users can be determined by looking at your application requirements. LAN connections (including 802.11x) are suitable for mobile workers that work within a constrained environment (such as in a warehouse or within an office building). Modem dial-up is relevant for users who have limited wireless connectivity options and is also reasonably priced. Cradle sync, the most cost effective of all the options, works well for field personnel that just need to synchronize at the beginning and end of shifts.

The last remaining connectivity option is wireless WAN access. Wireless access is a critical requirement for certain types of applications, but is not without deployment complexity. The current wireless landscape is marked by competing standards, network latency and relatively slow connection speeds. It is unclear how long this will be a temporary situation.

Connectivity options and decisions affect how your mobile applications are designed. As discussed above, the application model (on-line, off-line, or hybrid) will be a critical factor in selecting your connectivity. Regardless of which option provides the best solution for your needs, a mobile application platform needs to support all different network connectivity that you may select.

Enterprise System Integration

Mobile applications can make the gamut of mobile workers more productive. A variety of existing or new applications can be deployed to introduce efficiencies into execution of their jobs. Most organizations have a wide assortment of back-end systems. Even those corporations that have standardized on a single application vendor for managing customer, sales, or service data often use additional applications that help make their specific operations more efficient.

The result of these decisions is a variety of enterprise systems. You may have an SFA (sales force automation) application, a custom delivery tracking app, and a legacy inventory tracking system. Your different systems may leverage application servers, relational databases, web services, mainframes, or other custom systems. To extend data from these various systems out to the field, you need a platform that is flexible enough to plug into any arbitrary back-end system.

Overcoming the Challenges

When deploying enterprise data to your mobile devices, the above issues and challenges must to be addressed. Successful deployments take into account all of these attributes of mobile environments within the constraints of your application requirements. Using a data synchronization platform to simplify the development and deployment of mobile applications results in a rapid deployment of your critical business applications out to your field employees.

Following are some real-world examples of corporations that have utilized this technology to empower their employees and make them more efficient.

A Large Pharmaceutical Company

Business Problem:

The 10,000+ member sales team requires access to a variety of tools that support their core efforts in the field including the ability to order literature and promotional items, to track marketing event budgets and the status of scheduled events. Reps need access to product information, policy and procedure manuals, and scheduling tools that are critical at product launch time. The company required the tools to work offline for use in front of a client away from phone lines or wireless connections.

Technical Constraints:

The information technology group had already committed to database platforms and application architectures. The applications were being developed as JSP-based web apps using Microsoft's IIS web server and Tomcat. The sales team's laptops were already installed with a client database and the IT organization was using a standardized server RDBMS. The data sync platform had to work with the environment they had already devised and in place.

Technical Solution:

The company extended the sales tools out to the mobile users' laptops using the offline method. By integrating at the data layer, the IT organization was easily able to deploy their web application infrastructure directly to the laptops without having to rewrite their applications for the off-line case. This allows the mobile sales reps to use the same application whether they are disconnected or on-line.

Business Benefits:

Before deploying the synchronized versions of their applications, the sales reps were only able to access their sales data when they were connected to the headquarters back office systems. Given the value that they've recognized with the initial mobile applications, they've continued to expand the number of apps deployed on the data sync platform. Today, these applications make up a constantly evolving collection of sales tools and currently represent 14 applications in all. Building a typical new application and deploying it to 10,000+ users could previously take in excess of 12 months and cost upwards of $1,500,000. Developing similar functionality to extend the web-based application was completed in less than three months at a cost of only $200,000. A large part of the savings is driven by the ease with which application and information updates are deployed. Instead of sending out CDs or recalling laptops, updates take place effortlessly via rapid sync sessions.

Tulsa Dental

Business Problem:

A major supplier of equipment used in endodontics, or root canal work, Tulsa Dental's sales force relied on a combination of paper forms, fax machines, and phone calls for relaying sales orders from the field to employees at the company's headquarters. The workflow process was slow and cumbersome not to mention error-prone due to manual re-keying.

Technical Constraints:

Tulsa Dental wanted to use PocketPC-based handheld devices to improve the collection of data management to their enterprise. The enterprise systems include a variety of servers that all need to synchronize with a single application database on the client.

Technical Solution:

A challenge was providing the sales force with ample data about their customers' order histories, company products information, as well as a streamlined way of entering orders from customer sites or the sales rep's office at the end of the day. Tulsa Dental deployed a mobile SFA application running on SQL Server for CE on Pocket PCs that synchronizes its data to SQL Server databases.

Business Benefits:

Their solution gives Tulsa Dental representatives quick access to a vast array of information. For example, a sales rep can easily check on a dentist's order history just before walking into his or her office in order to fine-tune product recommendations or suggest continuing education courses. They can also enter orders in front of the dentist ensuring that order details and line items are correct; reducing costs associated with data entry errors.

A Leading Office Supply Company

Business Problem:

The organization needed to conduct physical inventory on over 40,000 leased IT assets at over 600 locations across North America. The defined manual process was determined costly and would not allow the company to complete its contractual obligations due to its time consuming and error prone nature. The company wanted the users to have the flexibility to work in any region and to determine the data load based on region without any server side or administrative assistance.

Technical Constraints:

The assets were all to be managed using barcode identifiers. The field service personnel were to use Symbol Pocket PC handheld devices to scan and locate assets at customer installations. The data on a handheld device needed to be dynamic enough to handle switching territories and seeing the appropriate devices in those territories.

Technical Solution:

An asset tracking application was constructed for the Pocket PC. The data was stored locally in a SQL Server for CE database on the device. Data from all users is synchronized to a central SQL Server database. Changes in users' territories automatically results in the proper data being sent to the device during the next sync session.

Business Benefits:

Using the new PocketPC-based application, the company is now able to better track inventory across the country. By bar-coding the individual assets, they know availability of assets and can provide more intelligent allocation of items to their customers.

Integrating a Mobile Platform for your Applications

A data synchronization platform addresses the challenges inherent in almost all mobile deployments. Using a data sync platform enables your organization to focus on creating applications with real, tangible business benefits instead of focusing on the technical issues involved with mobile devices. A data sync solution needs to integrate itself into your IT investments and leverage the existing technologies you have in place to drive to the ultimate business goal: ensuring the right information is in the right hands at the right time.

Implementing a data sync solution

Data synchronization provides essential features that apply to all mobile applications, regardless of how they are constructed. These attributes ensure that your mobile data and your enterprise data remain consistent even in disconnected environments. The following are the critical technical components that should be reviewed by your solution architects to ensure a successful mobile application deployment through data synchronization.

Data Sync Platforms vs. Replication Solutions

Many providers of enterprise databases or groupware servers provide basic replication services. There are many benefits to using a comprehensive data sync platform versus utilizing built-in replication capabilities. Data sync products generally focus on efficiently solving the occasionally connected device problem, whereas replication technology is responsible for keeping servers synchronized as well as disconnected nodes. By focusing on the mobile synchronization scenario, a data sync product can provide a more efficient synchronization solution that plugs into a variety of heterogeneous enterprise systems.

Change Capture

Change capture is essential to an effective mobile application. Given the tenuous nature of many connections available to mobile devices, minimal data needs to be transferred between devices and servers during sync sessions. By implementing change capture within the data store itself on both the mobile device and the server database, the data sync engine can intelligently determine what data needs to be delivered. During normal synchronization sessions, only the changes are delivered between the device and server.

Vertical/Horizontal Partitioning of Data

Data partitioning allows you to subset data delivered to your mobile users. In almost all mobile applications, the data that a user needs to see is not the same as the other users data. Partitioning provides several benefits. By reducing the amount of data a user can access you enable:

By using partitioning to determine what sets of data are synchronized with each mobile user, your mobile users will experience a high performance mobile application.

Secure Data Exchange

Security is important in almost all applications, but becomes critical when the application data is hosted on a mobile device. User authentication and encryption during communication sessions makes sure that only the intended user can synchronized your enterprise data. Support of encryption at the database level guarantees that data is secure on the device even if it is lost or stolen.

Data Recovery

Mobile environments are particularly sensitive to loss; devices can be stolen or irreparably damaged. Just as catastrophic to a mobile user is a corrupted data store on the mobile device. How do you resolve these issues for your mobile users? Complete sets of data can be quickly generated for users and applied against a new device, or can be delivered to a device to replace its existing data store. In either scenario, the mobile user can quickly be back in the field performing their job function with their mobile applications.

Integrating Data Sync with Web-Based Applications

There are two major architectures used in most organizations today. Web-based applications (or other n-tier frameworks) are becoming more and more common. Many enterprises have adopted application servers as a standard mechanism to build and execute their line of business applications.

Whether your company uses J2EE application servers (including Tomcat, WebLogic, WebSphere, Oracle Application Server, etc...), develops on Microsoft's .NET application server, or uses a custom application server platform, the technical issues involved with migrating your applications to your mobile devices are similar.

The following diagrams show the components involved in mobilizing your web-based applications on both laptop/TabletPC devices and other mobile devices.

Mobilizing Web Based Applications

Device Web Browser

The device web browser provides a user interface for the mobile application. It displays HTML or XML documents generated by the local device web server. By using the same browser standards as those available for connected LAN users, your mobile population can share a common experience with their connected counterparts.

Device Web Server

The device web server (and its associated scripts and configuration) host the application logic that generates the HTML/XML documents displayed in the device web browser. Data retrieval and modification go through the web server and are processed against the device database.

Device Database

The device database provides a persistent store of application data on mobile devices. By accessing a local copy of data instead of relying on the network to provide access to data, users can utilize their application wherever they are. Changes in the device database are captured automatically so the data sync client can manage them.

Data Sync Client

The Data Sync client is responsible for keeping the device database consistent with the server data store. During synchronization sessions, changes made since the last connection are sent to the server. Likewise, changes made on the server and other mobile users, are processed against the client database. The data sync client also handles efficient and secure transportation of changes with the server.

Data Sync Server

The Data Sync server is a scalable, high performance engine that manages synchronization sessions with all mobile devices. During a user's session, the Data Sync server runs any synchronization logic required to process changes from the user and to determine which changes should be delivered to the mobile device.

Server App Connector

The server app connector implements the logic that processes changes from the device database against an application server. The App Connector communicates between the Data Sync Server APIs and the Application Server APIs (J2EE, .NET, etc…) providing a seamless integration with your enterprise systems

.

Server ODBC Connector

For data sync scenarios that don't require that changes be processed through an application server, the ODBC Connector automatically applies changes made on a device against a server database. Using the ODBC Connector enables quick deployment of existing relational data out to your mobile devices.

Web Server

If the server app connector communicates via HTTP with your application server environment then it'll access the application logic via a web server. This component may not be necessary in every implementation.

Application Server

The application server provides the execution environment for all of your application logic. It encapsulates access to the back-end database and provides a collection of interfaces that are used by your application GUI to read/write changes to your database.

Server Database

The server database stores the central copy of all the mobile users' data. Changes made against this database are logged for delivery to the mobile users during the next synchronization session. Data, though often stored in relational databases, can ultimately be stored in any format.

Integrating Data Sync with Web-based Client-Server Applications

Web-based applications are an important part of a corporation's application suite, but many applications are still based on a client-server model. Applications written using VB, VB.Net, C#, VC++, etc… are usually thick client, or 2-tier applications. Corporations need to mobilize these applications along side their web-based counterparts discussed in the previous section.

The following figure displays the components involved in synchronizing a 2-tier mobile application.

2 tier mobile application synchronization diagram

Device Application

The device application provides a user interface for the mobile application. Thick clients generally provide a richer interface than do thin client (web-based) applications. The device application is responsible for reading/updating data in the device database.

Following are important elements for this architecture environment which are described in detail above:

Selecting a Data Sync Solution

Mobilizing your applications is essential to optimizing your field employee productivity. Selecting the right data sync platform is central to the success of your mobile application deployments. How should you select a data sync solution? There are certain criteria that should be evaluated to determine the right sync platform for your mobile environment.

When evaluating vendors, it is important to select an organization with demonstrated experience in both the handheld and mobile PC environment. A data sync product enables a successful mobile application deployment when it addresses the concerns including:

Your data sync solution should address all of these concerns. Following is a breakdown of the feature set that resolves these issues and makes your mobile deployment a success.

Configuring and Managing Enterprise Data

How the data sync product is configured and managed is very important. Defining data segmentation, for example, can be very complex given the nature of the data relationships in the database tables. Providing a powerful set of tools to manage your data in the sync platform enables you to deploy your mobile applications quickly.

Rules-Based Data Sharing

Allocating data among users streamlines data flows and minimizes synchronization times through delivering only the most relevant information based on user and group profiling. A rules-based synchronization solution ensures your mobile users receive only data that is relevant to them and yields the following benefits:

Parameterized Rules

Once consensus is reached regarding data segmentation rules, administrators should be able to use parameterized rules to implement the distribution and partitioning logic. This feature eliminates the requirement to build and maintain rules for each unique user. Instead you can create flexible data driven rules to model the segmentation, allowing simple changes to the database to ripple throughout the systems without requiring coding effort.

Dynamic Business Rule Sharing

Your synchronization solution should support a dynamic business environment. People shift responsibilities, new employees are hired, and new products are released. These daily business changes shouldn't require additional administration of your synchronization technology. Data-driven sharing automatically distributes information to your users based on data relationships in the database - all without the administrator having to update the sharing rules.

Graphical Rules Generator

Providing administrators with a graphical user interface to control the creation and maintenance of data segmentation rules ensures that even the most complex of distribution rules is easy to create and maintain. A graphical rules generator guards your business logic and eliminates complex coding.

Automated Data Realignments

In situations where users' data changes due to changes to the database, this feature triggers automatic realignment of localized data sets. For example, when a sales organization restructures, account managers automatically get account information for customers in their new regions without any administrator intervention.

Conflict Detection

The very reason synchronization exists is to govern information flow and protect data integrity as it flows between multiple users. But what happens when user A and user B update the same record in a database with conflicting data? Your data synchronization solution should include out-of-the-box support for detecting and resolving conflicts in a standard fashion some typical schemes for conflict resolution include:

It's important that your solution is flexible enough to allow you to define and resolve conflicts, not just detect them. Such a feature protects business logic and works within the context of your application rules. Data synchronization solutions featuring an API for the development of more advanced detection mechanisms for shifting business needs should be considered premiere solutions. Some custom conflict resolutions schemes might be:

Multiple Conflict Resolution Mechanisms

Detection is only half of the conflict management component of your data synchronization solution. A complete suite of conflict resolution tools should accompany your solution and allow for comprehensive transaction management:

Multi-Level Mapping

Often times your server database may have a different schema than your user's device database -- especially on handheld clients. Your synchronization solution should support mapping to eliminate dissemination of unneeded columns or tables and data distribution to a database with schema differences.

Data Refresh

When new users are added or existing users add new devices, it is important that the initial experience be as painless as possible. Full data refresh can be used by an administrator to provide a complete set of data to initialize devices or repair corrupted databases or devices.

Reducing synchronization times and scaling for large deployments

Performance is important in selecting a data sync product. The performance of the installation is visible to the end-user because it impacts how long they need to stay connected during sync sessions. The longer the user stays connected the less likely they are to sync often, thereby reducing the value of synchronization to the organization. Your sync solution should be architected to minimize connection times while at the same time enable you to scale up to manage large deployments.

Field-Level Synchronization

Field-level synchronization ensures that only field-level data changes are transmitted during synchronization sessions; a feature that results in dramatically reduced communication costs and transaction overhead. Synchronization session times are minimized and needless data collisions are avoided, while multiple users can simultaneously update records as data is only locked at the field level.

Store-and-Forward Architecture

The data synchronization solution you choose should feature a store-and-forward architecture. Store-and-forward environments zealously guard enterprise resources by minimizing connection times. Changes are accumulated, both on the client and server, with the connection time extending only as long as required to exchange compressed data files.

Offline Synchronization

Once the staged change files are passed from server to client, and vice versa, the connection to the server is closed. Only after the connection to the server is terminated are the change files actually applied. This contrasts with architectures that feature online synchronization where changes are applied during the connection session. The result is longer communication sessions and increases the likelihood of concurrent synchronization sessions, which dramatically reduces server performance and increases the likelihood of user abandonment.

Data Compression

Data compression minimizes the bandwidth required to deliver changes between the client and server. Compression has a substantial impact on performance on an offline synchronization model because it reduces amount of data that is transferred.

Clustered Server Architecture

A clustered server architecture ensures scalability as the number of users or amount of data transferred grows. Server performance monitoring tools should be available so that new hardware can be added when appropriate.

Dynamic Load-Balancing

Dynamic load balancing allows the system architecture to be more reliable and flexible, by assigning specific users to specific servers only at the time of connection. Servers request workloads instead of operating against a pre-defined set. Thus if a particular server is not performing at optimal levels, the transactions are dynamically transferred to servers with smaller workloads. Dynamic load-balancing reduces the stress on enterprise servers and aggregates available computing power for premier performance.

Server Failover and Recovery

Server failover and recovery is the ability to elegantly allocate users to different servers in the event of server failure - a significant extension of the above architecture characteristics. Not only will users be dynamically allocated to the appropriate server according to workloads, if that server fails at any point during synchronization, the processing and communications will instantly shift to another server. The failed transaction is recovered and applied correctly by the new server. Failover and recovery ensure users can always sync, as there is always a server available to handle their sync session. Server failures are accommodated and transparently managed so the end user is unaware of any problems.

Integrating Data Sync into Infrastructure

Given the variety of information systems within an enterprise it is important that a data sync product integrate easily into your mobile applications. A data sync solution should not require that you make substantial modifications to your database or application to integrate mobile capabilities.

Multiple Database Support

Progressive solutions accommodate disparate client and server databases to allow the enterprise to leverage the most appropriate technologies for devices and applications alike. Selecting such a solution will protect your investment by allowing you to choose the devices or applications that are best for your project, not best for the vendor or restrictions of your platform.

It is important that your data synchronization solution features out-of-the-box support for a variety of industry standard server databases including:

The solution should also support client side databases including:

Database Schema Protection

Data synchronization should be non-intrusive to existing enterprise applications and databases. Existing tables and the synchronization mechanism should not affect the applications' access to the database.

Flexible Change Capture

Flexible change capture at the server allows mobile users to have access to updated enterprise data regardless of the source of modification including centralized batched processes, LAN connected user updates, and legacy systems. The benefit is that enterprise users, whether mobile or LAN-based, all share access to the same updated information. Many synchronization solutions available today rely on change flags or shadow-tables which require changes to database schema. A robust synchronization product will provide a complete change capture implementation for supported platforms, and will not impose on the system administrator to come up with an efficient solution.

Your data synchronization solution should feature a variety of change capture mechanisms including:

Transaction Integrity Support

A robust synchronization mechanism should maintain transactional integrity when data is synchronized between servers and mobile devices. Transaction boundaries are used to guarantee that logical groups of data are processed against a database consistently. These same logical boundaries need to be maintained when the data is synchronized with other devices.

Light-Client API

A synchronization solution should have minimal impact on your mobile application. The synchronization technology should be self-contained and not require complex interaction from the client application. Look for a solution that provides a simple and standard component mechanism that allows you to request that a synchronization session occur, and everything is handled appropriately from there.

Open Application Development Support

In creating applications, your software development process should not be taxed with accommodating a synchronization platform. Your data synchronization solution should be independent of, and agnostic to, your application development environment. You should be able to develop your application with any tool that supports your target device. Common platforms that should be supported include Microsoft .NET, VB, VC++, Delphi, Java, CodeWarrior, AppForge, and Satellite Forms.

Managing the solution after deployment

Mobile applications have historically been difficult to manage. The mobile devices are in the field and unavailable to a corporation's IT administration. It is essential that the data sync product provide tools that allow administrators to effectively troubleshoot and resolve problems in a disconnected environment.

Remote Administration

Remote administration lets administrators manage the system while not physically located at the server. As server hardware may be located in centralized data centers, remote administration allows administrators to observe server activity from their workstations.

Comprehensive Logging Detail

Merely logging user connections and disconnections robs administrators of advanced troubleshooting and supporting functions. Detailed logging features let administrators monitor the following:

Flexible Log Viewing

Logs should be constructed in a hierarchical manner, with a variety of views and drill down capabilities for optimized troubleshooting. Logs should showcase both aggregate trends and granular data that should be viewable and sortable by:

Real-Time Logs

Logging should be viewable in a real-time format to facilitate rapid response times. Typically this is used to monitor system-wide performance and investigate aggregate level, multi-user problems. Beware solutions that offer limited reporting based on static points in time, as these make it more difficult to confirm and correct system-wide issues leading to unnecessary down time and increased support calls.

Console-Based Log Views

Console-based log views are preferred to predefined report generation. The console approach makes viewing logs an integral part of defining system behavior and managing users, simplifying the process. Console-based log views also allow rapid drill down into specific log data to support troubleshooting.

Alert Conditions

The solution you select should provide a menu of alert conditions to notify administrators of typical system problems. Though your solution should provide myriad options for alerts, the most common reasons administrators wish to be notified include:

Alert Methods

It is important that your solution supports a variety of alert methods that are most convenient given the way you work. You do not want to have to adopt an additional communications device to receive alerts from your data synchronization solution. A quality solution should support:

Securing your data

Security is important in all applications, but becomes more important when applications are used in the field. A data sync product should support a wide variety of authentication and encryption standards to integrate easily into your existing infrastructure.

Encryption

The very notion of a mobile workforce can strike fear into the hearts of IT staff charged with protecting network integrity. The solution you choose should incorporate industry standard security techniques to encrypt the connection between devices and servers. Support for AES, Triple DES, and or SSL should be present and changeable. Session based keys should be used with any encryption method and a secure public key/private key exchange such as Diffie-Hellman should be employed to ensure communications integrity.

Encryption Toggling

Depending on the circumstances, encrypting data flow may or may not be critical. When connected to the LAN inside the office, protected by the company firewall, encryption may not be as essential. Or certain user groups may deal with less sensitive information that does not require encryption - thus speeding their communications sessions. Providing toggle options for administrators ensures the network is secure and minimizes performance impacts.

Multiple Authentication modes

Any solution should support all of your current and future authentication modes. End users should be able authenticate to the server using existing NT, LDAP, AD, or Domino user IDs and passwords. Adding new user or devices should require no additional IT intervention.

Secure Network Deployment

Any solution that you deploy should fit within your current network security infrastructure. A solution that work the DMZ and abides by all the rules that are set forth in your network security plan should be paid close attention.

A Single Component of a Complete Mobile Infrastructure

An application data synchronization solution is an important step in building a total mobile strategy. Ideally, your solution should be part of a large and more comprehensive mobile infrastructure. Typically, organizations start with email and work their way up the value curve:

Mobile Value Curve

In addition to data sync noted above, other components of a comprehensive mobile infrastructure solution include:

By selecting an integrated and fully-functional mobile infrastructure solution, you can start where your company will realize the most benefit and rapidly deploy new mobile solutions while minimizing support staff training and minimizing the total cost of mobile devices. As you approach your mobile initiative, make sure to consult with Synchrologic about streamlining your deployment and ensuring user satisfaction.

About Synchrologic

Synchrologic's mobile infrastructure software solutions create competitive advantage by increasing mobile worker productivity and decreasing cost of ownership of mobile devices. Synchrologic Mobile Suite mobilizes enterprise email and applications, automates the delivery of documents and Web sites, and provides mobile systems management tools - for laptops, tablets, handhelds, and smart phones.

With Synchrologic, mobile device users have access to the information they need - wherever and whenever they need it. System administrators benefit from a central administrative console for securely managing mobile devices and the information they receive. Synchrologic Mobile Suite provides uniquely comprehensive capabilities to help organizations achieve success.

Synchrologic's unparalleled award winning technology is the result of 8 years' experience supporting mobile and wireless initiatives for world-class corporations, OEM customers and partners including 3M, Accenture, Citicorp, Domino's, Ecolab, Hertz, Nintendo, Microsoft, NEC, Pfizer, T-Mobile and Verizon. The company is privately held with headquarters in Atlanta, Georgia, and European offices in London and Milan.

For additional information, contact Synchrologic at:


synchrologic.com

World Headquarters
1- (7962)
1-

Europe, Middle East, Africa
+

End Notes

  1. Preliminary 1Q03 PC Results: Slightly Better Than Expected, 17 April 2003, Charles Smulders, et al , Gartner
  2. The Impact of Mobility on Enterprise Architectures 19 July 2002 Simon Hayward, Gartner
  3. Gartner's Adaptive Application Architecture 19 July 2002 Simon Hayward, Gartner