2005: A Milestone for Enterprise Mobile Apps

Predictions of a strong boon in enterprise mobile have been made almost every year since the late 1990s. But this time, the stars are aligning to make 2005 the year of the mobile enterprise, says an exec with Sybase's iAnywhere Solutions. The key: A wave of mobile integration standards and technologies that bring low-cost, easy-to-deploy integration between enterprise software and smartphones, PDAs, tablets and other off-the-shelf mobile devices.

Tags: Mobile, Enterprise, Messaging, Database, Synchronization, Integration, Web Services,

Product Manager iAnywhere Solutions,
A Sybase Company
The integration of mobile applications into an enterprise's existing IT environment is growing in both importance and complexity.

This article explores the integration challenges companies face as they increasingly begin to deploy mobile line of business applications, as well as the characteristics of the most common methods considered for enterprise integration - database synchronization, enterprise messaging and Web Services.

The Mobile Integration Challenge
Integration is a critical element to delivering the true value of mobile enterprise applications, and mobile middleware are the key technologies making it possible. Enterprises both large and small are increasingly deploying mobile middleware.

IDC estimates the mobile middleware market will grow from $424.4M in 2003 to $1.3B by 2008. Half way between the years 2002-2008 and with only a market size of $548M in 2004, 2005 will be a "milestone" year for mobile enterprise integration.

Enterprises tend to "unwire" themselves through phases. The first wave tends to center around email and PIM access on mobile devices. After seeing the productivity advantages of mobile email, enterprises begin to look at line of business applications, usually with an emphasis on the sales force and field service departments. Companies can receive huge financial benefits by providing line of business applications to these groups.

After implementing mobile line of business applications, Jose Cuervo, the world's fourth largest distributor of alcoholic products, saw a 30% increase in sales with an easy-to-use, handheld application used to gather up-to-date inventory, sales and competitive information.

In another example, Britannia Airways estimates savings of £975,000 annually through a mobile application that enables over 2,000 crew members to access key enterprise systems before a flight, including email, flight crew rosters, health and safety information and a duty free point-of-sale application. Mobile middleware played a critical role in both solutions.

Getting email to and from a mobile device is relatively easy when compared to exchanging data between a mobile application and an enterprise's legacy systems. Using infrastructure that eases the challenges with enterprise integration can provide significant cost savings with mobile line of business projects.

Think "Data Management and
Data Integration" Together

How data is managed in a mobile application impacts not only ease of data access, security and reliability but it also determines how easily the application integrates with the enterprise. So, when considering how to manage data within a mobile application also consider how to exchange that data with the enterprise. For instance, if data is managed using files and the file system, then integrating with an enterprise database could prove very challenging.

There are three (3) interfaces that enterprise systems commonly expose in order to exchange data with mobile applications:
1. Database synchronization;
2. Enterprise messaging; and
3. Web Services

Let's consider the characteristics of database synchronization, enterprise messaging and Web Services within the context of mobile application integration.

First: Put some key considerations in your mind as we begin to examine these three (3) elements.

If you are an architect or developer within a large enterprise, consider what interfaces you need to integrate with today, as well as tomorrow, in order to ensure the longevity of the solution.

If you are a software vendor building a mobile solution, you should look for a data management and integration solution that supports all three interfaces, as well as multiple vendors for each (i.e. database synchronization to Oracle, DB2 and Microsoft SQL Server), in order to ensure that the mobile application can integrate with any prospective customer's systems.

Now, let's get to a detailed look at these 3 key enterprise-mobile integration techniques:

I.Database Synchronization
Mobile database synchronization technologies exchange data between one or more mobile databases and an enterprise database. The way a vendor implements its synchronization technology can have a significant impact on how well an implementation will scale, its support for low-bandwidth networks and its flexibility in supporting different integration scenarios. Developer, beware!

Database synchronization represents that fastest way of taking information from databases within the data center and placing it onto mobile devices, ensuring the "Investment" portion of the ROI equation remains low.

When to use synchronization
  • When both the mobile application uses a database and the enterprise system provides direct access to a database on the backend.

  • Key synchronization features to consider
    Look for mobile infrastructure that can:
  • Synchronize directly (no intermediary databases) with at least IBM DB2, Oracle, Microsoft SQL Server and Sybase databases on the backend, ensuring greater integration flexibility.
  • Minimize the amount of data transmitted by sending only the subset of required data by a specific mobile worker, sending only changes to data, and controlling when data is synchronized based on the type of network connection.
  • Detect synchronization conflicts and initiate customized software routines that resolve the data conflicts.
  • Communicate over any TCP/IP network, as well as HTTP and HTTPS protocols in case synchronization needs to occur through a firewall or a Web server. Synchronization over Palm HotSync and Microsoft ActiveSync is also crucial if the mobile device is a PDA.
  • Encrypt the data that is being synchronized using AES level encryption.

    II. Enterprise Messaging
    Enterprise messaging is a model used to asynchronously exchange data using "messages" between a disparate set of IT systems. Java Message Service (JMS), WebSphere MQ (MQSeries), Microsoft MQ (MSMQ) and TIBCO are examples of enterprise messaging technologies. Mobile messaging solutions exchange data with one or more of these enterprise messaging systems.

    While many organizations may allow data to be synchronized out of enterprise databases, many will not allow data to be synchronized into the enterprise database. Mobile messaging solutions are one of the few ways to move data back into enterprise systems in a secure, transactional way without having to change the architecture of enterprise systems. This is can be done by connecting the mobile messaging solutions to the systems that run the middleware business logic that is used to protect the enterprise database from direct access.

    When to use enterprise messaging
  • A mobile application needs to exchange with an enterprise messaging system.
  • A mobile application can synchronize data from an enterprise database, but data updates must pass through business logic running in an application server. Use enterprise messaging to send messages to the application server and database synchronization to download data to the mobile device.

  • Key mobile infrastructure features to consider
    Look for mobile infrastructure that, at a minimum, can:
  • Integrate with a different enterprise messaging systems, ensuring greater integration flexibility.
  • Guarantee messages will be delivered once, and only-once, even in the event of a system failure.
  • Control message delivery by organizing messages into transactional groups, and determine when messages are delivered based on the type of network connection.
  • Encrypt the data that is being delivered using AES level encryption.

    III. Web Services
    A Web Service provides a method for disparate software applications to interact and exchange data with each other. Each Web Service has an interface that is described using the Web Service Definition Language (WSDL).

    Other systems interact with the service over HTTP using Simple Object Access Protocol (SOAP) messages, which is an XML-based protocol. The bloated nature of XML encodings often make it less than ideal for wireless networks today, where there is a low bandwidth and where carriers often charge subscribers based on the number of bytes sent.

    When to use Web Services
  • When database synchronization and enterprise messaging are not an option.

    Key Web Services features to consider
    Look for mobile infrastructure that can:
  • Access data in the data management system in XML format in order to easily include in a Web Services request.
  • Send Web Service requests over HTTP and HTTPS, ensuring data can be kept secure.

    Conclusion on Enterprise Mobile Integration
    It is important to consider the data management and data integration aspects of the solution's architecture together because the two are tightly intertwined. Looking for data management and integration infrastructure that supports database synchronization, enterprise messaging and web services will ensure your integration costs are minimized today and your flexibility in supporting future architectures is maximized.

    David Jonker, in his role as a SQL Anywhere product manager, focuses on helping software developers understand how best to manage data and applications that travel outside the data center. iAnywhere Solutions is a leading provider of embedded and mobile databases and mobile middleware. Reach David at djonker@ianywhere.com