Table of Contents

Published By

Table of Contents

Introduction

Why Synchronization?

Comprehensive Selection Criteria

One Component Of A Complete Mobile Infrastructure

About Synchrologic

End Notes

Published By

Corporate Headquarters
Synchrologic, Inc.


Alpharetta, GA 30022

Phone: +1 888 345 SYNC

Copyright © 2001 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.
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 servicemark.

Mobilizing Enterprise Applications with Data Synchronization

Selection criteria for synchronization and replication technology for enterprise applications, laptops and handhelds

Introduction

In "Synchronizing Handhelds with Exchange and Notes Servers" Synchrologic provided a roadmap for the enterprise looking to deploy Email and Personal Information Management (PIM) applications to handheld devices. Part two of our series on Selection Criteria for Enterprise Mobile Infrastructure discusses the critical data synchronization component needed to power enterprise applications.

Application mobilization is becoming increasingly visible in virtually all industries. This interest has fueled explosive growth in the mobile device market -- despite the recent slowdown in the tech sector of the worldwide economy. According to Gartner Group, "the worldwide mobile PC market grew by 32.7 percent in the third quarter of 2000 compared with the third quarter of 1999." (1)

Add handhelds into the equation and today's enterprise is faced with a virtual flood of mobile devices. Meta Group has predicted that, "by 2004, each corporate knowledge worker will have three to four different computing and information access devices that will be used to access various applications." (2)

When mobilizing applications the enterprise must answer several questions. Which devices support existing business practices? How will those devices connect to the network? How much functionality will reside on the devices? And how will the information on those devices be in sync with server information?

This whitepaper answers the last question - too often the most overlooked component of going mobile.

Why Synchronization?

In mobilizing enterprise applications, one of the most important questions your corporation must answer is the question of the type of architecture that will allow mobile users to connect to corporate servers. There are two options to consider here, synchronization and real-time access.

Real-Time Access

In real-time environments users are perpetually connected to corporate servers and applications. Mobile devices are essentially terminals -- storing no data or applications locally. Data is viewed as it is entered, with the mobile experience hinging on network performance and available bandwidth.

This environment, well-suited for LAN-connected users, faces challenges in the reality of wireless instability. Occasional interruptions in network availability can be devastating to mobile users whose devices store no data or applications locally. Mobile users are at the mercy of the connection availability, unable to compensate for lapses in coverage.

Synchronization

In synchronization, or store-and-forward environments, users work with data and applications replicated from corporate servers. Some data and application components are stored on mobile devices allowing mobile users to work effectively regardless of network status or available bandwidth. Data is updated locally and at the server only through synchronization sessions.

In a wired or wireless world, synchronization offers the following benefits over real-time, always-connected environments:

What About Wireless?

The current wireless landscape is marked by competing standards and relatively slow connection speeds. But this situation is only temporary. As wireless protocols mature, the lines between real-time and store-and-forward architectures will begin to blur, and organizations will deploy both options in a complementary fashion. 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)

The current state of wireless technology, coupled with the inconvenience of staying perpetually connected via wireline, has created the reality of the occasionally connected user. Synchronization is the best way to accommodate occasionally connected users. For a more in-depth discussion on wireless technologies, see Synchrologic's whitepaper entitled "CIO Outlook 2001: Architecting Mobility."

Comprehensive Selection Criteria

Data synchronization is a deceptively complex technology. When evaluating vendors, it is important to select an organization with demonstrated experience in both the handheld and mobile PC environment.

Evaluating vendors based on the selection criteria that follows will ensure your project stays on track, protecting you from a variety of potential issues:

Don't settle on a vendor who cannot adequately address the aforementioned scenarios. Demand a robust synchronization platform that offers all of the features described below.

  1. Multiple Device Support

    Because most organizations are tasked with supporting multiple devices, your solution should be device flexible, supporting a range of mobile hardware including:

    If the vendor does not support all of the devices today, they should have the stated intention of supplying as comprehensive solution as additional devices as they become widespread.

  2. 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 sides, with the connection time extending only as long as required to exchange compressed data files.

  3. 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. Alternative architectures feature online synchronization where changes are applied during the connection session -- resulting in longer, more costly communication sessions while increasing the likelihood of concurrent synchronization sessions -- dramatically reducing server performance.

  4. Clustered Server Architecture

    A clustered server architecture ensures scalability as the number of users or amount of data transferred grows. Server performance can be continually monitored and new hardware added where appropriate.

  5. 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.

  6. 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.

  7. Multiple Database Support

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

    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 not forcing you to choose devices or applications based on the restrictions of your platform.

  8. Automated Data Type Conversion

    In addition to supporting multiple client and server databases, your synchronization solution should include the ability to convert data types. This feature enables the synchronization engine to modify data to fit the server or client database requirements. This feature is vital in organizations employing multiple database types. Typical data type conversions include:

  9. 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 VB, VC++ for CE and PCs, Delphi, Java, CodeWarrior for Palm, AppForge, and Satellite Forms.

  10. 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.

  11. 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. Your data synchronization solution should feature a variety of change capture mechanisms including:

    Some synchronization solutions support a variety of database vendors by requiring the integrator to supply change capture and scripts for the target platform. Synchrologic supported platforms include all script and change capture mechanisms required for that platform.

  12. 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.

  13. 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.

  14. 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 conflicts according to your business logic:

    It's important that your solution is flexible enough to allow you to define 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.

  15. 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 data synchronization solution and allow for comprehensive transaction management:

  16. Data Distribution Rules

    Administrators should be able to graphically partition data and allocate information to users and user groups based on need. This feature enables administrators to ensure communication costs are minimized by replicating only necessary data to subscribers.

  17. 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.

  18. Multi-Level Mapping

    Often times your server database may have a different schema than your client device's database -- especially on your 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.

  19. 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:

  20. 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.

  21. Data-Driven Data Sharing

    Your synchronization solution should support a dynamic business environment. People shift responsibilities, new employees are hired, 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.

  22. Localized Function Trapping

    User-created SQL functions (MAX, MIN, COUNT, AVG) generate values for localized data stores, useful tools for customized data configurations. Be sure to select a synchronization solution that traps these functions at a local level so that only the value is synchronized with the server. Solutions without this feature return actual functions to server databases, a practice which jeopardizes data integrity.

  23. 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:

  24. 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:

  25. MMC Administration

    Administering a data synchronization technology shouldn't require you to learn how to use a whole new set of tools. Your synchronization solution should utilize management standards to make administration more intuitive. Solutions that feature a Microsoft Management Console plug-in allow administrators to manage the core server attributes, the synchronization server software, and other common applications from the same admin console. In addition, it ensures a consistent and familiar look and feel to management tools.

  26. 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.

  27. Log Data Stored in Server Database

    In addition to controlling the synchronization process, a sophisticated data synchronization solution lets administrators track a variety of user behaviors and captures this in a server database. Storing log data in a server database enables hierarchical tree views of log data. It also allows administrators to define custom reports using their preferred reporting tool.

  28. 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:

  29. 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:

  30. 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.

  31. 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.

  32. User Disablement

    Administrators should be able to "turn off" a specific user, user group, or device. For example this would be useful in the event a specific division is sold to another company rendering access inappropriate. Or when a user loses a device and wants to make sure that no unauthorized persons are able to sync with company servers.

  33. 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. Certicom's Elliptic Curve CryptographyTM is an excellent tool to protect data during communications with certain handhelds, while SSL works best for others and for PCs.

  34. 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.

  35. Open APIs for Additional Security Measures

    Open APIs should be available to enable more advanced security features if desired. Direct integration of other security related products and processes is made available via published APIs to ensure maximum flexibility for this sensitive topic.

  36. Pre and Post-Processing

    A pre and post-processing component allows administrators to define custom SQL functions to run on mobile devices both before and after data is synchronized. This feature results in minimized synchronization sessions and supports the ability to drop and rebuild indexes or create new tables on devices.

  37. Automated Data Realignments

    In situations where users' data view 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.

  38. Data Refresh

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

  39. Flexible Transport Layer

    Your data synchronization solution requires a transport layer to transfer change files to and from application servers. A mature data synchronization solution should not tie you to a specific transport mechanism and should support communicating with any device via a transport optimized for that device.

  40. Multiple Connection Modes

    As today's mobile worker logs more and more time away from office LAN connections, multiple device connection modes should be included in your enterprise sync solution, including:

  41. NT Authentication

    End users can authenticate to the server using existing NT user IDs and passwords. Adding new devices requires no additional IT intervention. NT authentication eliminates requiring users to remember multiple passwords and prevents administrators from managing multiple password and username lists.

  42. 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.

One 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 (see diagram below).

In addition to Application Data Synchronization, components of a comprehensive mobile infrastructure solution include:

By selecting an integrated and fully-functional mobile infrastructure solution, you will minimize the total cost of ownership of mobile device. Other benefits include:

As you approach your mobile initiative, make sure to consult with Synchrologic about how to streamline your deployment and ensure satisfied users - on time and within budget. We've been helping leading corporations with mission-critical mobile initiatives for over five years.

About Synchrologic

Synchrologic creates software solutions that give mobile workforces access to the information they need, wherever, whenever, and however they need it. By delivering the most powerful enterprise mobile and wireless infrastructure software available, Synchrologic's comprehensive product suite supports all aspects of mobile computing while lowering the total cost of implementing, managing, and supporting enterprise mobile initiatives.

The company's infrastructure solution hides the complexity inherent in supporting a mobile network. It features all the tools necessary to architect and implement a mobile strategy - including Email and PIM synchronization; asset management; software distribution; data synchronization; file distribution; intranet publishing; and third party content aggregation. Synchrologic solutions are uniquely flexible in allowing pervasive access to vital business information from any device, for any application, over any connection - wireline or wireless.

Synchrologic offers an intuitive and user-friendly experience, robust administrative capabilities, open platform architecture, and the only comprehensive mobile infrastructure solution available for handhelds, laptops, and future devices. The company's product suite generates a variety of benefits including better information, increased user productivity, improved IT resource management, lowered cost of ownership, and reduced communication costs.

Synchrologic's unparalleled technology is the winning product of over five years' experience supporting mobile and wireless initiatives for over 150 world-class corporate and OEM customers including Citicorp, Cisco, Hertz, FedEx, 3M, JD Edwards, and Nintendo. The company is privately held with headquarters in Atlanta, Georgia.

For additional information, contact Synchrologic at:

Corporate:
+1 888 345 SYNC
+1

European Headquarters:
+

synchrologic.com

End Notes

  1. Gartner Group. Worldwide Mobile PC Market: Third Quarter 2000 in Review. 1/15/01

  2. META Group. Entering the Mobile Millenium. 2/14/2000

  3. Gartner Group. Toward the Supranet: An Adaptive Application Architecture. 10/30/00