Title: IBM Pervasive Databases: DB2 Everyplace and Cloudscape
1IBM Pervasive DatabasesDB2 Everyplace and
Cloudscape
Platform
Frank Koconis Partner Enablement Consultant / IBM
Information Management Session M14 Thursday,
May 26, 2005 1230 PM - 140 PM
2Contents
- The Problem Data storage on mobile Devices
- DB2 Everyplace
- Cloudscape
- Server Connectivity DB2 Everyplace Sync Server
- The Ultimate Question
- Summary
3The Problem Data Storage on Mobile Devices
- Mobile devices operate in an embedded
(disconnected) or occasionally-connected
environment - Example Asset-tracking system for a construction
company - PDAs are used at job sites to check out tools to
workers - Workers check tools back in when they finish
using them - Tools and workers badges are bar-coded
- Once per day, each PDA syncs to central server
to upload transactions and receive info on new
tools and employees - Very successful Tools stopped disappearing
4The Problem (continued)
- Mobile applications cannot use traditional
RDBMSs - Developers often use flat-file storage on
mobile devices, but this has problems - Requires a lot of coding
- Error-prone
- No transaction processing, indexing, joins, etc.
- A better solution use a small-footprint database
engine, such as IBMs DB2 Everyplace or Cloudscape
5DB2 Everyplace
6What is DB2 Everyplace?
- The small-footprint relational
- database for mobile computing
7The DB2 Everyplace Architecture
- Click to add text. First bullet point Times 25
point - Text In bullet form Times 25 point
- Second level Times 21 point
- Third level Times 19 point
8DB2 Everyplace- Key Features
- Written in highly portable C
- Runs on most popular devices
- Palm OS, Windows CE/Pocket PC, Symbian, QNX
Neutrino, Linux, and WinNT/2000/XP) - Ideal for embedded mobile applications
- Very small footprint (about 200K)
- Zero admin on client
- Supports PDA memory expansion cards, including
Microdrive - Support for over a dozen national languages
- Local data encryption
9DB2 Everyplace- Rich Database Functionality
- Wide range of data types including BLOBs
- Advanced indexing
- Primary-key and check constraints
- Transaction support
- Identity (auto-increment) columns
- GROUP BY and ORDER BY
- Prepared statements
10DB2 Everyplace Functionality (continued)
- Read-only media support on WinNT/2000/XP Linux
- Remote stored procedure calls
- Scrollable cursors
- Supports standard programming interfaces
- DB2 CLI (subset of ODBC)
- JDBC (subset)
- .NET
- Develop using C/C, Java, C, Visual Basic or
JSPs
11DB2 Everyplace Components
12RAD Tools in the DB2 Everyplace SDK
- Mobile Application Builder (MAB)
- AppForge plug-in
- WebSphere Studio Device Developer (WSDD) plug-in
13Mobile Application Developer
- Generates GNU-compatible C code for Palm OS
- Generates Java code for devices supporting the
Sun PersonalJava API - WinCE/PocketPC
- Symbian OS V6 V7
- Sharp Zaurus
- PalmOS 5 (StrongARM or XScale processor required)
- Rapid prototyping- generates apps without writing
any code
14MAB- Features
- Fully supports relational database operations
- Database joins on a single form
- Automated BLOB data handling
- Databases on expansion cards (Microdrive, CF, SD
Card, Memory stick) - Supports automatic form creation directly from
database table definitions - Easy to use- visually create and edit forms by
selecting controls from a palette - Sync API support for generation of
synchronization code
15Mobile Application Builder
16Other RAD tools in the DB2 Everyplace SDK
- AppForge
- AppForge MobileVB is an add-in for Microsoft
Visual Basic - Provides development environment for Palm, Pocket
PC Symbian - Develop once, deploy anywhere! (platform
independence) - IBM provides plug-in for AppForge MobileVB to
enable DB2 Everyplace application development - Websphere Studio Device Developer (WSDD)
- Enables developers to extend e-business
applications to mobile devices such as cellular
telephones and PDAs - Extends the WebSphere family to build
applications based that support J2ME as well as
non- J2ME configurations - Lets developers create Java based DB2 Everyplace
applications - Supports both relational database and
synchronization features
17Cloudscape
18What is Cloudscape?
- An embeddable, lightweight, relational SQL
database engine for Java.
19Cloudscape History
- Cloudscape, Inc. founded in 1996 by a team of
experts from Informix, Illustra, Oracle and
Sybase - Purchased in September of 1999 by Informix
Corporation - Acquired by IBM with Informix purchase in July of
2001 - Released by IBM as open source (Derby) in
September of 2004
20Cloudscape- Key Features
- Pure Java (runs on any machine with a JVM!)
- Embeddable
- Can be installed as a JAR file (as part of a Java
application) - Can be started within an application
- Installation, startup and shutdown are invisible
to user - Fully-functional RDBMS
- Adheres to standards
- JDBC
- SQLJ
- ANSI SQL-92
21Cloudscape- Key Features (continued)
- "Zero" Administration
- No need for DBA at customer site
- Users may even be unaware that a database engine
is present - Lightweight
- Can run in as little as 8MB
- Scales to Moderate Size
- No defined limits on table or row sizes
- Table size limit of 2GB in some environments (OS
limit) - Existing customer databases of about 10 GB
working well
22Cloudscape- Key Features (continued)
- Supports Disk Encryption
- Tested with IBM JCE
- Easy for Application Developers to Use
- To set up, just copy Cloudscape JAR files and set
Java CLASSPATH - Database engine starts automatically when
application attempts to connect to it - Cloudscape databases are completely portable
- To move a Cloudscape database to another machine,
just copy it! (This works even if the machines
have different OS or hardware!)
23Cloudscape is a Fully-Functional RDBMS
- Indexes
- Views
- Triggers and Stored Procedures
- Constraints (primary-key, foreign-key, unique,
check) - Concurrency Support
- Transactions (with crash recovery)
- Savepoints
- Row-level locking, with escalation
- JDBC isolation levels (including dirty-read)
24Cloudscape Database Functionality (continued)
- Scrollable Cursors (result sets)
- Cascading Delete
- Internationalization/Localization Support
- Supports multi-user access (using Network Server)
- SQL syntax is very similar to DB2 UDB
Develop on Cloudscape deploy on DB2
25The Cloudscape Network Server
- Allows multiple local and/or remote clients to
concurrently access the same Cloudscape databases - Clients may be JDBC, ODBC or .Net
- 100 Java
JDBC Client
JDBC-DRDA Driver
JVM
JDBC Client
JDBC-DRDA Driver
Cloudscape DB
DRDA Application Server
ODBC Client
ODBC-DRDA Driver
Cloudscape DB
ODBC Client
ODBC-DRDA Driver
Cloudscape DB
.Net Client
.Net-DRDA Driver
- Currently Under Development
26Cloudscape as a Development Database
- The problem
- Developers need a database for unit testing of
their code - Usual practice a development database (DB2 UDB)
on a server - However, this has many disadvantages
- Must pay for DB2 UDB license on the server
- Requires a DBA to set up and administer the
development database - BIGGEST PROBLEM Whenever one developer trashes
the database, work stops for everyone, and the
DBA must rush to fix it!
27Cloudscape as a Development Database (cont.)
- A better solution A Cloudscape database for each
developer - Create a master database, then copy it onto
developer workstations - If any developer trashes it, he/she just
re-copies from the master! - No DBA required, and other developers are not
affected! - Later, when modules are integrated, switch to DB2
UDB
Develop on Cloudscape deploy on DB2
28IBM Products which use Cloudscape
- WebSphere (WSAD and WAS)
- Cloudscape used for sample applications
- Can handle pooling of Cloudscape connections
- Integration plug-in allows easy development in
Eclipse environment - Tivoli Monitor and Tivoli Storage Area Network
Manager - Both use embedded Cloudscape
- Lotus LearningSpace
- Uses embedded Cloudscape
- IBM Workplace Client
- Uses embedded Cloudscape
- Many others deployed and under development
29Server ConnectivityThe DB2 Everyplace Sync
Server
- For DB2 Everyplace and Cloudscape
30DB2 Everyplace Sync Server Architecture
31DB2 Everyplace Sync Server- Key Features
- Efficient 2-way synchronization
- Supports most server databases (DB2 UDB, IDS,
Lotus Domino, Oracle, SQL Server, Sybase and
Cloudscape) on many platforms - Optimized, secure transmission (56-bit or 128-bit
encryption) - Centralized administration
- User and group administration
- Data subscription by user or group, with
horizontal and/or vertical data filtering - Customizable conflict resolution (using user
exits) - Automatic distribution of data, files and
applications - Monitor synchronization progress in real-time
- Zero administration on mobile device
32DB2 Everyplace Sync Server Features (cont.)
- Scalable
- Supports WAS Server Groups for High Availability
and Scalable configurations - Automatic upgrades of sync client and DB2
Everyplace or Cloudscape database software
without user interventions - Remote Stored Procedure support
- Allows mobile applications to access server data
sources in real time - Now works with Cloudscape
- Cloudscape supported as a mobile client and as a
server data source
33Sync Server AdministrationMobile Device
Administration Center
34Cloudscape Synchronization
- New sync client for Cloudscape
- Works with DB2Everyplace Sync Server
- 100 Java
- Synchronize Cloudscape clients to any database
supported by DB2 Everyplace Sync Server,
including Cloudscape - DB2 UDB on all platforms also DB2 on zSeries and
iSeries - IBM Informix (IDS)
- Oracle
- MS SQL Server
- Sybase
- Cloudscape
35And Now- The Ultimate Question
- (to which the answer is not 42)
36DB2 Everyplace or Cloudscape?
37For More Information
- DB2 Everyplace
- http//www-306.ibm.com/software/data/db2/everyplac
e/ - Cloudscape (and the Cloudscape Network Server)
- http//www-306.ibm.com/software/data/cloudscape/
- http//63.209.20.13/cgi-bin/db2www/cloudscapeforum
.d2w/main - http//incubator.apache.org/derby/
- DB2 Everyplace Sync Server
- http//www-306.ibm.com/software/data/db2/everyplac
e/syncserver.html
38Questions?
39IBM Pervasive Databases DB2 Everyplace and
CloudscapeSession M14
Frank Koconis Partner Enablement Consultant / IBM
Information Management fkoconis_at_us.ibm.com