Title: Building Smart Client Applications
1Building Smart Client Applications
2Architectural Map
Smart Client
Mobile Data Store
Device Identification
Data Synchronization
Content Transformation
Messaging
Security
Enterprise Integration
3Topics
- Smart Client Characteristics
- Development Overview
- Mobile Data Store
- Synchronization
- Messaging
4Characteristics of Smart Client
- Persistent data
- Mobile data store
- High-performance data access
- Data Synchronization
- Integration with the Enterprise
5Characteristics of Smart Client
- Messaging
- Push important data to mobile devices
- Rich user experience
- Contains business logic
- Sophisticated User Interface
- Palm, PocketPC, EPOC, RIM, Java clients
6Development Overview
- Mobile Data Store
- C/C or Java
- SQL or data access APIs
- Data Synchronization
- SQL
- Messaging
- C/C or Java
- Rich User Interface
- C/C or Java
7Other Mobile Data Storage Options
- Proprietary APIs
- Palm DB, Flat File
- Custom-coded solutions
- Customer built data structures, searching,
sorting, and synchronization - Shrunk-down enterprise database
- Vendor reduces capabilities of enterprise
database to make it fit on small devices
8Other Mobile Data Storage Limitations
- Proprietary APIs
- One table per database
- Poor performance
- Limited capabilities
- Custom-coded solutions
- Very resource intensive
- Increased risk
- Increased maintenance costs
- Shrunk-down enterprise database
- Pre-chosen limited functionality
- Architecture not geared for mobile and wireless
devices
9Mobile Data StoreThe iAnywhere Solution
- Advantages of SQL
- Synchronization to industry standard enterprise
databases (robust and secure) - Extremely small footprint
- Hand-coded speed
- Reduced requirements for platform specific
knowledge
10Mobile Data StoreDevelopment Process
- Step 1 Develop application code
- Step 2 Invoke Analyzer
- Step 3 Compile
- Step 4 Deploy
- Step 5 Setup Synchronization
11Mobile Data Store How it Works
SQL / Data Access Code
Reference Database
Runtime Libraries (Data Store)
12Mobile Data StoreFeatures
- SQL compliant
- Referential integrity
- Transaction processing
- Multi-table joins
- Bi-directional cursors
- Customized for your application
- Footprint as low as 50K
- Data structures and algorithms designed for
in-memory database
13Mobile Data StoreFeatures
- Performance
- Support for indexes
- Pre-optimized queries
- Large storage capacity
- Integrated synchronization
14Building the Smart Client Application
- Step 1 Modify GUI
- Add alert, menu item
- Step 2 Add data store code
- Step 3 Add glue code
- Attach data store code to GUI
- Step 4 Run Analyzer
- Step 5 Compile/deploy
15Data SynchronizationArchitecture
Database Server
Synchronization Server
Remote Computers
16Data SynchronizationHow it Works
ConsolidatedData Store
ODBC
SynchronizationServer
SmartClient
smart
17Data SynchronizationIntegration Features
- Synchronize to industry standard databases
- Oracle8, Microsoft SQL Server, IBM DB2 UDB,
Sybase ASE, Sybase ASA - Synchronization scripts are in native language of
the enterprise database - Synchronize to other enterprise data sources
- SAP, Siebel, PeopleSoft etc
- Accommodated using adapters in server
- All synchronization is bi-directional
18Data SynchronizationSimple Example
- The upload_cursor script is used to insert,
update, or delete rows in the consolidated
database
SELECT emp_id, emp_fname, emp_lname FROM
employee WHERE emp_id ?
- The download_cursor script is used to insert or
update rows in the mobile data store
SELECT emp_id, emp_fname, emp_lname FROM
employee
19Data Synchronization Key Features
- Security
- Built-in authentication
- 128-bit encryption of communication between
client and synchronization server - Support for subsetting of data
- Support for horizontal and vertical partitioning
of data - Scalable
- Support for thousands of remote users
20Data SynchronizationConflict Detection Features
- Conflicts arise when sending data to enterprise
database - Data Store maintains old value and current value
- Synchronization server compares old values with
consolidated database - If old values match there is no conflict
- If old values do not match there IS a conflict
- Conflict Resolution
- Fully customizable by developer
- Scripts written in native language of enterprise
database - Can execute stored procedures or user-defined
resolutions steps
21Building Smart Client ApplicationData
Synchronization
22Messaging Message Delivery
- Store and forward message queuing
- Guaranteed message delivery
- Push capabilities
- Delivery and non-delivery acknowledgements
- Intelligent (program to program)
23Messaging JMS Interface
- JMS provider for Messaging Server
- Asynchronous communication from enterprise
applications to wireless devices - Or between enterprise applications
- Properties are exposed for communication
- IP address
- Server port
- Provider name
24Messaging Services Network and Device Support
- Networks
- ARDIS, Mobitex, CDPD, DataTAC, NORCOM, Analog
cellular, GSM, CDMA, Wireless LAN - Paging networks
- HDML alerts, email, SMS
- Devices
- Palm, PocketPC, DOS, Windows, EPOC, RIM, phone
25Summary
- Smart Client applications provide always
available access to your data - Mobile data store
- Enterprise synchronization
- Advanced messaging
- Overcome the challenges of wireless computing
- Low bandwidth
- Unreliable coverage
- Battery consumption
26Building Smart Client Applications