Unformatted text preview:

Information Systems Analysis and Design CSC340 XXI Object Oriented Database Design Information Systems Analysis and Design OODBMS Object Oriented DBMS OODBMS are DBMS which are based on an Object Oriented Data Model Such data models are often inspired by OO programming languages such as SmallTalk or C OODBMS are capable of storing complex objects I e objects that are composed of other objects and or multi valued attributes The great advantage of OODBMS is that it is not necessary to transform the UML classes into a logical schema e g relational Their main disadvantage is that their technology is immature and they are only used in niche applications such as CAD Object Oriented Database Management Systems OODBMS Distributed Information Systems and CORBA Designing Data Management Classes The Persistent Object Approach The Database Broker Approach 2002 Jaelson Castro and John Mylopoulos OO Database Design 1 Information Systems Analysis and Design CSC340 2002 Jaelson Castro and John Mylopoulos 2002 Jaelson Castro and John Mylopoulos OO Database Design 3 Information Systems Analysis and Design CSC340 ObjectStore PSE Persistent Storage Engine provides persistence for Java programs builds navigational structure into the database requires all persistent objects to be instances of subclasses of COM odi Persistent ObjectStore provides full OODBMS functionality OO Database Design 5 OO Database Design 4 Information Systems Analysis and Design CSC340 Distributed Information Systems 2002 Jaelson Castro and John Mylopoulos Object Data Management Group has set a standard for Object Databases version 3 0 ODL Object Definition Language OML Object Manipulation Language However individual ODBMS do not necessarily conform to the standard usual story 2002 Jaelson Castro and John Mylopoulos ObjectStore PSE An OODBMS CSC340 Object Database Standard RDBMS have been around for more than 20 years OODBMS are relatively new RDBMS can handle 1010 records OODBMS up to 107 OODBM good for storing complex descriptions e g a plant schematic RDMSs appropriate for simple flat data RDBMS control the DB market 90 OODBMS own 5 of the market Most commercial RDBMS come with an Object Relational extension which implements an object database on top of a RDBMS OO Database Design 2 Information Systems Analysis and Design OODBMS vs RDBMS CSC340 Most information systems are distributed This means that the objects that participate in a particular use case need not be on the same machine with other objects and users they are supposed to interact One can use Remote Procedure Calls RPC C C and Remote Method Invocation RMI Java The object oriented industrial standard for distributed objects is CORBA Common Object Request Broker Architecture 2002 Jaelson Castro and John Mylopoulos OO Database Design 6 Information Systems Analysis and Design CSC340 Information Systems Analysis and Design CORBA Designing Data Management Classes CORBA separates the interface of a class from its implementation The implementation runs on one machine the interface can be compiled on several other machines When accessed by a client program an object is treated as though it is in memory on the client machine however the object may actually be located on another machine When the client program sends an object a message to invoke one of its operations the message and parameters are converted into a format that can be sent over the network marshalling At the other end the server unmarshals the data back into a message with arguments and passes these o n to the implementation of the target object CORBA achieves this by means of programs known as ORBs Object Request Brokers that run on each machine The ORBs communicate with each other by means of an Inter ORB Protocol IOP Over the Internet the protocol used is IIOP Internet IOP 2002 Jaelson Castro and John Mylopoulos Information Systems Analysis and Design OO Database Design 7 CSC340 Information Systems Analysis and Design Information Systems Analysis and Design CSC340 OO Database Design 9 CSC340 A superclass PersistentObject encapsulates the mechanisms for an object of any class to store itself in or retrieve itself from a database This superclass implements operations to get an object by object identifier store delete and update objects and to iterate through a set of objects write and read operations 2002 Jaelson Castro and John Mylopoulos OO Database Design 10 Information Systems Analysis and Design CSC340 Database Broker Approach PersistentObject 2002 Jaelson Castro and John Mylopoulos OO Database Design 8 PersistentObject Superclass Approach Options for locating the operations that handle the tasks of storing and retrieving objects All persistent objects in the system could inherit methods for storage from an abstract superclass PersistentObject Introduce separate classes into the system whose role is to deal with the storage and retrieval of other classes Database broker approach 2002 Jaelson Castro and John Mylopoulos Idea is to not use a DBMS Relational or Object Oriented Instead design data management classes which handle persistence caching etc These classes decouple applications from their persistent storage Use data management classes whenever you need to Store an application object persistently Search for or retrieve stored objects Interface with an external database This solution won t work for large data sets 2002 Jaelson Castro and John Mylopoulos Data Storage Layer CSC340 OO Database Design 11 Each persistent class could be responsible for its own storage but highly coupled to storage mechanism lessens class cohesion class must now have expert knowledge of storage tasks these are unrelated to application tasks Solution indirection add a go between Separates the business objects from their data storage implementation The classes that provide the data storage services will be held in a separate package For each business class that needs to be persistent there will be an associated database broker class 2002 Jaelson Castro and John Mylopoulos OO Database Design 12 Information Systems Analysis and Design CSC340 Information Systems Analysis and Design The Database Broker The Broker Class The broker class provides the mechanisms to materialize objects from the database and dematerialize them back to the database 2002 Jaelson Castro and John Mylopoulos OO Database Design 13 Information Systems Analysis and Design CSC340 Information Systems Analysis and Design OO Database Design 15 Information Systems


View Full Document

Toronto CSC 340 - Object-Oriented Database Design

Documents in this Course
Scoping

Scoping

10 pages

Load more
Loading Unlocking...
Login

Join to view Object-Oriented Database Design and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Object-Oriented Database Design and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?