IBM® WebSphere® Everyplace® Deployment for Windows and Linux Version 6Database
IBM® WebSphere® Everyplace® Deployment for Windows and Linux Version 6 Database
This presentation explains the database capabilities in the IBM WebSphere Everyplace Deployment for Windows and Linux Version 6.
Goals
Goals Understand the database services provided by the IBM WebSphere Everyplace Deployment for Windows and Linux Version 6 client
The goal of this presentation is to understand the database services provided by IBM WebSphere Everyplace Deployment for Windows and Linux Version 6.
Agenda
Agenda Key Concepts Database Support Database Comparison
The agenda of this presentation is to explain key concepts, describe the database support available in the client platform, and to compare these database services so you can determine which service best meets your requirements.
Section
Section Key Concepts
Let’s start with an overview of key database concepts.
Database AccessDatabase 101
Database Access Database 101 JDBC 3.0 API (J2SE 1.4) java.sql (access and process data in a data source) javax.sql Structured Query Language (SQL) Standard query language used with relational databases Insert, modify and retrieve data using standard statements and data types SQL-92 standardized by ANSI/ISO in 1992 Entry-level SQL-92 is a subset and supported by nearly all databases SQL-99 update in 1999 Adds support for user-defined data types (UDT’s) JDBC 3.0 DB2 Everyplace DB2 Everyplace Isync Provider IBM Cloudscape IBM Cloudscape Isync Provider
Database application developers use JDBC, the application programming interface that makes it possible to access relational databases from Java programs. The JDBC API is part of the Java 2 Platform, Standard Edition (J2SE) and is not specific to any particular database implementation, such as Cloudscape or DB2 Everyplace. It consists of the java.sql and javax.sql packages, which are sets of classes and interfaces that make it possible for a Java application to access databases (from a number of different vendors). In addition to knowledge of the development of JDBC APIs, database application developers also need to have a detailed understanding of the Structured Query Language (SQL). SQL is the standard query language used with relational databases and is not tied to a particular programming language. No matter how a particular relational database management system (RDBMS) has been implemented, the user can design databases and insert, modify, and retrieve data using the standard SQL statements and well-defined data types. SQL-92 is the version of SQL standardized by ANSI and ISO in 1992. Entry-level SQL-92 is a subset of full SQL-92 specified by ANSI and ISO that is supported by nearly all major DBMSs today. In 1999, another update to the SQL standard was made available called SQL-1999 or SQL-99.
Section
Section Database Support
Next, let’s explore the database support available with the client platform.
Database AccessDatabase Support
Database Access Database Support Supports two relational databases IBM Cloudscape (separately installable/part of Full Install) DB2 Everyplace (part of Minimal Install) Serves as a local data repository Provides advanced data organization and access Protects local data via encryption Synchronizes local databases with Enterprise databases DB2 UDB, Informix Dynamic Server, IBM Cloudscape, Lotus Domino Server, Oracle, Microsoft SQL Server, Sybase Adaptive Server Enterprise No user administration required JDBC 3.0 DB2 Everyplace DB2 Everyplace Isync Provider IBM Cloudscape IBM Cloudscape Isync Provider
The client platform provides two relational databases that are accessible using JDBC interfaces, DB2 Everyplace and Cloudscape. DB2 Everyplace is an extremely small footprint relational database (250 KB). It is especially suitable for embedded devices, where large databases and sophisticated queries are not normally required, but can also be used on larger devices such as desktops and laptops. DB2 Everyplace provides transaction support covering updates to multiple tables within a single transaction and encrypted tables. Cloudscape is a 100% pure Java relational database, providing SQL-92, partial SQL-99, and Structured Query Language for Java (SQLJ) support, indexes, triggers, transactions, encryption, and the standard features that one expects of a relational database. You can use DB2 Everyplace or IBM® Cloudscape™ as a local SQL database when more advanced data manipulations are required than can be supported by placing data in a local file store. These databases can also protect local data through data encryption. In addition, these databases can periodically synchronize with Enterprise databases to capture data on the client for use by the client application when the user is offline. Enterprise databases supported include DB2 Universal Database (UDB), Informix Dynamic Server, IBM Cloudscape, Lotus Domino Server and others shown on this slide. No user administration is required for the local databases.
Relational Data Access End-to-End
Relational Data Access End-to-End J2EE DB2e Sync Server Mobile Client Admin JBDC DB2e JDBC Application iSync JBDC Cloudscape JDBC Application iSync Oracle MSSql Server DB2 JDBC 3.0 DB2 Everyplace DB2 Everyplace Isync Provider IBM Cloudscape IBM Cloudscape Isync Provider
DB2 Everyplace and DB2 Cloudscape are both capable of synchronizing with the DB2 Everyplace Sync Server, using IBM's ISync technology provided with Extension Services. The initial synchronization activity will create the local database schema, as well as populate the initial set of data. As data is updated on the node, synchronization will transfer that data to other nodes as configured to receive it. Updates made to the data on the remote nodes will be synchronized back to the local node. Database administrators set up the necessary subscriptions for synchronization, and can set up filtering of data to limit the amount of data distributed between nodes. Database synchronization is based on row-level updates synchronized to and from the remote nodes. Database synchronization captures only the current state of data and synchronizes that data between nodes. If intermediate data updates or data ordering is required, application developers may need to develop their own history model, or use other technologies such as messaging to capture intermediate data.
Database Application Models
Database Application Models Client uses ISync to “create” database on client Application exchanges data with server on a periodic basis Client uses deployed (pre-created) database Application uses database for lookup (e.g. catalog) Client creates database dynamically, and data populated by application Application manages its own data synchronization
Section
Section Database Comparison
Finally, let’s compare these database services to help you determine which service best meets your requirements.
Database ComparisonCloudscape added to client platform
Database Comparison Cloudscape added to client platform JDBC 3.0 DB2 Everyplace DB2 Everyplace Isync Provider IBM Cloudscape IBM Cloudscape Isync Provider DB2 Everyplace Cloudscape Implementation Type High performance native implementation (see DB2E documentation for a complete list of supported devices) Java-based (platform independent) implementation On-Disk Footprint 250 KB 2 MB Number of connections supported Allows multiple concurrent connections to a database from the same JVM Allows multiple concurrent connections to a database SQL Support Limited set of SQL data types Full SQL-92 support, partial SQL-99 support Schema Support No Yes Database Creation Requirements Directory for database tables must be created prior to use Cloudscape creates directory JDBC URL jdbc:db2e:location jdbc:derby:location
DB2e was packaged with IBM Workplace Client Technology Micro Edition – Enterprise Offering 5.8.1. Cloudscape was supported in IBM Workplace Client Technology Micro Edition 5.7.1 but it was not packaged with IBM Workplace Client Technology Micro Edition – Enterprise Offering 5.8.1. Now, Cloudscape is packaged with IBM WebSphere Everyplace Deployment for Windows and Linux Version 6. DB2 Everyplace and Cloudscape are similar, but have features that might make one a better choice for client needs. Please consult this table for more information. Refer to the product documentation for more complete information about these products. You can find reference information about the particulars of the SQL implementation in Cloudscape in the IBM Cloudscape Reference Manual and the implementation in DB2 Everyplace in the IBM DB2 Everyplace Application Developer’s Guide.
Notes
Notes Using DB2e with DB2e ISync, the “ConfigStore” object has a limitation on the path length for its location DB2e is configured to be single connection per JVM by default. The DB2eDataSource must be enabled to support multiple connections.
Slide 13
Trademarks, Copyrights, and Disclaimers The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM CICS IMS MQSeries Tivoli IBM(logo) Cloudscape Informix OS/390 WebSphere e(logo)business DB2 iSeries OS/400 xSeries AIX DB2 Universal Database Lotus pSeries zSeries Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a registered trademark of Linus Torvalds. Other company, product and service names may be trademarks or service marks of others. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. This document could include technical inaccuracies or typographical errors. IBM may make improvements and/or changes in the product(s) and/or program(s) described herein at any time without notice. Any statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Any reference to an IBM Program Product in this document is not intended to state or imply that only that program product may be used. Any functionally equivalent program, that does not infringe IBM's intellectual property rights, may be used instead. Information is provided "AS IS" without warranty of any kind. THE INFORMATION PROVIDED IN THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IBM EXPRESSLY DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IBM shall have no responsibility to update this information. IBM products are warranted, if at all, according to the terms and conditions of the agreements (e.g., IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. IBM makes no representations or warranties, express or implied, regarding non-IBM products and services. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents or copyrights. Inquiries regarding patent or copyright licenses should be made, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here. © Copyright International Business Machines Corporation 2005. All rights reserved. Note to U.S. Government Users - Documentation related to restricted rights-Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract and IBM Corp. Template Revision: 9/28/2005 5:50 PM