1 Cloudscape – Past and Present Frank Koconis Advisory Software Engineer/IBM Informix User Forum...
-
Upload
drusilla-goodwin -
Category
Documents
-
view
215 -
download
2
Transcript of 1 Cloudscape – Past and Present Frank Koconis Advisory Software Engineer/IBM Informix User Forum...
1
Cloudscape –Cloudscape –Past and PresentPast and Present
Frank KoconisFrank KoconisAdvisory Software Advisory Software
Engineer/IBMEngineer/IBM
Informix User Forum 2005 Moving Forward With Informix
Atlanta, Georgia December 8-9, 2005
IBM Software Group | DB2 Information Management Software
Outline
History
Key Features
Deployment Options: single- or multi-user
Running on Small Devices (J2ME)
Development environments for Cloudscape
Cloudscape as a Development Database
Synchronization with Enterprise Databases
Derby is Cloudscape
Summary
IBM Software Group | DB2 Information Management Software
What is Cloudscape?
An embeddable, lightweight, relational SQL database engine for Java.
IBM Software Group | DB2 Information Management Software
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
IBM Software Group | DB2 Information Management Software
Cloudscape- Key Features
100% Pure Java Completely portable to any hardware, any OS Only requires JVM (J2SE 1.3 or higher)
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
IBM Software Group | DB2 Information Management Software
Key Features (continued)
"Zero" Administration No need for DBA at customer site Users may even be unaware that a database engine is present
Lightweight Approx. 2MB “footprint” Can run on many “palm”-size devices (new feature!)
Scales to Moderate Size No defined limits on table sizes Table size limit of 2GB in some environments (OS limit) Existing customer databases of >10 GB working well
Supports Disk Encryption Tested with IBM JCE
IBM Software Group | DB2 Information Management Software
Key Features (continued)
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!)
Distributed transaction support (new!) Participates in XA transactions with other database systems
IBM Software Group | DB2 Information Management Software
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)
Scrollable Cursors (result sets)
Cascading Delete
Internationalization/Localization Support
IBM Software Group | DB2 Information Management Software
IBM Products Using Cloudscape
WebSphere (WSAD and WAS) Cloudscape used for sample applications Can handle pooling of Cloudscape connections
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
IBM Software Group | DB2 Information Management Software
Apache Derby Architecture
Two Deployment OptionsEmbedded
• Derby disappears into the application• Zero Admin
Network Server• Familiar client-server architecture• Low Admin
Additional Option for Development Embedded Network Server
IBM Software Group | DB2 Information Management Software
Cloudscape Architecture: Embedded
Java Virtual Machine(JVM)
Derby engine
Database(s) on disk
Application
JDBC
• Database only accessible from single JVM
• Java/JDBC only
• No network connectivity
• Any number of concurrent connections
from any number of threads in this JVM
•Typically a single application (but could be multiple)
IBM Software Group | DB2 Information Management Software
Cloudscape Architecture: Network Server
Java Virtual Machine(JVM)
Derby engine
Derby NetworkServer
DB2 Universal JDBC Driver(JCC)
CCC (CLI/ODBC)
-Multiple Client applications-Remote or local
PHP / Perl on top of ODBC
Client Applications via
Derby Network Client
Database(s) on disk
IBM Software Group | DB2 Information Management Software
J2ME/CDC/Foundation
J2ME – Java 2 Micro Edition
CDC – Connected Device Configuration
Foundation Profile 1.0 Set of java core libraries supported
Sub-set of J2SE 1.3
Set-top boxes, embedded servers, cash registers PDA’s starting to use J2ME/CDC/FP
Not cell-phones, that’s J2ME/CLDC/MIDP
Uses subset of JDBC 3.0 (JSR-169)
Look for the abbreviation: J2ME/CDC/FP
IBM Software Group | DB2 Information Management Software
Cloudscape on J2ME
Same Jar file – derby.jar10.1 supports J2SE 1.3, 1.4, J2SE 5.0, J2ME/CDC/FPJ2ME/CDC/FP is new for 10.1
Only Cloudscape embedded supported
Application development expected to be on J2SE
Network Server, Client, JCC not supported in J2ME
On-disk database format remains unchangedCan copy unencrypted databases between J2ME, J2SE and J2EE
IBM Software Group | DB2 Information Management Software
How do you tell that it’s J2ME?
Sysinfo will report J2ME info
------------------ Java Information ------------------Java Version: J2ME Foundation Specification v1.0Java Vendor: IBM CorporationJava home: c:\_work\p4\djdt1\wctme5.7\iveJava classpath:
c:/_work/svn_clean/trunk/classes;c:/_work/svn_clean/trunk/tools/java/jakarta-oro-2.0.8.jar
OS name: Windows XPOS architecture: x86OS version: 5.1 build 2600 Service Pack 1Java user name: djdJava user home: C:\Documents and Settings\AdministratorJava user dir: C:\_work\svn_clean\trunk\systest\outjava.specification.name: J2ME Foundation Specificationjava.specification.version: 1.0--------- Derby Information --------JRE - JDBC: J2ME - JDBC for CDC/FP 1.0[C:\_work\svn_clean\trunk\classes] 10.2.0.0 alpha - (220112M)------------------------------------------------------
----------------- Locale Information -----------------
…
IBM Software Group | DB2 Information Management Software
Derby Eclipse Plug-In
Integrates with Eclipse Manage network server Run ij Execute sql scripts Run sysinfo Create and run database
applications
IBM Software Group | DB2 Information Management Software
Cloudscape Workbench
Eclipse Rich Client Platform (RCP) stand alone only ~25 meg
Browse database Create objects Insert/update/delete Extract/load tables Generate DDL Migrate Derby to DB2
IBM Software Group | DB2 Information Management Software
Gluecode SE
Lightweight Java App Server Apache Geronimo
J2EE 1.4
Apache Derby Messaging Services (ActiveMQ) Management Console
IBM Software Group | DB2 Information Management Software
Other Development Options
C/C++
PHP Zend core: http://www-306.ibm.com/software/data/info/zendcore/
Perl
Python
Other languages (ODBC through Network Server)
IBM Software Group | DB2 Information Management Software
Cloudscape as a Development Database
The problem Developers on large projects need a database for unit testing Usual practice: a development database (such as IDS) on a server
However, this has many disadvantages Must pay for database license (IDS or DB2 UDB) on 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!
IBM Software Group | DB2 Information Management Software
Cloudscape as a Development Database (cont.)
A better solution: A Cloudscape database for each developer Create a “master” database, then copy 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 “enterprise” database (IDS, DB2 UDB, Oracle, etc.)
IBM Software Group | DB2 Information Management Software
Synchronization with Enterprise Databases
Java sync client for Cloudscape
Works with DB2Everyplace Sync Server
100% Java
Synchronize Cloudscape clients to any database supported by DB2E Sync Server, including Cloudscape DB2 UDB V7 and V8; also DB2 on zSeries and iSeries IBM Informix (IDS) Oracle MS SQL Server Sybase IBM Cloudscape
IBM Software Group | DB2 Information Management Software
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 Data subscription by user or group, with 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
Scalable Supports WAS Server Groups for high availability and scalability Automatic upgrades of client database software
IBM Software Group | DB2 Information Management Software
IBM Cloudscape based on Open-source Apache Derby
IBM contributed Cloudscape relational database technology to Apache Software Foundation
Derby Accepted as Apache Incubator Project in August ’04
No “viral” open source licensing issues with either Apache Derby or IBM Cloudscape
No fee required by Apache or IBM
Derby
IBM Software Group | DB2 Information Management Software
IBM Cloudscape based on Open Source Apache Derby Apache Derby milestones
Sun Microsystems Engineers join Derby project Q2’05
Graduates from Apache Incubator in July 2005
Apache Derby 10.1 available in July 2005
IBM ships Cloudscape 10.1 in August 2005
Sun announces plans to ship Derby with
NetBeans development tool
Java Enterprise System application and portal servers
Still no “viral” open source licensing issues
with either Apache Derby 10.1 or IBM
Cloudscape 10.1
Derby
IBM Software Group | DB2 Information Management Software
Apache Derby? IBM Cloudscape?
Apache Derby
Complete relational database Standards-based Small footprint Zero admin Secure Open Source Apache 2.0 License
IBM Cloudscape
Installers
IBM Java Runtime (JRE)
Examples and scripts
DB2 Universal JDBC Driver
Support for ODBC & PHP
Eclipse plug-insDatabase browsingDB2 migration
Translated error messages and manuals (9 languages)
Technical Support
IBM Software Group | DB2 Information Management Software
Distribution Strategies Apache Derby
Available at Apache from the Apache DB Project Bundled in Sun, Eclipse, Linux, and other distributions
IBM Cloudscape: Based on Apache Derby No-charge download of IBM Cloudscape binary from
www.ibm.com/developerworks/cloudscape• Application developer support via IBM developerWorks
− Manuals, How-To Articles, Forums, … Fully Supported Product Version
− Full IBM 24x7 IBM Support Available
Downloadable from IBM
Fully Supported IBM ProductDerby
Open Source Via Derby
IBM Software Group | DB2 Information Management Software
Cloudscape- Summary
100% Java
Full RDMS functionality with a small footprint
Embeddable
Zero-admin
Standards-compliant
Low-cost development
Open-source
IBM Software Group | DB2 Information Management Software
For More Information
Apache Derby web site http://db.apache.org/derby
Apache Derby mail lists http://db.apache.org/derby/derby_mail.html
developerWorks Cloudscape Zone http://www.ibm.com/developerworks/cloudscape/
Documentation http://publib.boulder.ibm.com/infocenter/cldscp10/index.jsp
IBM Software Group | DB2 Information Management Software
For More Information (continued)
Samples: https://w3.opensource.ibm.com/horde/chora/cvs.php/db2drv/php/
php/tests
PHP Driver & Zend Core Information http://www-306.ibm.com/software/data/info/zendcore/ http://www-128.ibm.com/developerworks/db2/library/techarticle/
dm-0507hutchison/ http://livedocs.phpdoc.info/index.php?l=en&q=ref.ibm-db2 http://cvs.php.net/co.php/pecl/ibm_db2 http://cvs.php.net/pecl/ibm_db2
IBM Software Group | DB2 Information Management Software
Coming Soon-
New Book (Due in November):Apache Derby -- Off to the Races Includes Details of IBM Cloudscape (Hardcover)
By Paul C. Zikopolous, George Baklarz, Dan Scott
ISBN 0131855255
http://www.devx.com/IBMDB2/Link/29722
40
Cloudscape –Cloudscape –Past and PresentPast and Present
Frank KoconisFrank [email protected]@us.ibm.com
Informix User Forum 2005 Moving Forward With Informix
Atlanta, Georgia December 8-9, 2005