Building Scalable Database Applications - Peter Heinckiens

Building Scalable Database Applications

Object-Oriented Design, Architectures and Implementations
Buch | Softcover
336 Seiten
1998
Addison Wesley (Verlag)
978-0-201-31013-9 (ISBN)
49,10 inkl. MwSt
This work uses practical case studies of real-world large-scale projects to explain how to build robust database applications. It develops a stable and reusable business model for buiding scalable database applications.
"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

Peter Heinckiens currently conducts his research at the University of Ghent, where he is responsible for coordinating the strategic planning and deployment of software technology throughout the administrative section of the university. He holds the Belgian equivalent of an M.S. in electrical engineering. 0201310139AB04062001

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

Erscheint lt. Verlag 23.3.1998
Reihe/Serie Addison-Wesley Object Technology Series
Verlagsort Harlow
Sprache englisch
Maße 236 x 189 mm
Gewicht 567 g
Themenwelt Mathematik / Informatik Informatik Datenbanken
Informatik Software Entwicklung Objektorientierung
Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 0-201-31013-9 / 0201310139
ISBN-13 978-0-201-31013-9 / 9780201310139
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
objektorientierte Entwicklung modularer Maschinen für die digitale …

von Thomas Schmertosch; Markus Krabbes; Christian Zinke-Wehlmann

Buch | Hardcover (2024)
Hanser (Verlag)
44,99
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

Buch (2023)
Hanser, Carl (Verlag)
39,99
Principles and Practice Using C++

von Bjarne Stroustrup

Buch | Softcover (2024)
Addison Wesley (Verlag)
85,95