1
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Software Group
© 2005 IBM CorporationJanuar 2005 Joachim Stumpf
IBM Mobile Databases
Joachim StumpfDB2 Technical ConsultantIBM [email protected]
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
AgendaIntroductionƒKey components ƒInfrastructureƒPackaging
Technical partƒDatabase functions and features (DB2 Everyplace)ƒDatabase functions and features (IBM Cloudcsape)ƒSync architecture and AdministrationƒApplication developmentƒInformation sources
2
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Device Company
IBM Mobile solutions-- technical overview
Browser Application
DataLWWCMWebsphere Everyplace Wireless Gateway
online
Application
Message Message
Application
DataWebsphere MQ Everyplace
partlyoffline
DB2 EveryplaceIBM CloudscapeDB2 PE/WE Satellite functionalityWebsphere Everyplace Access
Application
Data Data
offline
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
The Value of Mobilizing - key access points
Employees- extending the Enterpriseƒstay current with office (e-mail, calendar, PIM)ƒautomate tasks (paperwork)ƒaccess to peers and experts (help, info, sharing)ƒaccess to business information (inventory, shipments, rates,...)ƒreceive alerts
Customer- extending the Web Presenceƒprovide requested information on products, prices, bidsƒaccess to services, help, status ƒprovide assistance (self help, directions to closest "X")ƒprovide alternatives (flights, stocks, ...)
Partners / Suppliers - extending Communicationƒaccess to contactsƒaccess to business informationƒaccess to products, incentives, experts
Deliver Value to
3
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM DB2 Family
HostsDB2 UDB for OS/390DB2 for VSE & VMDB2 UDB for i series
Personal(Win 98,ME)XP(Win NT)/2000/2003Linux
Clusteroption
AIXLinuxWin 2000/2003SolarisHP-UX
Clients
WorkgroupLinuxWin 2000/2003AIXSolarisHP-UX
Enterprise server editionWin XP/2000/2003AIX, HP-UX, SolarisLinux
Universal AccessUniversal AccessUniversal ApplicationUniversal ApplicationUniversal ExtensibilityUniversal ExtensibilityUniversal ScalabilityUniversal ScalabilityUniversal ReliabilityUniversal ReliabilityUniversal ManagementUniversal Management
DB2DB2 Connect
EveryplaceJ2ME MIDPPalm OSWin CE/PocketPCSymbian OS 6QNX Neutrinoembedded LinuxLinuxWin 32 (2000,XP,2003)
Cloudscape
LinuxWindowsMacOsAIX, Solaris, HP-UXZ/OS, i5/OS, OS/390Requires a J2SE 1.3 or 1.4 VM
Satellite
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace Database
Application Programming InterfaceCLI/ODBC JDBC ADO.NET
Very small Footprint: ~200-250 KBGlobalized for major languages, Unicode/UTF8
DB2 Everyplace is a relational database with just a 200 Kilobyte footprint that allows application development with several API’s.Focus with this database is
PDA and small embedded devices – no DBA required!
4
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape?IBM Cloudscape based on Apache Derby is a Java-based relational database
technology with just a 2 megabyte footprint that simplifies application development and makes it even easier to deploy them – no DBA required!
Small Foot Print 2 MB
NoDBAs
JavaBased
Fully Embeddableor Server-based
SQL’92Upwardly
Compatible with
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Personal EditionDB2 Personal Edition has the functionality as a standard DB2
server with the exeption of not serving remote clients.
Same API‘s as DB2JDBCODBC/CLI , OLE DB , .Net managed providerPerl,PHP(ODBC)
Same Tools as a DB2 serverDB2 Control Center ...ReplicationRemote admin capability
Footprint : 200 MB+
5
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Mobile database positioning
DB2 Personal Edition
IBM Cloudscape
DB2 Everyplace
ServerLaptopPDA
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace Infrastruktur
Mobile device administration center
Syncserver
Syncclient
API's
Reference : http://www-3.ibm.com/software/data/db2/everyplace/
DB2Everyplace/
IBMCloudscape
API's
DB2 DB
MobileZentrale
Backend databaseAny JDBC compliant DB
6
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Personal edition Infrastructure
Replication center
Capture/Apply
API's
Reference : http://www-3.ibm.com/software/data/db2/everyplace/
DB2PersonalEdition
API's
DB2
MobileZentrale
Capture/Apply
DB2
Apply
WS Information Integrator
DB
Capture
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace Database Edition and SDKDB2 Everyplace
Editions
Syncclient
API's
Reference : http://www-3.ibm.com/software/data/db2/everyplace/http://www-306.ibm.com/software/data/db2/everyplace/v82-tools-samples.html
Mobile Application
Builder
SDK
DB2 Personal Developer Edition
Database Edition
DB2Everyplacedatabase
APIs
Database Edition
Appforge
plugins
JSP
PackageQBE
MIDP
package
Samples
7
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 EveryplaceEditions
DB2 Everyplace editions and components
Enterprise/ExpressEditionDB2
Mobile device administration center
Syncserver
Syncclient
DB2Everyplace
API's
Reference : http://www-3.ibm.com/software/data/db2/everyplace/
SDK
DB2 Personal Developer Edition
Database Edition
DB2 Universal Developer Edition
Enterprise Edition
DB2Everyplace
API's
Database Edition
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Mobility on Demand feature for DB2 UDB
EditionsMobile Devices
Administration Center
Syncserver
Syncclient
Mobility on DemandFor Express
Mobility on DemandFor UDB
DB2Everyplacedatabase
APIs
Reference : http://www-306.ibm.com/software/data/db2/everyplace/mobilityondemand.html
8
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Open Source vs. CommercialDerby
• Core RDBMS Engine• Embedded JDBC Driver• Network Server• Tools
–-Ij–-dblook–-import/export
• User manuals (web-accessible)
IBM Cloudscape• Technical Support• Installers + JRE• Examples and scripts• DB2 Universal JDBC Driver• Eclipse plug-ins
–Database browsing–DB2 migration
• Manuals (eclipse and PDF)• Translated error messages and
manuals (9 languages)
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
AgendaIntroductionƒKey components ƒInfrastructureƒPackaging
Technical partƒDatabase functions and features (DB2 Everyplace)ƒDatabase functions and features (IBM Cloudcsape)ƒSync architecture and AdministrationƒApplication developmentƒInformation sources
9
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace Database Architecture
Application Programming InterfaceCLI/ODBC ADO.NET JDBC
SQL CompilerParser, Semantics
Optimizer, Interpreter
Data Manager ServicesIndex Manager, Record Manager
Buffer Manager
Operating System Services
DB2e
System Tables:DB2eSYSTABLESDB2eSYSCOLUMNSDB2eSYSRELSDB2eSYSUSERS
User Tables......
Footprint: approx. 220KBWell performing
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace SQLƒCALL procedureƒCREATE INDEX (asc/desc) bidirectional ƒCREATE TABLE with encryption option + ALTER TABLEƒGRANT/REVOKE encrypt ...ƒDROP TABLE / INDEXƒ(Automatic) ONLINE Reorg ƒEXPLAINƒINSERT with subselects and default valuesƒDELETEƒUPDATE (records)ƒSELECT (records) with
–JOIN ( up to 8 tables)–GROUP BY–ORDER BY (asc/desc)–LIMIT (integer) for result set
ƒLOCK TABLEƒIN list predicateƒscrollable cursorsƒBasic transaction support ƒMultiple connections serialized
10
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace CharacteristicsCREATE TABLE
ƒ with following datatypes–INTEGER –SMALLINT–DECIMAL (Big)–CHARACTER(32k)–VARCHAR(32k)–BLOB(32k)–DATE–TIME–TIMESTAMP
ƒand options–PRIMARY KEY with more than one column–referential constraints–CHECK constraints–Identity Column (autoincrement INT,SMALLINT,DEC)
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
CREATE TABLE
create table ORDERS (CUSTNO CHAR(6) NOT NULL,
ENTRY TIMESTAMP NOT NULL DEFAULT Current Timestamp,
ITEM CHAR(15) ,PRICE DECIMAL(9,2),
Check (Price < 100),
PRIMARY KEY (CUSTNO,ENTRY))
11
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace Functions
Functions supportedƒAVG(expression)ƒSUM(expression)ƒMIN(expression)ƒMAX (expression)ƒCOUNT(expression)ƒCONCAT(expression,expression)ƒMOD(expression,expression)ƒLENGTH(expression)ƒRTRIM(expression) ƒLCASE(expression)ƒUCASE (expression) ƒDate/Time/Timestamp (value)
expression can beƒa literal like * ƒcolumn name , function , special register like Current date/time/timestamp
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape footprint
• Engine jar file is around 2Mb– Optional Jar files
• Network server ~150k• Tools ~200k
• Runtime memory use– Dependent on application, data caching etc.– Can run when Java heap memory restricted to 4Mb– Have run in machines with only 16Mb physical memory
12
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape Engine
• Database code written using the Java programming language
• Write Once Run Anywhere– Requires a J2SE 1.3 or 1.4 virtual machine– Any hardware, any operating system
• Single binary does run everywhere– Linux, Windows, MacOs, AIX, Solaris, Z/OS, AS400, OS/390, …
• Database on-disk format is platform independent too!
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape features
• Multi-user, multi-threaded, transactions, row locking, isolation levels, lock deadlock detections, crash recovery, backup & restore
• SQL– Tables, indexes, views, triggers, procedures,
functions, temp tables– foreign key and check constraints– joins, cost based optimizer
• Data caching, statement caching, write ahead log, group commit
• Multiple databases per system
13
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape Standards
• SQL– SQL92, SQL99, SQL2003, SQL/XML, …
• Java– J2SE 1.3, 1.4– JDBC 2.0 & 3.0– J2EE – JDBC driver for J2EE 1.4 & 1.3– J2ME/OSGi
• DRDA
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape – Data Types
• CHAR, VARCHAR, LONG VARCHAR, CLOB• SMALLINT, INT, BIGINT, DECIMAL, REAL,
FLOAT,DOUBLE• CHAR FOR BIT DATA, VARCHAR FOR BIT
DATA, LONG VARCHAR FOR BIT DATA, BLOB
• DATE, TIME, TIMESTAMP
• Match DB2 UDB LUW in limits
14
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape embedded
Java Virtual Machine
Derby engine
Database(s)on disk
Application
JDBC
- Database only accessible fromsingle JVM- Java/JDBC only- No network connectivity
- Typically is single applicationper JVM (but could be multiple)
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Traditional Client Server
Java Virtual Machine
Derby engine
Database(s)on disk
NetworkServer
DRDA
JCC (JDBC)
CCC (CLI/ODBC)
-Multiple Client applications- Remote or local- JDBC, CLI,ODBC, PHP
PHP on top of ODBC
Client Applications via
Clients provided by IBM DM
Application
JDBC
15
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Cloudscape References• IBM Cloudscape Commercial Product
– www.ibm.com/software/data/cloudscape• Searchable documentation set (IBM Info Center)
– http://publib.boulder.ibm.com/infocenter/cldscp10/index.jsp• developerWorks Scholars Program
– www.ibm.com/software/info/university/products• developerWorks Cloudscape Zone:
www.ibm.com/developerworks/db2/zones/cloudscape• Virtual Innovation Center (VIC): Fall 2004
– www.developer.ibm.com/en_US/welcome/vic.html
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
AgendaIntroductionƒKey components ƒInfrastructureƒPackaging
Technical partƒDatabase functions and features (DB2 Everyplace)ƒDatabase functions and features (IBM Cloudcsape)ƒSync architecture and AdministrationƒApplication developmentƒInformation sources
16
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace Sync Architecture
SyncEngine
API
AdapterAPI
JDBCDatabase
DB2Family
Control database
DB2eCS
wbxml document
ConfigDatabase
AdapterAPI
Stored Procedure
Domino Notes
DPropR AdapterJDBC Adapter *Agent Adapter
File AdapterConfig Adapter
Sync Engine(servlet)
Moble Devices Administration Center
Application
Server
Mirror database
APPL
IBM Sync GUIDB2e AdapterAgent AdapterFile AdapterConfig Adapter Transport
API
HTTP
TCP/IPSync
Engine
SynchronizationReplication
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace EE CharacteristicsZero Admin for clientƒ Centralized admin in server (GUI, XML script)ƒ Auto deployment client tool
Mode of Synchronizationƒsynchronous, on demand, programmable API
OptimizationƒIncremental changes, bi-directional synchronizationƒRecoverable (resume) for message transportƒFastpath for Upload
Operational EnhancementsƒClient diagnostic and recovery toolƒFilterƒCustom logicƒOnline MDACƒClient Enhancementsuser reset; target directory
17
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Group
user
user
user
Subscription set
Subscription set
DB Adapter
File Adapter
subscription
subscription
subscription
Objects in MDAC
DeviceDevice
DeviceDevice
Device
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
18
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DeviceUsing local data encryption on table level (DES56)
Client AuthenticationMD5 authentication for standaloneLDAP authentication with WEA
TransportCommunication Encryption (56bit and 128bit DES) SSL with WEA
Synchronization ServerƒControlled Access through filtering
Security layers
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
SelTable X
Key
AAAA
A
ABBCC
Sel
1122
1
2
Table XKey Sel
AA
A
Sel
11
1
Table XKey Sel
AA
A
Sel
22
2
ReplicationSynchronization(subscribe)
Table XKey Sel
AAAA
A
A
Sel
1122
1
2
HorizontalHorizontalvertical
Filtering
Source ServerDevice
Sync Server
19
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
BasicƒConflicts between users changes and between users and source
changes are resolved by the SyncServer during replication cycleƒConflicts are at the row level
RulesƒSource changes take priority over users changesƒUsers changes are prioritized by the age of the base level of data
available to each user, newer base data = higher priorityResultsƒRejected Record is marked in the staging table with a reject codeƒA message will be send to the client in the next sync cycle
–DSYD028I A synchronization element for database 'db', table 'schema'.'table', primary key 'pkvalue', from device 'devtype_devid' was rejected due to 'reason'.
InfluenceƒCustom Logic allows to manipulate after each step
Conflict handling (Konsistenz)
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
20
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Robust Development environmentProgramming interfaces supported
ƒDB2 Call Level Interface (CLI) / ODBC subset ƒJava DataBase Connectivity (JDBC) driver for Java applicationsƒVisual Basic Interface for Win32,WinCE/PocketPC application developmentƒJSP processor & mini-http server (WinXX)ƒADO.NET support and integration in Visual Studio.NET
Included Developer toolsƒDatabase Import and Export utilitiesƒCommand Line Processor for all platformsƒSample applications with full source C/C++ codeƒMobile Application Builder available free from website
–Generate C code for Palm OS–Generate Java code for Java Virtual Machine supporting devices
Commercial Development toolsƒAppforge plugin - http://www.appforge.com/corp/press/2002Dec5-IBM.html ƒMetrowerks CodeWarrior - http://www.metrowerks.com/platforms/ƒMicrosoft eMbedded Visual Tools 3.0 - http://msdn.microsoft.com/cetools/ƒWebsphere Studio device developer-http://www.ibm.com/software/pervasive/products/wsdd/
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
DB2 Everyplace References/resourcesDB2 Everyplace websiteƒhttp://www.ibm.com/software/data/db2/everyplace
DB2 developer forumƒhttp://www-106.ibm.com/developerworks/db2/products/db2e/index.html
Redbooks (http://www.redbooks.ibm.com)ƒSG24-6217-00 IBM Replication Solutions for Pervasive Computing
DB2 magazineƒhttp://www.db2mag.com
DB2 Everyplace Forumƒhttp://server6.kepnet.com/cgi-bin/db2www/db2everyplaceforum.mac/main
DocumentationƒInstallation and User Guide manualƒApplication Development Guide manualƒSync server administration guide
Schulungƒhttp://www.ibm.com/de/learning/ ask for CG20
21
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Mobile database positioning
DB2 Personal Edition
IBM Cloudscape
DB2 Everyplace
ServerLaptopPDA
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Questions??Questions??
Thank you for your interestThank you for your interest
22
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Government: CDL Travel - Access control solution
Access to business critical areas and data. Authorisation with biometric data.Device with biometric fingerprint sensor OS: Linux
Customer : Hongkong Air cargo terminal
More Infoƒhttp://www.cdlusa.com/
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Sales Force Automation Application tied in with retail store point of sale and Lawson accounting system
DB2E database DB2E sync server DB2 UDB on WinCE / on WinNT on AS/400 Compaq IPAQ
"seconds" "less than a minute"
1. Salesperson takes order and verifies 2. Order forwarded from PDA;item in stock; immediate fulfillment76,000 SKUs to choose from.
Benefits: Fewer errors, Faster delivery, Sales productivity
Retail/Sales Force Automation: NetSetGo
23
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Retail/Easy of Use: Penn StatePenn State Center for Advanced Information Technology
Used DB2 Everyplace in second year college class - students created a 'store' that can be accessed from a Palm device to order or check order status
Use DB2 Everyplace on Palm OS; Sync Server on NT
"We were amazed that DB2 Everyplace was a full function database, yet had a small footprint and ran on an handheld device...And the Mobile Appplication Builder was fantastic - led students through a point and click programming process and automatically created the C code for the Palm..."
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
IBM Sync Client
MSSQLServer
Oracle
DB2Family
Moble Devices Administration Client
OracleDB2Everyplace
Mid-Tier Serverproviding ConnectivityServices exploiting HA and ClusteringClients
Content Sources / Targets
DB2 Everyplace Multi-Servers Architecture
SyncEngine
Web
Sphe
re A
pplic
atio
n Se
rver
SyncEngine
Web
Sphe
re A
pplic
atio
n Se
rver
SyncEngine
Web
Sphe
re A
pplic
atio
n Se
rver
WebSphereServerGroups
Administrationdatabase
Data Mirroringusing DB2 Clusters
24
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Staging tables
SQL Replication Architecture
Extremely flexible and resilientVery easy to set up transformationsScales well to reach multiple targetsHomogeneous & Heterogeneous Sources
Log based
Trigger based
External application
IMSDB2
SybaseOracle SQL
ServerInformix
Any source
Admin
Control
FederationEngine
DB2
SybaseOracle SQL
ServerInformix
Teradata
Nicknames
Apply
CD1CD
CD1CD
CD1CD
Control
Capture
IBM Software Group | DB2 Information Management Software
© 2005 IBM CorporationIBM Mobile Databases | Overview |
Value of Mobile solutions with DB2 Everyplace
improve business operations with up to date information
increase employee productivity
increase customer satisfaction