Title: What the FFA is mobile computing RAD Development with Java and Ultralite
1What the FFA is mobile computing?RAD
Development with Java and Ultralite
Ken Hunter Debashish Basu-Choudhuri Sybase (UK)
Ltd.
2Agenda
- UltraLite
- Small fingerprint database technology
- Platforms and APIs
- Development cycle
- Enterprise Synchronization
- Synchronization with MobiLink
- What is MobiLink?
- How MobiLink works
- MobiLink scripting
3Agenda
- GUI development
- Designing GUI in Java IDE
- Connecting GUI to Database
- Demonstration Field Force Automation (FFA)
- How to create an Ultralite Database
- Creating and Connecting the GUI
- Doing the Synchronization
4Mobile Devices
- Common characteristics
- No hard disk
- Battery-powered, slow CPU
- Limited memory
- Device-specific operating system
- Applications always stay running
- Examples include palmtops, cellular phones,
intelligent appliances - Development environment
- C-based development environment
- Increase in Java development
- Program data management structures from scratch
5UltraLite Philosophy
- UltraLite database compiled directly into
application - database customized to fit your application
- only some SQL functionality used
- only some of the schema used
- Generally runs on devices with slow processors,
little memory
6UltraLite Deployment Technology
- Small fingerprint database
- application-optimized database technology
- analyzer determines required features and tables
- builds in-memory database
- High Performance
- optimized database for in-memory use
- support for indices for fast data updates and
retrievals
7Cool Features Of UltraLite
- Small fingerprint (50K)
- Transaction processing
- Performance
- in-memory database
- indexes
- Referential integrity
- Standard SQL (subset of ASAs SQL)
- multi-table joins
- BLOB support
-
- Enterprise synchronization (MobiLink/iAnywhere
Server)
8UltraLite Supported APIs
- Embedded SQL
- C or C code mixed with SQL statements
- C API
- special API that uses no SQL
- perfect for embedded systems programmers
- Java
- JDBC (uses SQL)
- In all cases, SQL must be STATIC
9Static SQL
- All queries must be predefined
- no ad-hoc queries
- Static SQL is not a major limitation
- Instead of this
- SELECT FROM employee WHERE last_name Smith
- SELECT FROM employee WHERE last_name Jones
-
- Developers would do this
- SELECT FROM employee WHERE last_name ?
10Field Force Automation Demo
- Build the Ultralite database
- Create a reference database
- Define SQL statements for your application
- Sybase Central
- ul_add_statement
- Generate the Ultralite data access code
- Ultralite Generator
11Supported Platforms
- C/C version
- Windows 95/98/NT/2000 (development only)
- Windows CE
- PalmOS
- WindRiver VxWorks
- MS-DOS (yes, MS-DOS!)
- RIM (beta)
- Java version
- EPOC
- JDK 1.1.4, JDK 1.2 (Java 2)
- Working on KVM support
12Supported Development Tools
- Windows (all versions), RIM
- Microsoft Visual C 6
- Palm
- Metrowerks CodeWarrior for PalmOS 5.0/6.0, GNU
(soon) - VxWorks
- WindRiver Tornado (based on GNU)
- DOS
- Microsoft Visual C 1.52c or higher
- Java
- PowerJ, Sun JDK,
13UltraLite for Java
- Java-based solution
- Entirely written in Java no native code
- JDBC 1.2
- Supports everything but full metadata
- Enough metadata support for Java tools like
PowerJ - Small and fast
- Application database lt 150KB
- classes.zip is 7MB
14UltraLite Development (Java)
Reference Database
Application Java/JDBC Code
15Field Force Automation Demo
16UltraLite Synchronization
- Session-based
- requires a direct connection to the consolidated
database or iAnywhere Server/m-Business Studio - TCP/IP, HTTP, HotSync, ScoutSync
- Synchronous
- when finished, databases are in sync
- Supports non-Sybase consolidated databases (via
ODBC) - ASA, ASE, IBM, Microsoft, Oracle
- Supports ERP systems
- iAnywhere Server
17What is MobiLink?
- A two-way synchronization technology for large
scale mobile database deployment - remote database (mobile, embedded, or workgroup
server database) - consolidated database (enterprise, workgroup, or
desktop database) - A server that processes synchronization requests
from mobile databases
18What is MobiLink?
19MobiLink Design Goals
- Heterogeneous consolidated database
- Scalable and robust (tens of thousands)
- Manageable in large deployments
- Support handheld and wireless devices
- Flexible
20MobiLink Consolidated Databases
- Oracle8
- Microsoft SQL Server
- IBM DB2 UDB
- Adaptive Server Enterprise (ASE)
- Adaptive Server Anywhere (ASA)
- ODBC
21MobiLink Remote Databases
- Adaptive Server Anywhere (ASA)
- Windows 2000/NT/98/95
- Windows CE
- Linux and Unix
- UltraLite
- Palm Computing Platform
- Windows CE
- Java
22How Synchronization Works
- 1. Upload
- ASA or UltraLite keep track of all changes since
previous synchronization - All changes are sent in a single upload stream
- MobiLink applies changes in a single transaction
- 2. Download
- Scripts in the consolidated database determine
changes that need to be downloaded - All changes are sent in a single download stream
- 3. Acknowledge download
23The MobiLink Synchronization Process
24MobiLink Scripts
- Scripts define actions performed in the
consolidated database at each stage or event
during synchronization - Some scripts return result sets
- Some scripts are just procedural
- Native language of consolidated database
- Stored in tables in the consolidated database
- Defined using Sybase Central
25Synchronization - Key Features
- Bi-directional
- data flows from consolidated to remote and from
remote to consolidated - Data partitioning and subsetting
- each user can get only a subset of the data
- Conflict detection and resolution
- what happens if two remotes change the same data?
- Encryption
- MobiLink uses Certicom (strong encryption -- 128
bit) - Efficiency
- only changes are synchronized
26Field Force Automation Demo
27Architecture Benefits
- Rich functionality
- referential integrity
- complex queries and joins
- transaction processing
- Increased productivity
- develop using SQL
- Platform support
- write database interface once
- use on any of the supported platforms
- Synchronization
- MobiLink server synchronizes an UltraLite
database with the consolidated database - ERP connectivity
28Thank You