whIte PAPer

Best Practices for Mobile Application Architectures
A whitepaper from iAnywhere Solutions, Inc., a subsidiary of Sybase, Inc.

iAnywhere MAy 8, 2006

www.iAnywhere.com

R

Overview Mobile solutions can be built in many different ways, used on many different devices, operate over many different networks, and integrate with many different back-end systems. The task of building a mobile solution can often be daunting given the many technology choices and implementation approaches. This whitepaper explores common architectures that have been successfully used by enterprises to build smart client solutions with iAnywhere developer technologies, including SQL Anywhere, M-Business Anywhere and Afaria. The paper will explore the differences between smart client and thin client mobile architectures, and when you would want to use each. It will then examine the details of common smart client architectures, including what type of back-end systems they integrate with, the types of devices they support, how data is managed within the architecture, and development languages that can be used to build the application. Smart Client verSuS thin Client arChiteCtureS Many developers are attracted by the apparent simplicity of a thin client architecture. Having the application reside on a single Web server can have a strong attraction. This is can be a powerful model successfully implemented in office environments, but is often plagued with challenges when taken into mobile environments. Let’s take a closer look at the two application models identifying the pros and cons of each. In a smart client model, a software application and data reside locally on the mobile device. Data is periodically exchanged with the enterprise through a synchronization process. In the thin client model the software application and data reside on a Web server. The application is accessed over a wireless network using a Web browser running on the mobile device. See Table 1 for more details.

www.iAnywhere.com 

As we can see, things appear much simpler with a thin client model. The application and data reside on a Web server in the enterprise. Deployment of the application and updates to it are relatively simple – just install and update the application on the Web server. However, the solution requires a constant wireless network connection in order for users to access the application, which poses a major challenge in many real world mobile environments. Complete dependence on a constant wireless network connection can be problematic for a number of reasons, including: 1. A limited area of coverage by the wireless network . Transmission interference resulting in dropped network connections due to physical obstructions and coverage gaps 3. Slower network speeds compared to landline connections 4. High costs to connect to the wireless network As a result, user productivity is often extremely poor with a thin client architecture making it undesirable for mobile enterprise implementations. Let’s take a look at a number of characteristics relevant to mobile solutions and how thin client and smart client architectures impact each of them.

www.iAnywhere.com

3

The above characteristics impact the success of a mobile implementation in one of two ways: • Affecting user productivity and user adoption of the mobile solution, which ultimately impact whether the project will achieve long term success • Impacting IT investment and involvement in developing, deploying and maintaining the mobile solution Overall, we should not underestimate the cost of poor user productivity or overestimate the cost of more involved management of the mobile solution. A thin client model definitely provides a benefit to the IT department tasked with the solution’s deployment and maintenance. However, the lack of user productivity and user adoption can be dismal, resulting in a negative return on investment. While a smart client solution generally requires more involvement from the IT department to deploy and maintain the solution, the dramatic improvements in user productivity and user adoption greatly outweigh it. Furthermore, there are approaches to minimize the effort required by IT to deploy mobile applications as well as support multiple types of devices. In particular, the management of a smart client solution can be simplified through: • The use of mobile device management software, such as iAnywhere’s Afaria • The implementation of an offline Web solution using iAnywhere’s M-Business Anywhere technology.

www.iAnywhere.com

4

The challenges of device portability can also be addressed in a smart client solution by: • Building the smart client application using an interpreted language, such as AppForge’s Crossfire. • Implementing the application as an offline Web solution using iAnywhere’s M-Business Anywhere technology, thus supporting Microsoft, Palm, and Symbian mobile devices and desktop computers. Smart Client arChiteCtureS There are six common smart client architectures used to build mobile solutions with iAnywhere technology. The first four architectures we will discuss center around how data is managed within the solution and what types of back-end systems they typically integrate with: • Database & synchronization • Store-and-forward messaging • Database & synchronization with store-and-forward messaging • File-based replication for data exchange There are two additional architectures commonly used that uniquely combine the benefits of a smart client model with the benefits of application deployment and portability found in a thin client approach: • Offline Web • Offline Web with database & synchronization The following sections of the paper delve into each architectural model, describing how it works and when it would be used. DatabaSe & SynChrOnizatiOn Description Data is easily extended from enterprise databases out to remote databases running on mobile devices with a mobile database & synchronization architecture. Data that is created, modified or deleted in a remote database can be synchronized back to the consolidated database. Likewise, any changes in the consolidated database can be synchronized to some or all of the remote databases. SQL Anywhere’s mobile database and synchronization technologies can be used to develop solutions that scale from one mobile user to many thousands of users synchronizing to the one consolidated database. SQL Anywhere’s synchronization technology ensures that the integrity of data in all of the databases is maintained, and the amount of transmitted data is minimized. With MobiLink it is possible to subset data by row and column, ensuring remote users only get the data they need. Furthermore, developers are able to create sophisticated rules to automatically resolve synchronization conflicts. The mobile application can be written using many different development languages and tools, ensuring developers can leverage their existing software development skills. Common mobile devices that are used include laptops, tablets, PDAs, smartphones, and desktop computers running Windows 32, Windows Mobile, Windows CE, or Palm OS operating systems.

www.iAnywhere.com 

Common Configurations Remote software • UltraLite or SQL Anywhere database engine and database file • MobiLink synchronization client • Mobile software application Middleware • MobiLink synchronization server Enterprise integration • Remote databases can synchronize to one of the following consolidated databases - SQL Anywhere’s database server, Oracle, Microsoft SQL Server, IBM DB, or Sybase ASE Development languages • Mobile applications can be written in C/C++, VB, VB.NET, C#, ASP, PHP, Perl, other Web, PowerBuilder, PocketBuilder, Java, Python, Delphi Supported remote platforms • Pocket PC, Palm OS, Smartphones, Windows, Solaris, Linux Network connectivity • Wireless, 80.11, WiFi, W-LAN, GPRS, GSM, CDMA, CDPD, wired Ethernet, device cradle, modem, ActiveSync, HotSync

www.iAnywhere.com 

StOre-anD-FOrwarD meSSaging Description Enterprise messaging is an architectural model for connecting a set of IT systems through the asynchronous exchange of data. It allows for a much more distributed model compared to a database-centric architecture where data is centralized into enterprise databases. Information is typically passed between systems by placing messages into queues on central messaging servers or remote systems. Each queue will have one or more applications that consume the information placed into it. SQL Anywhere’s QAnywhere is a solution that extends enterprise messaging systems to mobile environments. Its store-and-forward architecture handles the complexities of working in mobile and wireless environments. It does this in a number of ways, including allowing developers to optimize the performance, cost, and bandwidth of message delivery, compressing transmitted data, and ensuring messages are delivered once, and only-once, even in the events of dropped network connects or a system failure. QAnywhere integrates with any enterprise messaging system that supports Java Message Service (JMS), such as MQSeries, and J2EE application servers, such as IBM WebSphere, BEA WebLogic, and Sybase EAServer. Furthermore, additional enterprise systems can be easily connected with Sybase Unwired Orchestrator.

Common Configurations Remote software • SQL Anywhere database engine and database file • QAnywhere synchronization client • Mobile application Middleware • MobiLink synchronization server with QAnywhere option

www.iAnywhere.com 

Enterprise integration • Any JMS-based messaging system such as MQ Series or JMS-based application server, such as Sybase EAServer, BEA WebLogic, or IBM WebSphere • TIBCO, SAP, PeopleSoft, Siebel, and others with the use of Sybase Unwired Orchestrator Development languages • Mobile applications can written using C/C++ or C# Supported remote platforms • Pocket PC, Smartphones, Windows Network connectivity • Wireless, 80.11, WiFi, W-LAN, GPRS, GSM, CDMA, CDPD, wired Ethernet, device cradle, modem, ActiveSync DatabaSe SynChrOnizatiOn with StOre-anD-FOrwarD meSSaging Description While many enterprises may allow data to be synchronized in and out of the enterprise’s consolidated database, other organizations control the changes made to the consolidated database by sending all modifications through middle-tier business logic running in application servers or other enterprise systems. By combining database synchronization with store-and-forward messaging, data can be synchronized out of the enterprise’s consolidated database to mobile databases. Yet control is maintained by having any modifications to the consolidated database or other backend systems sent through middle-tier business logic using store-and-forward messaging. SQL Anywhere mobile database and synchronization technologies can be used to develop solutions that scale from one mobile user to many thousands of users synchronizing to the one consolidated database. The MobiLink synchronization technology ensures that the integrity of data in all of the databases is maintained, and the amount of transmitted data is minimized. With MobiLink it is possible to subset data by row and column, ensuring remote users only get the data they need. Furthermore, developers are able to create sophisticated rules to automatically resolve synchronization conflicts. QAnywhere is a solution that extends enterprise messaging systems to mobile environments. Its store-and-forward architecture handles the complexities of working in mobile & wireless environments. It does this in a number of ways, including allowing developers to optimize the performance, cost, and bandwidth of message delivery, compressing transmitted data, and ensuring messages are delivered once, and only-once, even in the events of dropped network connects or a system failure. QAnywhere integrates with any enterprise messaging system that supports Java Message Service (JMS), such as MQSeries, and J2EE application servers, such as IBM WebSphere, BEA WebLogic, and Sybase EAServer. Furthermore, additional enterprise systems can be easily connected to with Sybase Unwired Orchestrator.

www.iAnywhere.com

8

Common Configurations Remote software • SQL Anywhere database engine and database file • QAnywhere client • MobiLink synchronization client Middleware • MobiLink synchronization server with QAnywhere option Enterprise integration • Synchronize mobile databases with common consolidated databases, including SQL Anywhere’s database server, Oracle, Microsoft SQL Server, IBM DB, or Sybase ASE • Send and receive messages with any JMS-based messaging system such as MQ Series or JMS-based application server, such as Sybase EAServer, or IBM WebSphere • Send and receive messages with TIBCO, SAP, PeopleSoft, Siebel, and others with the use of Sybase Unwired Orchestrator Development languages • C/C++, C# Supported remote platforms • Pocket PC, Smartphones, Windows Network Connectivity • Wireless, 80.11, WiFi, W-LAN, GPRS, GSM, CDMA, CDPD, wired Ethernet, device cradle, modem, ActiveSync

www.iAnywhere.com 

File repliCatiOn FOr Data exChange Description There are times when developers may choose to use files to manage and exchange some or all of the data within a mobile solution. While files are a simple solution to storing data on a mobile device, it is left to the developer to define and manage a level of structure and protection upon the data within a file. This is in contrast to database and messaging based architectures, which offer a high level of predefined structure and protection to the management of data. Afaria’s Session Manager can replicate files between remote devices and the middleware server. Session Manager provides GUI-based scripting enabling developers to manage the file replication process, manage files on the remote devices, automate communication sessions, and execute custom scripts and software programs based on conditional business logic. Software developers can build the mobile application using any development language that is able to read and write files on the device. Data files can be transferred from the middleware server to other enterprise systems through custom scripts and software programs that are executed by Session Manager.

Common Configurations Remote software • Afaria client with Session Manager • Mobile software application Enterprise integration • Data can be exchanged with other enterprise systems through custom scripts written in JScript or VBScript, or through custom software programs written by the developer. Middleware • Afaria server with Session Manager

www.iAnywhere.com

10

Development languages • Mobile applications can be written in C/C++, VB, VB.NET, C#, ASP, PHP, Perl, other Web, PowerBuilder, PocketBuilder, Java, Python, Delphi or any other development language supported by the remote device Supported remote platforms • Windows CE, Pocket PC (Windows Mobile), Windows XP, Windows XP, Windows 000, NT, Windows  & 8, Tablet PC Edition, Palm OS, Symbian Smartphones, RIM Blackberry Network Connectivity • Wireless, 80.11, WiFi, W-LAN, GPRS, GSM, CDMA, CDPD, wired Ethernet, device cradle, modem, ActiveSync, HotSync OFFline web appliCatiOnS Description Offline Web applications combine the benefits of a thin client model and a smart client model, where the application runs locally on the device. With an offline Web solution the application is a set of Web-based content written using standard Web technologies, and additional components to access device peripherals and other ondevice utilities. The cross-platform nature of the Web technologies ensures that the application can be written once and deployed to a variety of mobile devices. M-Business Anywhere provides a platform for delivering Web-based content and applications to a wide variety of mobile devices rapidly and cost-effectively – with minimal recoding. Web developers can leverage their existing skill sets and open standards to develop and deploy fully interactive Web applications with sync-and-go or wireless capabilities. The files that comprise the mobile application are downloaded from one or more Web servers where they are stored. Application changes are automatically uploaded by the M-Business Anywhere client every time a mobile device synchronizes. Yet the offline nature of this architecture enables users to continue interacting with the Web application even when the mobile device is not connected to a wireless network or device cradle. Built-in synchronization capabilities ensure data submitted through forms in an M-Business Anywhere application are also submitted to the enterprise Web server when the device synchronizes. Additionally, XML-based data can be synchronized with enterprise servers.

www.iAnywhere.com

11

Common Configurations Remote software • M-Business Anywhere client Middleware • M-Business Anywhere server Enterprise integration • Any Web or application server through HTTP or HTTPS • Siebel  • XML-formatted data • TIBCO, SAP, PeopleSoft, Siebel, and others with the use of Sybase Unwired Orchestrator Development languages • DHTML, SSL, HTML 4.01, Cascading Style Sheets (CSS) 1.0 style attribute, XHTML1.0, Document Object Model (DOM) Level 1, JavaScript • C++ for the development of POD extensions Supported remote platforms • Palm OS, Pocket PC (Windows Mobile), Windows XP, and Windows XP Tablet PC Edition Network Connectivity • Wireless, 80.11, WiFi, W-LAN, GPRS, GSM, CDMA, CDPD, wired Ethernet, device cradle, modem, ActiveSync, HotSync OFFline web appliCatiOnS with DatabaSe & SynChrOnizatiOn Description By combining an offline Web application with a database and synchronization architecture, mobile solutions can achieve the benefits of offline Web applications with the data integrity, scalability and manageability associated with mobile databases and synchronization. Offline Web applications are able to access mobile databases through the Web pages on the device, enabling them to interactively create, modify, and delete data. Data synchronization occurs in parallel to the synchronization of the Web application itself. M-Business Anywhere provides a platform for delivering Web-based content and applications to a wide variety of mobile devices rapidly and cost-effectively – with minimal recoding. Web developers can leverage their existing skill sets and open standards to develop and deploy fully interactive Web applications with sync-and-go or wireless capabilities. The files that comprise the mobile application are downloaded from one or more Web servers where they are stored. Application changes are automatically uploaded by the M-Business Anywhere client every time a mobile device synchronizes. Yet the offline nature of this architecture enables users to continue interacting with the Web application even when the mobile device is not connected to a wireless network or device cradle. SQL Anywhere mobile database and synchronization technologies can be used to develop solutions that scale from one mobile user to many thousands of users synchronizing to the one consolidated database. The MobiLink synchronization technology ensures that the integrity of data in all of the databases is maintained, and the amount of transmitted data is minimized. With MobiLink it is possible to subset data by row and column, ensuring remote users get only the data they need. Furthermore, developers are able to create sophisticated rules to automatically resolve synchronization conflicts.
www.iAnywhere.com

1

Common Configurations Remote software • M-Business Anywhere client • UltraLite database for M-Business Anywhere Enterprise integration • Synchronize mobile databases with common consolidated databases, including SQL Anywhere’s database server, Oracle, Microsoft SQL Server, IBM DB, or Sybase ASE • Any Web or application server through HTTP or HTTPS • Siebel  • TIBCO, SAP, PeopleSoft, Siebel, and others with the use of Sybase Unwired Orchestrator Middleware • M-Business Anywhere server • MobiLink synchronization server Development languages • DHTML, SSL, HTML 4.01, Cascading Style Sheets (CSS) 1.0 style attribute, XHTML1.0, Document Object Model (DOM) Level 1, JavaScript • C++ for the development of POD extensions • Standard SQL Supported remote platforms • Palm OS, Pocket PC (Windows Mobile), Windows XP, and Windows XP Tablet PC Edition Network Connectivity • Wireless, 80.11, WiFi, W-LAN, GPRS, GSM, CDMA, CDPD, wired Ethernet, device cradle, modem, ActiveSync, HotSync

www.iAnywhere.com

13

teChnOlOgieS FrOm ianywhere iAnywhere offers a range of developer technologies and enterprise products used to implement mobile solutions. Companies like Pepsi Bottling Group, McKesson, Britannia Airways, BNSF Railway, Harvard Medical School, and the U.S. Military, are making their mobile workers and business processes more productive and efficient with solutions based on iAnywhere technology. SQl anywhere SQL Anywhere is a comprehensive package that provides data management and enterprise data synchronization, enabling the rapid development and deployment of data-powered applications. SQL Anywhere extends information in corporate applications and enterprise systems to anywhere business takes place. With more than 9 million deployed seats, SQL Anywhere powers database applications in desktop, server, mobile and remote office environments. Within SQL Anywhere you will find… • SQl anywhere database server – Provides high performance and reliability with rich enterprise functionality including full transaction processing, referential integrity, SQL and Java stored procedures, triggers, row-level locking, automatic event scheduling and automatic recovery. • ultralite – A database with an even smaller footprint for memory-constrained devices, requiring as little as 150 KB of memory, yet UltraLite provides enterprise features such as referential integrity, transaction processing, strong encryption and a built-in synchronization client. • mobillink – A proven robust, flexible synchronization server that provides database-to-database synchronization. MobiLink can scale from one mobile user to thousands. • Qanywhere – Provides a comprehensive store and forward messaging solution for mobile users. It leverages extended functionality in MobiLink that allows it to function as a messaging server. Additional Resources • View the SQL Anywhere datasheet • Find more information at the SQL Anywhere Getting Started page • Learn how other customers have been successful with SQL Anywhere • Download the free SQL Anywhere Developer Edition m-business anywhere M-Business Anywhere provides a platform for delivering Web-based content and applications to a wide variety of mobile devices rapidly and cost-effectively – with minimal recoding. Web developers can leverage their existing skill sets and open standards to develop and deploy fully interactive Web applications that can run locally on the mobile device. Additional Resources • View the M-Business Anywhere datasheet • Find more information at the M-Business Anywhere Getting Started page • Learn how other customers have been successful with M-Business Anywhere • Download the free M-Business Anywhere Developer Edition

www.iAnywhere.com

14

afaria Afaria's frontline management capabilities go beyond conventional systems and device management to proactively manage all the devices, applications, data and communications critical to frontline success. Afaria software solutions keep technology simple and useful for those on the front lines of business while providing headquarters with a whole new level of control and visibility. Additional Resources • View the Afaria datasheet • Read about Afaria success stories COnCluSiOn The development of mobile software applications introduces a level of complexity that seldom exists today with the development of office applications. For starters, the developer cannot assume that users have a desktop computer running Windows or a reliable network connection. Software developers need to answer a number of different questions in order to choose the best mobile architecture for their particular project: • What is the new workflow that the mobile solution will implement? • What types of network connectivity are necessary to support the new workflow? • What device or devices will be used by the mobile workers? • What enterprise systems does the mobile application need to integrate with? • What ways is data currently managed within the enterprise? By using mobile software infrastructure to build solutions, developers can focus on building the application and allow the software infrastructure to handle the complexities of the mobile environment With tens of millions of mobile devices, 7,000,000 subscribers, and 20,000 corporate customers using its technology on a daily basis, iAnywhere offers developer and IT solutions that have been proven in successful, realworld implementations and the expertise to help enterprises get there. Visit http://www.ianywhere.com/products/ mobile_enterprise.html or call 1-800-801-2069 to learn more about iAnywhere and its products.

www.iAnywhere.com

CoPyrIght © 2006 IAnywhere SolutIonS, InC. All rIghtS reServed. SyBASe, AfArIA, AdAPtIve Server, SQl Anywhere, MoBIlInk, ultrAlIte, QAnywhere, unwIred orCheStrAtor And M-BuSIneSS Anywhere Are trAdeMArkS of SyBASe, InC. All other trAdeMArkS Are ProPerty of theIr reSPeCtIve ownerS.®

1