Developing PocketPC Applications for a SemiConnected Environment - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Developing PocketPC Applications for a SemiConnected Environment

Description:

Stephen Forte (New York) Farhan Mohammad (Minesota) Goksin Bakir (Turkey) Malek ... On the street, at work, at home, at the zoo ... Traveling, roaming ... – PowerPoint PPT presentation

Number of Views:126
Avg rating:3.0/5.0
Slides: 29
Provided by: fasahat
Category:

less

Transcript and Presenter's Notes

Title: Developing PocketPC Applications for a SemiConnected Environment


1
Developing PocketPC Applications for a
Semi-Connected Environment
  • Malek Kemmou
  • CEO Arrabeta
  • kemmou_at_kemmou.com

2
xmlContainer.Render()
  • CEO Arrabeta (consulting firm based in
    Casablanca Morocco)
  • Newtelligence Alliance Partner
  • Senior Consultant and Senior Trainer
  • Solutions Architecture, integration,
    interoperability
  • Microsoft Regional Director for Middle East
    and Africa
  • Ineta MEA Speaker Bureau
  • Speaker at many conferences and events
    (TechEd, NDC, MDC, DevDays, DevEssentials )

3
Microsoft Regional Directors
  • http//www.microsoft.com/rd
  • 140 experts from all around the world
  • Speaking at PDC 2004
  • Clemens Vasters (Germany)
  • Stephen Forte (New York)
  • Farhan Mohammad (Minesota)
  • Goksin Bakir (Turkey)
  • Malek Kemmou (Morocco)
  • Ahmad Badr (Egypt)
  • Hossam Khalifa (Egypt)

4
Agenda
  • A semi-connected World
  • The Challenge of Data Persistence
  • Storage possibilities
  • I/O
  • Pocket Access
  • SQL Server CE
  • Synchronizing the Data
  • Web Services
  • Merge Replication
  • RDA

5
Our World
  • Business is conducted everywhere
  • Distribution, Customer Relations
  • Shipping
  • Field Industries Construction, Civil
    Engineering, Telecom Infrastructure, Media
  • Consulting, Support
  • Travel Industries

6
Our World
  • Customers are everywhere
  • On the street, at work, at home, at the zoo
  • Traveling, roaming
  • Out in the mountains, in rural areas
  • Wherever people are, there are business
    opportunities
  • Sales
  • Customer satisfaction

7
Our World
  • Information is crucial
  • Agile Business need
  • Faster access to information
  • More reliable and up to date information
  • More reactivity to available information

8
Our World
  • Connectivity is
  • Not everywhere (Infrastructure)
  • Expensive on the field (GSM / GPRS / )
  • Slow (bandwidth)
  • GSM 14.4 kbs
  • GPRS 28.8 kbs
  • Not very reliable
  • Network congestion
  • Discontinuity

9
Semi-Connectedness
  • Get connected
  • At the office, before leaving for the field
  • On the field, using any form of connectivity
    available
  • Fetch and persist Data
  • Use the data in disconnected mode
  • Consume
  • Modify
  • Get Connected and Synchronize Data

10
Data Persistence
  • Challenge
  • Small device
  • Portable power (batteries)
  • Security (device can be easily stolen or lost)
  • Need for secure, light weight, usable format
    storage

11
Storage Locations
  • File IO
  • Easy to develop
  • Not very easy to deploy (number of devices)
  • Can use synchronization mechanisms
  • Usability depends on format
  • XML easy to use, heavy weight. Fit for small
    amounts of Data
  • Text (CSV, position ) light weight on storage,
    not flexible, needs parsing / formatting
    (performance?)

12
Storage Locations
  • Pocket Access
  • No managed providers
  • Not very easy to deploy (number of devices)
  • Can use synchronization mechanisms
  • No Replication mechanism with SQL Server
  • Usable if managed providers are developed
  • Can use third party tools

13
Storage Locations
  • SQL Server CE
  • Managed providers
  • Two synchronization mechanisms
  • Can also easily be populated by code
  • Easy to use
  • Familiar relational database access
  • Performance
  • Efficiency
  • Compacted Data on transfer and on storage

14
SQL CE Supported Platforms
  • PocketPC 2002, 2003, Phone Edition
  • Managed support
  • .NET CF in ROM for Pocket PC 2003
  • Native support
  • eVC v4.0 via OLEDBCE
  • Embedded
  • Next release of Windows CE.NET codenamed Macallan
  • Managed support
  • Native support
  • eVC v4.0 via OLEDBCE

15
Demo
  • Creating and populating
  • A SQL CE Database
  • Through code

16
Database Feature SetRich functionality for small
footprint
  • Multi-column indexes
  • Referential integrity
  • Sub-selects (IN)
  • Defaults
  • Inner/outer joins
  • One file database
  • Null support
  • Unicode support
  • Transactions
  • Data-types
  • Real, Numeric, NVarChar, NText, Image, Integer,
    DateTime, VarBinary, UniqueIdentifier, Money
  • Having/group by
  • Seek on index
  • Set functions
  • Identity attribute
  • Local security - DB encryption (128bit) and
    database password

17
Deployment considerations
  • Database stored on sdf file
  • Deployment Options
  • Active Sync (small number of devices, common
    Data)
  • Flash cards
  • Code (application creates Database at start)
  • Permits using code to populate (Docked State)
  • Delete / recreate

18
Populating with Data
  • Query Database on server and store locally
  • Usable with other than SQL Server
  • Highly flexible (implement your own logic)
  • Low performance, easy and dirty
  • Use Replication
  • Highly performing compacting algorithms
  • Leverage IIS and SQL security
  • Replication approach, two way, keep track of
    changes
  • Two techniques
  • Remote Data Access (RDA)
  • Merge Replication

19
SQL CE Architecture
20
Connectivity  Transport
  • Utilize Web technology
  • HTTP communication
  • Internet and Intranet
  • Security via IIS
  • Authentication (anonymous, basic, NTLM)
  • Authorization
  • Encryption for secure transfer (SSL)
  • Access through firewalls

21
ConnectivityMerge Replication
  • SQL Server 2000 features crucial for SQL Server
    CE
  • Vertical and horizontal partitioning
  • Dynamic horizontal filters
  • Auto ranged identity columns
  • Standard/custom conflict resolvers

22
Merge Replication APIs
  • System.Data.SQLServerCe.SqlEngine.CreateDatabase
  • Replaces AddSubscription Method
  • Creates blank database
  • System.Data.SQLServerCe.Replication.Synchronize
  • Initial Sync
  • Creates schema, downloads data, creates
    constraints
  • Subsequent Sync
  • Push modified data up, then bring modified data
    down

23
Demo
  • Merge Replication

24
ConnectivityRemote Data Access
  • Access to SQL Server 7.0 SQL Server 2000
  • Download to device and disconnect
  • Disconnected tracking capability
  • Extremely easy to setup and use
  • Effective scaling

25
RDA APIs
  • System.Data.SQLServerCe.RemoteDataAccess.Pull
  • Brings data from server to device
  • Data selected via SQL statements
  • Creates and populates local table
  • Allows for tracked and untracked data
  • System.Data.SQLServerCe.RemoteDataAccess.Push
  • Sends modified data to server
  • System.Data.SQLServerCe.RemoteDataAccess.SubmitSQL
  • Pass SQL DML statement

26
Demo
  • Remote Data Access

27
Small Data ExchangeWeb Services
  • Limited serialization possibilities
  • No typed DataSet
  • No access to XMLSerializer from .Net Compact
    Framework
  • Use structures
  • For Datasets, can use diffgrams
  • Useful for
  • reuse of existing services
  • Small temporary data
  • No direct access to Database from the Web

28
Demo
  • Web Service Client

29
Summary
  • Developing for a semi-connected environment
  • Persisting data
  • I/O (small semi-static data)
  • SQL Server CE
  • Local Execution
  • Easy to develop with .Net Compact Framework
  • Reuse of existing business logic
  • Synchronizing
  • Web Services
  • Merge Replication
  • Remote Data Access

30
Questions ?
  • http//www.malekkemmou.ma
  • kemmou_at_kemmou.com
Write a Comment
User Comments (0)
About PowerShow.com