45
Molde University College INF 245 Fa ll 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn Mallick (2003)

Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Embed Size (px)

Citation preview

Page 1: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

On Device Applications aka Smart or Fat Clients

INF245H2007Ola Bø

Høgskolen i MoldeBuild upon Martyn Mallick (2003)

Page 2: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Smart clients – an outline

Smart clients may be used when not on line

They may give access to data also when not on line May be solved by having

a local data store Smart clients permit a

better user interface than thin clients

Page 3: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Smart client development challenges and goals

Challenges Limited UI and low device capacity Integration with other business systems Connectivity Application roll out and administration Technology in development –

Goals Insight into challenges and solutions Cover possible technologies

Page 4: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

On device application platforms

No clear leader – several possibilities Windows CE Symbian Palm OS Linux

Page 5: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Windows CE A bad start (1996) (unstable

and cumbersome) Major progress

Pocket Word, Excel, IE, Outlook, Multimedia, Reader

Simplified Win32 API Support for Visual Studio.NET Communications using BT,

WLAN, GPRS, IPv6, 3G Improved performance

CE.NET as Core operating system CE is used in the operating

system for several device types Pocket PC uses a version of

CE.NET adapted to PDA

CE.NET

CE.NET CE.NET

Pocket PC Windows Mobile

CE.NET

Windows Automotive

Page 6: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Windows CE development

CE.NET 2004 ARM, MIPS 2G-3G5.0 SH, x86 VoIP

Page 7: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Windows CE Architecture

Kilde Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceintro5/html/wce50oriWelcomeToWindowsCE.asp

Page 8: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Windows mobile

Started 2000 Supports several types

of device Now in version 6.0

connectivity persistent storage Office-support Multimedia Hard-disk storage Multimedia hard drive

Kilde: Microsoft

Page 9: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Page 10: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Palm OS Early success

75 % of the market in early 2000 many applications now fading

New Palm devices are using windows as operating system

Page 11: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Symbian Initially called EPOC an

operationg system for the PSION device with 640*240 screen and pen based input

Symbian v6.0 2000 Better support for communications Applications using C++, Java and

WAP Symbian V 7.0 2002

For advanced mobile phones Synchronizing OTA using

SyncML Security Different UIs

pen based UIQ series 60 for mobile phones

Includes apps for personal information, web and messaging.

Strong in Europe Owners

Ericsson (15.6%), Nokia (47.9%), Panasonic (10.5%), Samsung (4.5%), Siemens (8.4%) and Sony Ericsson (13.1%)

Installed base (per october 2007) Symbian operating system is used

on an increasing number of mobile phones

Over 145 million devices sold Symbian smartphone OS share for

Q2 2007 is 72%, Embracing

(source computerworld.no http://www.computerworld.no/index.cfm/fuseaction/artikkel/id/47754)

Page 12: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Symbian ver 9,5

Core OS Security, Privacy and Content Protection• Application capability management • Application data caging• Cryptographic algorithms – DES, 3DES, RC2, RC4, RC5 and AES• Cryptographic token framework• DRM framework and reference implementation• IPSec and VPN client support plus SSL and TLS• User permissions prompting Open Environments• Standard C environment• Standard libraries including partial POSIX support (P.I.P.S) Location-Based Services• GPS, A-GPS (terminal-assisted / terminal- based) and network-based positioning• Mobile originated and mobile terminated requests (including emergency requests) Telephony• Multimode Etel (2.5G / 3G)• GSM Phase 2+• HSCSD• GPRS, classes A, B and C (R97/98)• EDGE (CSD and GPRS)• WCDMA (3GPP R4 and R5 IMS support)• HSDPA, HSUPA• SMS (3GPP TS 23.040 V6.5.0)• EMS (3GPP TS 23.040 V4.5)• SIM Application Toolkit• SIM and USIM support• Quality-of-Service framework• Support for multiple primary and secondary PDP contexts• Third party OTA API Networking & Comms• Bluetooth v2.0 (L2CAP, RFCOMM, SDP, GAP and SPP) plus profile support • Bluetooth stereo headset support• USB v2.0 High Speed (Mass storage, ACM, WHCM) and USB On-The-Go support• WLAN• IrDA & serial• OBEX over Bluetooth, IrDA and USB• Bearer independent EAP-SIM/AKA • Non-seamless network bearer mobility • TCP, IPv4, IPv6, MSCHAP v2, PPP• TCP/IP plug-in framework• HTTP plug-in framework - HTTP 1.1 - Pipelining• WAP push• Connectionless WSP• Multihoming, NAPT Multimedia• Video capture and playback framework• Audio capture and playback framework• Camera interface supporting multi-megapixel cameras and advanced features• Tuner interface• Digital TV hardware abstraction• Hardware abstraction layer for multimedia acceleration• Audio and video codec interfaces compliant with OpenMax IL 1.0• Image conversion (all common formats) with scaling enhancements Graphics• Bitmap and vector font support with advanced font effects• 2D graphics support including OpenVG implementation• 3D graphics support including OpenGL ES APIs• Multiple display support Persistent Data Services• Embedded SQL database Generic OS Services• Extensive language support including: Thai, Arabic, Hebrew, Japanese, Chinese, Hindi, Brahmic and Vietnamese scripts• Unicode 3.0 Kernel & Hardware Services• ARMv5, v6 and v7 support • L2 cache support • Defragmentation of physical RAM • Demand paging of read-only code and data• Hardware-dependent support for “VFP” floating point acceleration and accelerated maths functions• High performance file server with FAT filesystem support• MMC and SD card support including media >2GBGeneric Middleware Security Management• Cryptographic services• Certificate management (X509 certificates)• Secure Software Install • MIDP 2.0 support Application Protocols• Multimedia Transfer Protocol (MTP) over USB plus data provider for files and folders • White/black list URI service• SIP/SDP Multimedia Middleware• High-level multimedia service abstraction• RTP, RTCP System GUI Frameworks• Flexible application and UI frameworks• Control and windowing environmentsApplication Services / Logic Remote Management Application Daemons• Over-the-air firmware upgrade (FOTA)• OMA Client Provisioning v1.1• OMA Data Synchronization v1.2• OMA Device Management v1.2 Enterprise Application Services• Calendaring including vCalendar v1.0 and interoperability with Microsoft Exchange and Lotus Notes servers • Contacts management including vCard v2.1• IMAP4 including IDLE support, RFC2177 and RFC 3501• POP3 implementation compliant with RFC 1939• SMTP implementation compliant with RFC 2821• SMTP Service Extension for Authentication, RFC 2554, Secure SMTP over Transport Layer Security, RFC 3207• Secure email using TLS with IMAP, POP3, and ACAP, RFC 2595• Extensible framework for push email solutions Java• CLDC HI 1.1.1s (JSR139)• Bluetooth (JSR082) including OBEX• Content Handler (JSR211)• JTWI (JSR185)• MIDP 2.0 (JSR118)• Mobile 3D Graphics (JSR184)• Mobile Media 1.1 (JSR 135)• PIM & FileGCF (JSR075)• Wireless Messaging 1.1 (JSR120) including CBS• Support for JSR248 PC Connectivity• MTP over USB• Mobile Active Sync• Calendar and contacts sync frameworkTools and Documentation• Eclipse- and CodeWarrior-based development environments • Library of books from Symbian Press

• Developer portal at developer.symbian.com

Page 13: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Linux

The most well known device is Sharp Zaurus

Nokia launched 770 ”Internet Tablet” spring 2005

See http://www.linuxdevices.com/articles/AT9423084269.html

Page 14: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Java

MIDP

Optional JSR packages

Optional JSRPackages

Page 15: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Page 16: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Native vs. Java Java applications

run in a J2ME environment isolated from the devices OS

Cross platform Java augments

productivity and reduces errors

Java has good communications support

J2ME standard is developped in cooperation JCP

Native applications work directly with the device OS Performance? Can use more device

functionality Can also be developed

using modern languages ”deFacto” standard

developed by one company can move faster

Page 17: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Client and Server Client

Storage on the device reduces need for connectivity and improves performance and battery life

Stale data risk Client must communicate

with server and store data Ready made

synchronization solutions are available

Message based solutions may transfer data and events asynchroneously

No need for connection while computing

Server Invisible for end user Responsability:

Data synchronization Data storage Message exchange

Synchronization Several possibilities Several possible formats

Roll your own possibly using XML SyncML

Databases and/or ERP-systems – In most cases only a limited amount of

the data may be stored on device What data should be on device?

Only some tables? Only data for a certain geographic area Only data for certain customers?

Building a custom solution or using COTS

Often a good solution to use COTS

Page 18: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Integration with other systems in the enterprise

Different integration solutions: database, system, XML-data, or integration using flat file.

Complexity also varies Basic: using standard synchronization using communications

over IP-networks with RDBs.

-> develop custom solution or buy a cots solution Complicated: Support for heterogeneous terminals,

simultaneous synchronization for several users and communications with systems having complicated interfaces. Complex data models, substantial amounts of data and transactions. Conflict handling -> Buy a COTS solution if possible

Page 19: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Advanced user interfaces

What can be improved? Simplified navigation –

Few selections to get to the right place The most used functionality should be most accessible Must be developed while testing in practice

Pre filled field where possible Choose devices giving the right trade-off between

screen size and mobility

Page 20: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

User interfaces

Typically 80 % of code and cost Must work in use Screen size a problem Input must be adapted to the real

users Early experimenting using

prototypes is a good idea Experience and studies show that

actual use is different from what was planned by developers

User interface should be tested with real users in an early phase.

Page 21: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Local storage

Page 22: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Ways to store data – an outline Flat Files – sequential access, difficult to insert and change data – easy

to store in sequence. Relational databases – logical structure built upon

tables with rows and columns. Current standard for data storage. Improved with stored procedures and transactions

Object databases – A challenger for RDBs but with small success. Stores objects rather than tables. Can be appropriate for som niches but relatively infrequently used.

XML-databases may be appropriate if all communications use XML, but is inefficient and slow if not. Infrequently used.

Page 23: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Why persistent storage on device?

Client with no storage is an alternative but the storage is most ofte appropriate because of: Network coverage problems Speed problems Static data Battery capacity

Hybrid solutions is also possible Persistent storage for static data On-line update for data that must be up-to-date

Page 24: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Alternatives for on device persistent storage

The proprietary storage mechanism for the device operating system

J2ME record storage Custom built data base Commersial relational databases

Page 25: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Proprietary device storage solution

Windows CE – object store API = database using flat files. Supports inserts, search and sorting. Present in RAM.

Symbian OS – Relational data base supporting SQL and transactions are a part of the operating system (A C++ API for the database is also present)

J2ME MIDP includes the RMS (Record Management System) that implements a standardized interface to the device data storage. RMS is covered in the J2ME programming part of this course.

Common properties: All the built-in solutions are appropriate for simple applications with limited amounts of data. They may then be used to provide a cheap and quick solution, but all of them demands the development of your own code to synchronize with the enterprise data base and that may be difficult for complex applications

Page 26: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Commercial relational databases

Many data base engine manufacturers also makes versions adapted to mobile devices and corresponding synchronization solutions

Substantial differences between vendors

Page 27: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Vendor Product

OS supported

footprint synchronization encryption

Sybase/

iAnywhere

SQL Anywhere Studio

CE, Palm, Symbian,Linux, Java

3 MB on CE

Ultralite 300k

Two ways to all ODBC. adaption using rules.

Good comms solutions

Storage and comms

Market leader 68% ?Both Java og C++

IBMDB2 Everyplace

CE, Palm, Symb, Linux, Java

150 kB SyncML two ways via Sync server DB2 DB

From DB2 to ODBC

? SQL, but no transactions. Both VB, C, C++, Java, QBE

OracleOracle 9i Lite

CE, Palm, Symb

5 MB on CE + DB

Down to 1 MB på andre

Proprietary solution synchs with Oracle databaser

yes Powerful administration tools

MicrosoftSQL Server Compact

CE 1-3 MB Via HTTP over MIIS to Microsoft SQL Server

SSL Development using Visual Studio .NET

PointBasePointBase embedded edition and ME

Java

EE->J2SEME->+J2ME

45kb -> Flexible synchonisation using UniSync server and JDBC

? 100 % Java

Page 28: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Integration with enterprise systems

Page 29: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Integration using synchronization

Synchronization Means all data on the mobile device is updated in

one operation Continuous connection is not necessary Advantages: reduced traffic, costs and bandwidth,

quick access and better control Synchronization is a two ways update Synchronization can be tethered or wireless

Page 30: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Types of Synchronization

PIM-synkronization: e-mail, addressbook and calendar Microsoft Outlook og Lotus Notes on desktop

File synchronization Data synchronization

Page 31: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Architecture for synchronization

Page 32: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Publish/Subscribe Model

The server publishes data for different purposesThe mobile device subscribes to data fitting the needs of the user

Page 33: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Techniques for synchronization

Snapshot Delete the whole table at the receiving end and

replace with an updated table Suitable if RO data, small datasets, high

bandwidth, infrequent updates Net changes

Only changed data are sent Usually the most efficient solution saves time when frequent updates and large

tables

Page 34: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Solutions for transferrign data for synchronization

Important for application efficiency Should happen without involving the user (difficult) Two solutions

Session based Direct connection between mobile and central databases

updateing both databases simultaneously Firewalls can be an obstacle

Message based Updates are sent as messages Store and forward Can support a considerable number of remote users

Page 35: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Important properties for synchronisation solutions Support for splitting up data

Subsetting of the database Partitioning of data

Column partitioning Row partitioning –

reduces update conflict Data compression

Less data to transmit but overhead Data transformation

floating point to integers fixed length to variable length

Transaction integrity (ACID) A challenge with intermittent

connections Conflict detection

When two user wants to update the same row with different data

Conflict resolution Rules based – last wins

Support for networing protocols Handling of lost connection At least HTTP over TCP/IP

Transport mechanisms WWAN, WLAN, LAN, Via PC using

BT... Enterprise integration

Synchronization server should be able to communicate with all datasources using JDB/ODBC with all data

base engines using adapters with ERP and

CRM solutions Security

Authentication, Authorisation, Encryption

Page 36: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Synchronization using different transport mechanisms

Page 37: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Choices when developing synchronization solutions

Depends upon solution for persistence Alternatives

Solutions from the database vendor Custom built Buy one Synch solutions embedded in the device

Usually not made for database synchronization

Page 38: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Synchronization solutions embedded in the device OS

OS synch-solution

Conn-ection

Built in functionality

Note

Windows CE ActiveSync

Cradle, WLAN, IrDA, BT

Transfer files and apps

Synchroni-zation of e-mail, contacts, calendar, plans, notes with MS Outlook. Browse the internett, File handling,

Backup, Restore

C/S architecture

Active Sync service providers can be bought or made. Two COM modules must be developed

Palm OS HotSync

Cradle IrDA

over nett

Conduit plug-ins can be developed using VC++, VB or Java with Palm CDK

Symbian OS Connect

BT, kabel, IrDAavh av terminal

Converter API permits development of custom solutions

Page 39: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Data synchronization using mobile device OS synchronization support

Solution has important functionality Users already employ this synchronization method

An advantage to extend the solution already in place

Several commercial synchronization solutions are extensions of the OS device synchronization.

Page 40: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Custom built synchronization solutions

Build using C/C++ or Java Must solve

Database problems Device support Networking protocol Conflict resolution Safety Supoprt for SyncML?

Integration with OS synch solution Maintenance Conclusion: Difficult/expensive

Page 41: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Commercial synch solutions

Delivered by database vendors More or less tied to their own data base products

Varying flexibility Platform for mobil server and device Amounts of data Conflict handling

May be sensible to let the choice of synch solution guide the choice of persistence solution

Page 42: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Commercial synch solutionsVendorProduct

OS supported

Synchronization

Sybase/

iAnywhere

MobiLink

CE, Palm, Symbian,Linux, Java

Two ways to all ODBC. Adapted using rules.

Rich communications

Publish/Subscribe, Synchronization and conflict solution in the data base Supports simultaneous connection to several databases. Both Java and .NET

SQL Remote Only Sybase Message based solution

IBMDB2 Everyplace Sync Server

CE, Palm, Symb, ...

SyncML two ways via Sync server DB2 DB

Thence to ODBC

publish/subscribe

OracleOracle 9i Lite

CE, Palm, Symb

Proprietary solution conncting to Oracle databases

Mobile server og mobile sync client.

MicrosoftSQL Server CE

CE 1. RDA

2. merge

Publish/SubscribeWeak conflict handling, but may be programmed

IBM (june 2007)

PointBasePointBase embedded edition and ME

Java Flexible synchronization UniSync server using JDBCnet for PB and Oraclesnapshot for other db-engines

Publish/Subscribe

Page 43: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Open source synch solutions

Funambol http://www.funambol.com/

Page 44: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

Open Mobile Alliance Data Synchronization and Device Management aka SyncML Heterogeneous synchronization solutions an obstacle to

integration SyncML industry standard(?) synchronization protocol Low impact so far

Already competing solutions on the market Except PIM Several major companies such as Motorola, Nokia, Sony

Ericsson, IBM and Siemens AG already support SyncML in their products (source Wikipedia)

SyncML a data synchronization protocol XML based Supports a number of transport protocols TCP/IP, HTTP , WSP,

OBEX, SMTP, POP3, IMAP ... Can transfer all kinds of data Makes allowances for limited resources on mobile devices Should work on all mobile devices using all kinds of data sources

Page 45: Molde University College INF 245 Fall 2007 OBø On Device Applications aka Smart or Fat Clients INF245 H2007 Ola Bø Høgskolen i Molde Build upon Martyn

Molde University College INF 245 Fall 2007 OBø

SyncML

Packages containing messages containing commands Message format defined in SyncML representation prototcol SyncML Sync Protocol defines interaction between client and server

as message sequences SyncML Transport Binding define transport protocol usage: HTTP,

WSP og OBEX