Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>



  • pg 1

IBM Pervasive Databases:
DB2 Everyplace and Cloudscape
Frank Koconis
Partner Enablement Consultant / IBM Information Management

Session: M14
Thursday, May 26, 2005
12:30 PM - 1:40 PM
•   The Problem: Data storage on mobile Devices
•   DB2 Everyplace
•   Cloudscape
•   Server Connectivity: DB2 Everyplace Sync Server
•   The Ultimate Question
•   Summary

The 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
    •   PDA’s are used at job sites to check out tools to workers
    •   Workers check tools back in when they finish using them
    •   Tools and worker’s 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”

The Problem (continued)
•   Mobile applications cannot use traditional RDBMS’s
•   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 IBM’s DB2 Everyplace or Cloudscape

DB2 Everyplace

What is DB2 Everyplace?
  The small-footprint relational
 database for mobile computing

    The 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

DB2 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

DB2 Everyplace- Rich Database Functionality
•   Wide range of data types including BLOB’s
•   Advanced indexing
•   Primary-key and check constraints
•   Transaction support
•   Identity (auto-increment) columns
•   Prepared statements

DB2 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 JSP’s

DB2 Everyplace Components
Component Name             Description
DB2 Everyplace Database    Database Engine
                           High performance data store for managing and
                           using data on mobile and embedded devices
DB2 Everyplace Sync Server Synchronization Server
                           Mobile user management and synchronization of
                           enterprise data with mobile and embedded devices
DB2 Everyplace             Application Development Tools
Software Development Kit   RAD tools, development plug-ins, whitepapers
                           and samples enabling developers to create DB2
                           Everyplace applications quickly

RAD Tools in the DB2 Everyplace SDK
•   Mobile Application Builder (MAB)
•   AppForge plug-in
•   WebSphere Studio Device Developer (WSDD) plug-in

Mobile 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

MAB- 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
    •   Supports automatic form creation directly from database table

•   Easy to use- visually create and edit forms by selecting
    controls from a palette
•   Sync API support for generation of synchronization code

Mobile Application Builder

Other 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 PDA’s
    •   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


What is Cloudscape?
      An embeddable, lightweight, relational
         SQL database engine for Java.

Cloudscape 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

Cloudscape- 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

Cloudscape- 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

Cloudscape- 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
    •   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!)

Cloudscape 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)

Cloudscape 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”

The 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              JDBC-DRDA
    Client               Driver                        JVM
    JDBC              JDBC-DRDA                              Cloudscape DB
    Client               Driver
    ODBC              ODBC-DRDA
    Client              Driver           Application         Cloudscape DB
    ODBC              ODBC-DRDA               Server
    Client              Driver
                                                             Cloudscape DB
     .Net              .Net-DRDA
    Client               Driver

*- Currently Under Development
Cloudscape 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!

Cloudscape 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”

IBM 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
     Server Connectivity:
The DB2 Everyplace Sync Server
  For DB2 Everyplace and Cloudscape

DB2 Everyplace Sync Server Architecture

DB2 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

DB2 Everyplace Sync Server Features (cont.)
•   Scalable
    •   Supports WAS Server Groups for High Availability and Scalable
    •   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

Sync Server Administration:
Mobile Device Administration Center

Cloudscape 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
And Now- The Ultimate Question
    (to which the answer is not 42)

DB2 Everyplace or Cloudscape?
                    DB2 Everyplace               Cloudscape

Footprint           ~200K                        8MB+

Database size       Small                        Small-to-medium

Language            C                            Java

Platform support    Many                         Any (except PDA’s)

DB Access Methods   ODBC,OLE, .Net, JDBC         JDBC, ODBC, .Net (future)

Concurrent Users    One                          Small group (using the
                                                 Cloudscape Network Server)
Synchronization     DB2 Everyplace Sync Server   DB2 Everyplace Sync Server

For More Information
•   DB2 Everyplace
    •   http://www-306.ibm.com/software/data/db2/everyplace/

•   Cloudscape (and the Cloudscape Network Server)
    •   http://www-306.ibm.com/software/data/cloudscape/
    •   http://incubator.apache.org/derby/

•   DB2 Everyplace Sync Server
    •   http://www-306.ibm.com/software/data/db2/everyplace/syncserver.html


IBM Pervasive Databases: DB2 Everyplace and Cloudscape
Session: M14

                        Frank Koconis
  Partner Enablement Consultant / IBM Information Management


To top