-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
1/15
.iA.cm
Bs Pacics MbiAppicai AcicsA ipap m iA Sis, Ic.,
a sbsiia Sbas, Ic.
iAnywhere
MAy 8, 2006
whIte PAPer
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
2/15
.iA.cm
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.
Lets 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.
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
3/15
.iA.cm
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.Alimitedareaofcoveragebythewirelessnetwork
.Transmissioninterferenceresultingindroppednetworkconnectionsduetophysicalobstructionsand
coveragegaps
3.Slowernetworkspeedscomparedtolandlineconnections
4.Highcoststoconnecttothewirelessnetwork
As a result, user productivity is often extremely poor with a thin client architecture making it undesirable for
mobile enterprise implementations. Lets take a look at a number of characteristics relevant to mobile solutions and
how thin client and smart client architectures impact each of them.
3
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
4/15
4.iA.cm
The above characteristics impact the success of a mobile implementation in one of two ways:
Affectinguserproductivityanduseradoptionofthemobilesolution,whichultimatelyimpactwhetherthe
projectwillachievelongtermsuccess
ImpactingITinvestmentandinvolvementindeveloping,deployingandmaintainingthemobilesolution
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 solutions 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:
Theuseofmobiledevicemanagementsoftware,suchasiAnywheresAfaria
TheimplementationofanofflineWebsolutionusingiAnywheresM-BusinessAnywheretechnology.
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
5/15
.iA.cm
The challenges of device portability can also be addressed in a smart client solution by:
Buildingthesmartclientapplicationusinganinterpretedlanguage,suchasAppForgesCrossfire.
ImplementingtheapplicationasanofflineWebsolutionusingiAnywheresM-BusinessAnywheretechnology,
thussupportingMicrosoft,Palm,andSymbianmobiledevicesanddesktopcomputers.
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-forwardmessaging
Database&synchronizationwithstore-and-forwardmessaging
File-basedreplicationfordataexchange
There are two additional architectures commonly used that uniquely combine the benefits of a smart client modelwith the benefits of application deployment and portability found in a thin client approach:
OfflineWeb
OfflineWebwithdatabase&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 amobile 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 Anywheres 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 Anywheres
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.
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
6/15
.iA.cm
Common Configurations
Remote software
UltraLiteorSQLAnywheredatabaseengineanddatabasefile
MobiLinksynchronizationclient
Mobilesoftwareapplication
Middleware
MobiLinksynchronizationserver
Enterprise integration
Remotedatabasescansynchronizetooneofthefollowingconsolidateddatabases-SQLAnywheresdatabase
server,Oracle,MicrosoftSQLServer,IBMDB,orSybaseASE
Development languages
MobileapplicationscanbewritteninC/C++,VB,VB.NET,C#,ASP,PHP,Perl,otherWeb,PowerBuilder,
PocketBuilder,Java,Python,Delphi
Supported remote platforms
PocketPC,PalmOS,Smartphones,Windows,Solaris,Linux
Network connectivity
Wireless,80.11,WiFi,W-LAN,GPRS,GSM,CDMA,CDPD,wiredEthernet,devicecradle,modem,ActiveSync,
HotSync
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
7/15
.iA.cm
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 Anywheres 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 SQLAnywheredatabaseengineanddatabasefile
QAnywheresynchronizationclient
Mobileapplication
Middleware
MobiLinksynchronizationserverwithQAnywhereoption
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
8/15
8.iA.cm
Enterprise integration
AnyJMS-basedmessagingsystemsuchasMQSeriesor JMS-basedapplicationserver,suchasSybaseEAServer,
BEAWebLogic,orIBMWebSphere
TIBCO,SAP,PeopleSoft,Siebel,andotherswiththeuseofSybaseUnwiredOrchestrator
Development languages
MobileapplicationscanwrittenusingC/C++orC#
Supported remote platforms
PocketPC,Smartphones,Windows
Network connectivity
Wireless,80.11,WiFi,W-LAN,GPRS,GSM,CDMA,CDPD,wiredEthernet,devicecradle,modem,ActiveSync
DatabaSe SynChrOnizatiOn with StOre-anD-FOrwarD meSSaging
DescriptionWhile many enterprises may allow data to be synchronized in and out of the enterprises 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
enterprises 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 amountof 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.
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
9/15
.iA.cm
Common Configurations
Remote software
SQLAnywheredatabaseengineanddatabasefile
QAnywhereclient
MobiLinksynchronizationclient
Middleware
MobiLinksynchronizationserverwithQAnywhereoption
Enterprise integration
Synchronizemobiledatabaseswithcommonconsolidateddatabases,includingSQLAnywheresdatabaseserve
Oracle,MicrosoftSQLServer,IBMDB,orSybaseASE
SendandreceivemessageswithanyJMS-basedmessagingsystemsuchasMQSeriesor JMS-basedapplication
server,suchasSybaseEAServer,orIBMWebSphere
SendandreceivemessageswithTIBCO,SAP,PeopleSoft,Siebel,andotherswiththeuseofSybaseUnwired
Orchestrator
Development languages
C/C++,C#
Supported remote platforms
PocketPC,Smartphones,Windows
Network Connectivity
Wireless,80.11,WiFi,W-LAN,GPRS,GSM,CDMA,CDPD,wiredEthernet,devicecradle,modem,ActiveSync
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
10/15
10.iA.cm
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.
Afarias 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
AfariaclientwithSessionManager
Mobilesoftwareapplication
Enterprise integration
DatacanbeexchangedwithotherenterprisesystemsthroughcustomscriptswritteninJScriptorVBScript,or
throughcustomsoftwareprogramswrittenbythedeveloper.
Middleware
AfariaserverwithSessionManager
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
11/15
11.iA.cm
Development languages
MobileapplicationscanbewritteninC/C++,VB,VB.NET,C#,ASP,PHP,Perl,otherWeb,PowerBuilder,
PocketBuilder,Java,Python,Delphioranyotherdevelopmentlanguagesupportedbytheremotedevice
Supported remote platforms
WindowsCE,PocketPC(WindowsMobile),WindowsXP,WindowsXP,Windows000,NT,Windows&8,
TabletPCEdition,PalmOS,SymbianSmartphones,RIMBlackberry
Network Connectivity
Wireless,80.11,WiFi,W-LAN,GPRS,GSM,CDMA,CDPD,wiredEthernet,devicecradle,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 contentwritten 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 Webapplication 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.
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
12/15
1.iA.cm
Common Configurations
Remote software
M-BusinessAnywhereclient
MiddlewareM-BusinessAnywhereserver
Enterprise integration
AnyWeborapplicationserverthroughHTTPorHTTPS
Siebel
XML-formatteddata
TIBCO,SAP,PeopleSoft,Siebel,andotherswiththeuseofSybaseUnwiredOrchestrator
Development languages
DHTML,SSL,HTML4.01,CascadingStyleSheets(CSS)1.0styleattribute,XHTML1.0,DocumentObjectModel
(DOM)Level1,JavaScript
C++forthedevelopmentofPODextensions
Supported remote platforms
PalmOS,PocketPC(WindowsMobile),WindowsXP,andWindowsXPTabletPCEdition
Network Connectivity
Wireless,80.11,WiFi,W-LAN,GPRS,GSM,CDMA,CDPD,wiredEthernet,devicecradle,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.
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
13/15
13.iA.cm
Common Configurations
Remote software
M-BusinessAnywhereclient
UltraLitedatabaseforM-BusinessAnywhere
Enterprise integration
Synchronizemobiledatabaseswithcommonconsolidateddatabases,includingSQLAnywheresdatabaseserverOracle,MicrosoftSQLServer,IBMDB,orSybaseASE
AnyWeborapplicationserverthroughHTTPorHTTPS
Siebel
TIBCO,SAP,PeopleSoft,Siebel,andotherswiththeuseofSybaseUnwiredOrchestrator
Middleware
M-BusinessAnywhereserver
MobiLinksynchronizationserver
Development languages
DHTML,SSL,HTML4.01,CascadingStyleSheets(CSS)1.0styleattribute,XHTML1.0,DocumentObjectModel
(DOM)Level1,JavaScript
C++forthedevelopmentofPODextensions
StandardSQL
Supported remote platforms
PalmOS,PocketPC(WindowsMobile),WindowsXP,andWindowsXPTabletPCEdition
Network Connectivity
Wireless,80.11,WiFi,W-LAN,GPRS,GSM,CDMA,CDPD,wiredEthernet,devicecradle,modem,ActiveSync,
HotSync
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
14/15
14.iA.cm
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 a
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 a ds s 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.
ul 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.
molk A proven robust, flexible synchronization server that provides database-to-database synchronization.
MobiLink can scale from one mobile user to thousands.
Qa 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
ViewtheSQLAnywheredatasheet
FindmoreinformationattheSQLAnywhereGettingStartedpage
LearnhowothercustomershavebeensuccessfulwithSQLAnywhere
DownloadthefreeSQLAnywhereDeveloperEdition
m-bsss a
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
ViewtheM-BusinessAnywheredatasheet
FindmoreinformationattheM-BusinessAnywhereGettingStartedpage
LearnhowothercustomershavebeensuccessfulwithM-BusinessAnywhere
DownloadthefreeM-BusinessAnywhereDeveloperEdition
-
8/14/2019 Reading 3 iAnywhere Smart Client Architectures MobileDev
15/15
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
af
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
ViewtheAfariadatasheet
ReadaboutAfariasuccessstories
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 compute
running Windows or a reliable network connection.
Software developers need to answer a number of different questions in order to choose the best mobilearchitecture for their particular project:
Whatisthenewworkflowthatthemobilesolutionwillimplement?
Whattypesofnetworkconnectivityarenecessarytosupportthenewworkflow?
Whatdeviceordeviceswillbeusedbythemobileworkers?
Whatenterprisesystemsdoesthemobileapplicationneedtointegratewith?
Whatwaysisdatacurrentlymanagedwithintheenterprise?
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 itstechnology 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.