Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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 Mallick (2003)

2 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

3 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

4 Molde University College INF 245 Fall 2007 OBø On device application platforms No clear leader – several possibilities Windows CE Symbian Palm OS Linux

5 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 Pocket PCWindows Mobile CE.NET Windows Automotive

6 Molde University College INF 245 Fall 2007 OBø Windows CE development CE.NET2004ARM, MIPS2G-3G 5.0SH, x86VoIP

7 Molde University College INF 245 Fall 2007 OBø Windows CE Architecture Kilde Microsoft

8 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

9 Molde University College INF 245 Fall 2007 OBø

10 Palm OS Early success 75 % of the market in early 2000 many applications now fading New Palm devices are using windows as operating system

11 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 v Better support for communications Applications using C++, Java and WAP Symbian V 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 Q is 72%, Embracing (source computerworld.no ion/artikkel/id/47754 ) ion/artikkel/id/47754

12 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 V6.5.0) EMS (3GPP TS 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 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 >2GB Generic 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 environments Application 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 using TLS with IMAP, POP3, and ACAP, RFC 2595 Extensible framework for push 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 framework Tools and Documentation Eclipse- and CodeWarrior-based development environments Library of books from Symbian Press Developer portal at developer.symbian.com

13 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 html

14 Molde University College INF 245 Fall 2007 OBø Java MIDP Optional JSR packages Optional JSR Packages

15 Molde University College INF 245 Fall 2007 OBø

16 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

17 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

18 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

19 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

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

21 Molde University College INF 245 Fall 2007 OBø Local storage

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

23 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

24 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

25 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

26 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

27 Vendor Product OS supported footprintsynchronizationencryption 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++ IBM DB2 Everyplace CE, Palm, Symb, Linux, Java 150 kBSyncML two ways via Sync server DB2 DB From DB2 to ODBC ?SQL, but no transactions. Both VB, C, C++, Java, QBE Oracle Oracle 9i Lite CE, Palm, Symb 5 MB on CE + DB Down to 1 MB på andre Proprietary solution synchs with Oracle databaser yesPowerful administration tools Microsoft SQL Server Compact CE1-3 MBVia HTTP over MIIS to Microsoft SQL Server SSLDevelopment using Visual Studio.NET PointBase PointBase embedded edition and ME Java EE- >J2SE ME- >+J2ME 45kb ->Flexible synchonisation using UniSync server and JDBC ?100 % Java

28 Molde University College INF 245 Fall 2007 OBø Integration with enterprise systems

29 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

30 Molde University College INF 245 Fall 2007 OBø Types of Synchronization PIM-synkronization: , addressbook and calendar Microsoft Outlook og Lotus Notes on desktop File synchronization Data synchronization

31 Molde University College INF 245 Fall 2007 OBø Architecture for synchronization

32 Molde University College INF 245 Fall 2007 OBø Publish/Subscribe Model The server publishes data for different purposes The mobile device subscribes to data fitting the needs of the user

33 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

34 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

35 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

36 Molde University College INF 245 Fall 2007 OBø Synchronization using different transport mechanisms

37 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

38 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, IrDA avh av terminal Converter API permits development of custom solutions

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

40 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

41 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

42 Commercial synch solutions Vendor Product 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 RemoteOnly SybaseMessage based solution IBM DB2 Everyplace Sync Server CE, Palm, Symb,... SyncML two ways via Sync server DB2 DB Thence to ODBC publish/subscribe Oracle Oracle 9i Lite CE, Palm, Symb Proprietary solution conncting to Oracle databases Mobile server og mobile sync client. Microsoft SQL Server CE CE 1. RDA 2. merge Publish/Subscribe Weak conflict handling, but may be programmed IBM (june 2007) PointBase PointBase embedded edition and ME JavaFlexible synchronization UniSync server using JDBC net for PB and Oracle snapshot for other db- engines Publish/Subscribe

43 Molde University College INF 245 Fall 2007 OBø Open source synch solutions Funambol

44 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

45 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


Download ppt "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."

Similar presentations


Ads by Google