Вы находитесь на странице: 1из 15

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


2. 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 
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 
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 DB2, 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, 802.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, 802.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 
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 DB2, 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, 802.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 2000, NT, Windows 95 & 98,
Tablet PC Edition, Palm OS, Symbian Smartphones, RIM Blackberry

Network Connectivity
• Wireless, 802.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 on-
device 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 7
• 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, 802.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 12
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 DB2, or Sybase ASE
• Any Web or application server through HTTP or HTTPS
• Siebel 7
• 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, 802.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, real-
world 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.

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
www.iAnywhere.com trademarks are property of their respective owners.® 15

Вам также может понравиться