Cover image for Succeeding with object databases : a practical look at today's implementations with java and xml
Title:
Succeeding with object databases : a practical look at today's implementations with java and xml
Personal Author:
Publication Information:
New York : John Wiley & Sons, 2001
ISBN:
9780471383840
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000004739540 QA76.9.D3 C3848 2001 Open Access Book Book
Searching...

On Order

Summary

Summary

Take a tour with leading researchers and developers for a practical look at object databases. Whether you currently work with or are thinking of moving to object databases, Chaudhri and Zicari provide a collection of real-world case studies and examples that demonstrate how some of the world's leading companies and research institutions are leveraging Java, XML, and Object Relational Systems to build robust databases.

Starting with a comprehensive introduction to object and object-relational databases, the book then offers detailed discussions on some of the latest topics in the field such as JDBC and SQLJ support in relational databases and database modeling using UML.

You'll also learn about object-to-relational mapping tools, architectural issues that influence performance, and the issues of complexity and scale.How popular tools from Computer Associates, eXcelon, GemStone, Objectivity, Oracle, Versant, and Poet were used in the case studies is also discussed.The companion Web site atwww.wiley.com/compbooks/chaudhri includes links to object-oriented database software applications and additional resources. Visit our Web site at www.wiley.com/compbooks/Visit the companion Web site at www.wiley.com/compbooks/chaudhri


Author Notes

AKMAL B. CHAUDHRI is a Senior Architect with Informix Software. He is also the coeditor of Object Databases in Practice and a frequent speaker at a number of international conferences, including OOPSLA and Object World. ROBERTO ZICARI is full professor of Computer Science at the Johann Wolfgang Goethe University in Frankfurt, Germany. He is Editor-in-Chief of the Theory and Practice of Object Systems journal (Wiley ) and has consulted and lectured in Europe, North America, and Japan.


Table of Contents

Acknowledgmentsp. xiii
Introductionp. xv
Part 1 Introductionp. 1
Chapter 1 OODBMS History and Conceptsp. 3
Historical Perspectivep. 4
The Beginningp. 4
Standardizationp. 5
Object-Relational DBMSsp. 6
Javap. 8
OODBMS Products and Their Evolutionp. 9
ORION/Itascap. 9
O2p. 10
GemStonep. 11
IRIS/OpenODBp. 11
Vbase/Ontosp. 12
ObjectStorep. 12
POETp. 13
Data Model Conceptsp. 13
Objectsp. 13
Classesp. 16
Inheritancep. 19
An Examplep. 21
Query Languagep. 23
Conclusionp. 25
Part 2 Object-Relational Systemsp. 27
Chapter 2 Mapping UML Diagrams to Object-Relational Schemas in Oracle 8p. 29
Overview of UMLp. 31
Overview of Oracle 8p. 35
Mapping Issuesp. 37
Objects and Relationships between Objectsp. 38
Object Hierarchiesp. 39
VARRAYS and Nested Tablesp. 42
Triggers for Maintaining Inversesp. 44
Derived Attributesp. 45
Embedded Objectsp. 46
Queries over Objectsp. 48
Comparison to Other Systemsp. 48
Conclusionp. 50
Chapter 3 SQLJ and JDBC: Database Access in Javap. 53
A Bit of Backgroundp. 53
SQLJ Basicsp. 54
Embedded SQL Syntaxp. 55
SQLJ Translatorp. 55
Execution Modelp. 56
The SQLJ Standardp. 56
JDBC Basicsp. 57
Statementsp. 57
A Note on Deploymentp. 58
Connecting to the Databasep. 58
Connecting at Run Time in SQLJp. 59
Connecting to the Database for SQLJ Translationp. 60
Connecting in JDBCp. 60
Mix and Match SQLJ and JDBCp. 60
Interfacing SQL and Javap. 61
Retrieving Data through an SQL Queryp. 61
Datatype Mappingp. 66
Performance, Performancep. 69
JDBC Prepared Statementsp. 69
Batching of Updatesp. 70
Connection Poolingp. 70
SQLJ and JDBC in Oracle 8ip. 71
SQLJ versus JDBCp. 72
Conclusionp. 72
Chapter 4 Penguin: Objects for Programs, Relations for Persistencep. 75
Mapping from the Object Model to the Relational Modelp. 76
Relational Database Storage and Semantic Modelingp. 79
Defining Object Views of Relational Databasesp. 79
Updating Base Relations from Objectsp. 81
Heterogeneous Data Sourcesp. 81
Methodsp. 82
Concurrency Controlp. 83
Performance Issuesp. 83
Caching Structurep. 83
Cache Managementp. 84
Data Transferp. 86
Future Directionsp. 87
Conclusionp. 87
Part 3 XMLp. 89
Chapter 5 A New Stage in ODBMS Normalization: Myth or Reality?p. 91
State of the ODBMS Marketp. 91
Why a Standard Like ODMG?p. 93
ODMG: A Reconciliation between Programming Languages and DBMSsp. 95
An RDBMS Evolution toward Object Paradigmp. 96
XML Application Founded on OQLp. 97
System Motivationsp. 98
Why XML?p. 98
The Database Modelp. 100
Database Management Using O2 versus Versantp. 101
The Information Retrieval Techniquep. 103
Conclusionp. 106
Chapter 6 PDOM: Lightweight Persistency Supportp. 107
Introduction to DOMp. 108
Architecturep. 108
Binary File Organizationp. 109
Persistent Object Managerp. 111
Object Serialization and Deserializationp. 111
Cache Strategyp. 112
Safe File Updatesp. 113
Performance Evaluationp. 116
Related Workp. 116
Conclusionp. 118
Chapter 7 The Model of Object Primitives (MOP)p. 119
Model of Object Primitivesp. 121
MOP Semanticsp. 121
MOPClassp. 121
Constraintp. 123
State Classp. 123
Behavior Classp. 124
Policyp. 125
Collection Classp. 127
Relationshipp. 127
Mapping Data Models to MOPp. 129
XML in MOPp. 129
ODMG in MOPp. 133
Relational Model in MOPp. 137
Case Studiesp. 139
Conclusionp. 142
Part 4 Benchmarks and Performancep. 145
Chapter 8 A Performance Comparison of Object and Relational Databases for Complex Objectsp. 147
The Applicationp. 148
The OO Modelp. 148
The EER Modelp. 149
One Complex Objectp. 149
Database Operationsp. 150
Open and Close the Databasep. 152
Pick Top Objectsp. 152
Traverse Complex Objectsp. 153
Copy Complex Objectsp. 153
Inserts of Complex Objectsp. 153
Deletes of Complex Objectsp. 154
Updates of Complex Objectsp. 155
Benchmark Considerationsp. 155
The DBMSs Usedp. 155
Test Environmentp. 155
Warm and Cold Runsp. 156
Database Considerationsp. 157
Benchmarks Resultsp. 157
Database Sizesp. 157
Open and Close the Databasesp. 157
Pick Top Objectsp. 159
Traverse Complex Objectsp. 159
Copy Complex Objectsp. 160
Inserts of Complex Objectsp. 162
Deletes of Complex Objectsp. 163
Updates of Complex Objectsp. 165
Conclusionp. 166
Chapter 9 Object Databases and Java Architectural Issuesp. 167
ODBMS Architecturep. 167
Object, Page, and File Serversp. 168
Performance Issuesp. 168
Java Language Bindingp. 176
Implementing Persistencep. 177
Evaluating Performance and Benchmarkingp. 183
Conclusionp. 183
Chapter 10 Addressing Complexity and Scale in a High-Performance Object Serverp. 185
The ABS Business Registerp. 187
Key Issues Raised by the ABS-BRp. 188
Approaching a Solutionp. 191
Abstraction as a Toolp. 191
Java as a Development Platformp. 194
Engineering a Solutionp. 195
Orthogonal Persistence and Versioning through Semantic Extensions to Javap. 196
SEF: The Semantic Extension Frameworkp. 201
PSI: Abstracting over Storagep. 204
Implmenting the ABS-BR Demonstratorp. 206
Analysisp. 208
Evaluation of the ABS-BR Demonstrator, OPJ, and OVJp. 208
Commercial Alternatives and Related Workp. 213
Directions for Future Workp. 215
Conclusionp. 216
Part 5 Database Developmentp. 217
Chapter 11 The Unified Modeling Process in Web-Deployed, Object-Oriented Database Systemsp. 219
Objectivity/DB Architecturep. 220
The Unified Modeling Process (UMP)p. 221
Unified Modeling Language (UML)p. 221
UML Programming Environmentp. 222
Using UML for Data Service Designp. 225
OO Database Development with UML Examplep. 228
Generating DDL Classesp. 230
The Web Deployment Challengep. 235
Process-Driven versus Project-Driven Deploymentp. 235
Web-Based Deployment of OO Databasesp. 239
Conclusionp. 247
Chapter 12 Teaching Object-Oriented Database Conceptsp. 249
Backgroundp. 249
Teaching OODBMS Concepts--A Summaryp. 251
The OODBMS Subject Detailsp. 251
Teaching OODBMS Conceptsp. 252
The Legacy of the Relational Areap. 253
Modeling and OO Schematap. 254
Algebra for Objectsp. 255
Object-Oriented SQLp. 257
Teaching OODBMS Programmingp. 259
Dealing with the ObjectStore APIp. 259
What the More (and Less) Successful Students Producedp. 263
Assignmentsp. 263
Evaluating Assignmentsp. 264
The Second Assignmentp. 265
The Third Assignmentp. 266
Technical Problems in Practical Workp. 268
Conclusionp. 268
Chapter 13 Building a Jasmine Databasep. 271
Design Goalsp. 271
Physical Storagep. 275
Stores and Extentsp. 276
Class Familiesp. 278
Class Definitionsp. 279
The Database Administrator and ODQL Interpreterp. 279
Class Definitionsp. 282
Loading Datap. 286
Experimenting with ODQL Code for Methodsp. 290
Method Definitionsp. 293
Compiling and Testingp. 297
More Methodsp. 298
The Importance of Being Scriptedp. 302
Backing Up a Databasep. 303
Creating Duplicates of jadelibCF and mediaCFp. 304
Conclusionp. 307
Appendix 13.1 Complete ODQL for Defining and Building Classes in This Database (Classes.odql)p. 308
Appendix 13.2 Code for Creating a Few Instances of Each Class (DataEntry01.odql)p. 311
Chapter 14 Seamlessness and Transparency in Object-Oriented Databasesp. 315
General Experience Using OpenOODBp. 316
Detailed Experience Extending OpenOODBp. 318
Name Managementp. 319
Interoperabilityp. 321
Persistencep. 322
Summaryp. 324
Conclusionp. 325
Part 6 Case Studiesp. 327
Chapter 15 Experiences Using the ODMG Standard in Bioinformatics Applicationsp. 329
Object Databases in Bioinformaticsp. 330
Modeling Genomic Informationp. 332
Application Developmentp. 334
Implementing the Object Modelp. 335
Populating the Databasep. 337
Developing User Interfacesp. 338
Conclusionp. 341
Chapter 16 An Object-Oriented Database for Managing Genetic Sequencesp. 343
The Learning Environmentp. 344
Related Workp. 346
Relational versus Object-Oriented Databasesp. 347
Relational Data Modelp. 348
Impedance Mismatchp. 348
Object-Oriented Database Management Systemsp. 349
Prototypep. 349
Application Requirementsp. 349
Modeling Genetic Sequencesp. 350
Modeling the Behavior of Sequencesp. 352
Conclusionp. 356
Chapter 17 The Geospatial Information Distribution System (GIDS)p. 357
Use of Object-Oriented Technology and ODBMSp. 358
2D GIDS Designp. 359
Serverp. 360
Interfacep. 361
Clientp. 364
2D GIDS Applicationp. 369
Urban Warriorp. 369
3D GIDSp. 371
VPF+p. 372
3D GIDS System Overviewp. 374
Experience Reportp. 375
Conclusionp. 378
Chapter 18 Architecture of the Distributed, Multitier Railway Application DaRTp. 379
Introduction and Motivationp. 379
The Application Domainp. 380
Three-Tier Architecturep. 381
Clustering in the Databasep. 384
Designing the Application Serversp. 386
Alternative 1 Uniform Serversp. 386
Alternative 2 Multithreaded Serversp. 387
Alternative 3 Data-Specific Serversp. 389
Alternative 4 Dialog-Oriented Serversp. 390
Comparison and Evaluationp. 391
Designing the End-User Clientp. 393
Alternative 1 Class-Based Cachingp. 394
Alternative 2 Implicit Cachingp. 396
Comparison and Evaluationp. 397
Conclusionp. 397
Part 7 Conclusionsp. 399
Chapter 19 Conclusionp. 401
Referencesp. 403
Appendix About the Contributorsp. 421
Indexp. 431