Designing Scalable Object-Oriented Database Applications: Object-Oriented Design, Architectures, and Implementations / Edition 1

Designing Scalable Object-Oriented Database Applications: Object-Oriented Design, Architectures, and Implementations / Edition 1

by Peter M. Heinckiens, Peter Heineckiens
     
 

"This is an excellent book. It is relevant, readable, timely, and technically accurate. The author has a good handle on what is important to the industry, separating the hype from the practical solutions."
-Rick Cattell

"Peter's book is rich with code examples that will help you understand exactly how to follow his footsteps to get a working

See more details below

Overview

"This is an excellent book. It is relevant, readable, timely, and technically accurate. The author has a good handle on what is important to the industry, separating the hype from the practical solutions."
-Rick Cattell

"Peter's book is rich with code examples that will help you understand exactly how to follow his footsteps to get a working system."
-Mary Loomis

Building Scalable Database Applications: Object-Oriented Design, Architectures, and Implementation is a comprehensive and authoritative guide to building client/server applications by developing a stable and reusable business model. The business and database models illustrated in this book both address the unique challenge of manipulating object storage and retrieval from a developer's point of view.

Software engineers and programmers need this information to lead their development teams toward businesswide distributed software systems. This book demonstrates the pragmatic approach of integrating systems that are currently in use into a cost-effective and time-saving object-oriented system. The approach allows for the business model and the database schema to operate independently so that they can evolve individually, allowing them to be easily reused and maintained.

Highlights include:

  • llustration of the design for reusable business components
  • Maximization of reuse and openness
  • Application of inheritance techniques to database design
  • Migration from legacy and relational systems to object orientation without discarding your investments

This is the first book to thoroughly cover scalable database applications; Building Scalable Database Applications focuses on building independent models that are free from all database and user-interface aspects.

0201310139B04062001

Read More

Product Details

ISBN-13:
9780201310139
Publisher:
Addison-Wesley
Publication date:
02/06/1998
Series:
Addison-Wesley Object Technology Series
Pages:
336
Product dimensions:
7.37(w) x 9.25(h) x 0.64(d)

Table of Contents

Foreword.

Preface.

Acknowledgments.

About the Author.

I. AN OBJECT-ORIENTED VIEW ON PERSISTENCE.

1. A New Generation of Software.

From Data to Information.

Improving Software Quality.

Databases Everywhere.

To Have and to Hold.

Concentrating on the Essence.

The Importance of Scalability.

Application Program Interfaces.

The Road to Follow.

2. The Database Community Today.

Walking among Dinosaurs.

Database Usage.

Database Users.

Designing Database Applications.

Relational Databases.

Client / Server Systems.

Distributed Software.

Problems with Traditional Systems.

4GL: The Solution?

Object-Oriented Databases.

Preserving Openness.

Summary.

3. An Object-Oriented View on Database Applications.

Data-Driven Software Design.

Supporting Multiple Applications.

Object-Oriented Software Design.

The Object Model.

Example: Student Administration.

Business Models and Supporting Multiple Applications.

C++, Java, or Smalltalk: The Ultimate Answer?

Building Reusable Software.

Toward Open Client / Server Applications.

Object Orientation and Client / Server Design.

User Interfaces.

Analogy between User Interfaces and Databases.

Object-Oriented or Relational?

Persistence from a Different Angle.

Persistence and Separation of Concerns.

Safety Issues.

Summary.

II. AN ARCHITECTURE FOR OBJECT PERSISTENCE.

4. Making Objects Persistent.

Introduction.

Basic Requirements of a Persistence Framework.

Obtaining Scalability.

Interfacing with a Relational World: Problems to Conquer.

Abstracting the Database.

An Architecture for Object Persistence.

5. Abstracting the Database.

A Persistent Container Class.

Basic Functionality of PSet.

Implementing the Persistence Architecture.

Resolving the Impedance Mismatch.

Reading and Writing Objects.

Direct Instances of PSet.

Searching for Objects.

Supporting Multiple Technologies.

6. Encapsulating Data Access.

Deriving from PSet.

Example: Class City.

Using Class City.

Member Objects.

Derived IM Resolvers.

Class Extension.

Link-Time Decoupling.

Reuse and Migration to Other Technologies.

III. IMPLEMENTING BUSINESS MODELS.

7. Designing Business Objects.

Developing a Simple Invoicing System.

Searching Compound Objects.

Object ID versus Primary Key.

Developing Generic IM Resolvers.

An OID-Based Reference Class.

Supporting Existing Database Layouts.

Versioning.

Stability of Program Code against Schema Changes.

Storing Multimedia Objects.

Efficiency.

8. Inheritance of Persistent Objects.

Specialization: Using Inheritance for Reuse.

Generalization: Using Inheritance for Polymorphism.

Using Generalizations as Member Objects.

Inheritance in Relational Database Systems.

Designing Reusable Software Components.

Summary.

9. Associations.

Many-to-One Relationships.

Attributes versus Associations.

Collections: One-to-Many Relationships.

Associations and Reuse.

Many-to-Many Relationships.

A Closer Look at Associations.

Associations as Independent Entities.

Referential Integrity.

10. Transaction Management and Concurrency Control.

The Transaction.

The ACID Test.

Transaction Management Exceeds the Database Level.

Concurrency Control: Locking.

Example: A Transaction Class.

Transactions in Relational Database Systems.

Using Transactions.

Nested Transactions.

Distributed Database Systems.

Other Levels of Concurrency.

Lock Notification through Call-Back Functions.

11. The Front End.

Analogy between User Interfaces and Databases.

Separating the User Interface from the Business Model.

What to Put Where.

Navigating through Persistent Sets.

12. Case Study: An Electronic Telephone Directory.

Project Definition.

Comparing Development Approaches.

Designing the User Interface.

The Database Model.

Designing the Business Model.

Comparing the Business Model and the Database Model.

Implementing the Business Objects.

Making Classes Persistent.

Impedance Mismatch Examples.

Implementing the User Interface.

13. Toward Open Applications.

Third-Party Access to Your Application’s Data.

Standard Report Generators and Query Tools.

Informationbases.

Interoperability with Other Applications.

Implementing an Informationbase.

Architecture for Next-Generation Software.

14. Conclusion.

Appendix.

DBtools-Based Implementation of Scoop.

PSet.

DataSet.

IM_Resolver.

Resolving Impedance Mismatch.

Building the Select Statement. 0201310139T04062001

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >