Reading 3 iAnywhere Smart Client Architectures MobileDev

  • Upload
    srb123

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

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