The Hybrid Object-Relational

The Hybrid Object-Relational

THE HYBRID OBJECT-RELATIONAL ARCHITECTURE (HORA) An Integration of Object-Oriented and Relational Technology Revised 20 November 1993 Earlier version published as: Sutherland, JV, Rugg, K, Pope, M [1993] The Hybrid Object-Relational Architecture (HORA): An Integration of Object-Oriented and Relational Technology.. In Proceedings of the 1993 ACM/SIGAPP Symposium on Applied Computing. : ACM Press, pp 326-333. Jeff Sutherland IDX Systems Corporation, Boston, MA [email protected] Ken Rugg Object Design, Burlington, MA Matthew Pope Object Solutions, Inc., Toronto, Canada ã Jeff Sutherland 1993 ABSTRACT Many organizations with investments in relational database management systems (RDBMS) want to build object- oriented applications supporting a graphical user interface without forcing programmers to deal with SQL and RDBMS limitations. This paper proposes a natural and relatively transparent coupling of object-oriented clients with relational database server technology for new applications. The specified architecture can concurrently deliver key features of both The Object- Oriented Database Manifesto1 and the Third Generation Database System Manifesto2. The Hybrid Object- Relational Architecture (HORA) is designed to: · support ANSI SQL III object- oriented functionality using currently available relational database systems · provide good server performance to both relational and object applications · provide full object storage support by the RDBMS · allow the specification of high-level referential integrity rules and user- specified constraints without SQL coding. The HORA approach allows read-only access from existing relational applications and is not designed to be ã Jeff Sutherland 1993 updated by legacy systems without using the object manager. ã Jeff Sutherland 1993 with the Informix RDBMS.5 Both of 1. INTRODUCTION these products allow object-oriented programmers to build new object applications independent of many of the The two approaches most often used to limitations of the underlying RDBMS. integrate object applications with relational database management In many environments, available systems (RDBMS) are: object/relational database products may not be suitable. For those cases, this · Direct connection of an object paper describes how to build object application to legacy relational services from the bottom up that will datastores without modification of allow persistent object storage in an the relational schema. RDBMS for new applications. Since the object services must manage the schema · Connection of an object application to of the relational database, legacy an object manager which translates relational applications may read the persistent objects into relational objects directly, but may not update the tables eliminating the need for database without using the object embedded SQL in the object manager. application. The approach presented has been The first approach has been widely used optimized during repeated in recent years and is part of many implementations during the period vendors language products, class 1989-1992.6,7,8 A similar design is libraries, and object database systems. inherent in the emerging specification of It often requires hardwiring SQL code ISO/ANSI SQL III scheduled for release in the object client which negatively in 1996.9 At that time all compliant impacts flexibility and performance. relational database systems will become Recent detailed data on a production object-oriented. system of this type for an aerospace application showed that 35-55% of the The remainder of this paper specifies resources used to build an object- the architecture for the Hybrid oriented application were wasted on Object/Relational Architecture (HORA) rework generated by changes to the approach. Details of implementation of relational database schema during the objects in relational tables in the development phase of the project.3 RDBMS are carefully explained. Functionality that must be supported by The second approach has been an object manager that uses the tables is implemented in object database described at a high level. Details of the products such as G-BASE/SQL which Object Manager design are beyond the allows G-BASE developers to store scope of this article. An Object SQL and objects transparently in an Oracle object C++ syntax are used to illustrate a 4 server and OpenODB, a layer of object simple example. services provided by Hewlett Packard and licensed to Informix for distribution ã Jeff Sutherland 1993 2. YBRID BJECT- changes from one valid object state to H O another. RELATIONAL · Object applications can be insulated ARCHITECTURE from RDBMS schema changes through minor modifications of the Meta-model. The benefits of HORA are power, performance, and safety. There are · These distributed capabilities offload many published approaches to storing the RDBMS and improve relational objects in a relational database. server performance beyond server Rumbaugh10 provides a good overview based SQL III implementations. of strategies for storing classes in Performance has been shown to be as relational tables. This paper does not efficient as typical relational present new theory, but presents new applications because it is constrained experience. The power of HORA is that only by the performance of the it is based on over a decade of object underlying relational database. database research and product implementation11. The performance of HORA provides each class with a HORA has been optimized due to relational table. The records in the table repeated implementation in distributed will store object instances. In most enterprise environments over many cases, this approach will look like a years. Safety is based on experience normalized database to a relational which guarantees that HORA will work application. However, since relational well in commercial environments. applications have no notion of object identity (which is maintained by HORA provides the following benefits: HORA), they may not be allowed bypass the object manager to update the · A rich object Meta-model can be database. stored directly in the RDBMS. This Meta-model information is much HORA will not provide the closer to ANSI SQL III object-oriented performance of a pure object database capabilities than the limited for complex objects because it will be constraint definition capability of constrained by the performance of the ANSI SQL II. underlying relational database. It is designed for adding new object · Distributed client applications can applications to currently available locally run the object manager that relational database systems which have performs dynamic mapping from become standard technology in most objects to relational tables while organizations. enforcing user-defined integrity constraints. This allows "atomic" ã Jeff Sutherland 1993 2 CLIENT SERVER APPLICATION OBJECT SQL RDBMS OBJECT MANAGER EMBEDDED SQL Figure 1 applications. In this case it must enforce 3. HYBRID OBJECT- Codd's Nonsubversion Rule13 for relational systems by ensuring that ELATIONAL R standard relational statements do not ARCHITECTURE bypass object integrity constraints. In a commercial transaction processing 4. OBJECT IDENTITY IN THE environment, the client/server architecture in Figure 1 has been found RELATIONAL DATABASE useful.7 An object-oriented client application communicates with the relational database through an object In order to reduce the work required to access layer using an Object SQL build an object-oriented application and (OSQL) dialect. The Object Manager retain the power of the object translates OSQL requests into one or architecture, HORA gives every object a more standard SQL commands to unique, system defined, object retrieve objects from the relational identifier.14 In a relational system, database. objects are not guaranteed unique identity because they have keys which The OSQL and Object Manager layers may be changed by a user. This creates consist of class libraries with store and a referential integrity problem which retrieve methods. OSQL provides a has increased development costs by clear command structure and can be over 50% on projects with published easily understood by SQL hard data on resource utilization.3 programmers. The Object Manager can provide a direct pass through of ANSI standard SQL commands12 in order to provide some support conventional ã Jeff Sutherland 1993 3 The HORA Meta-model is created by building an entity-relationship semantic 5. FUNCTIONS OF THE database model. The semantic model can be used to build an object template OBJECT MANAGER supporting methods and inheritance. Once the object template is in place, application classes can be created. The For the purposes of this paper, we class schema can then be used as a assume the Object Manager will be template to populate the database with written in C++. It will accept OSQL instances. Metaclasses, application messages and return C++ objects. The classes, and class instances are all Object Manager must provide the objects in the database. This recursive following functionality: design enables powerful features not available in persistent object stores built · create, update, delete metadata, without a semantic data model classes, and instances (dynamic schema evolution, for 15 · support OSQL and standard SQL example). queries The Meta-model has been designed to · enforce metarules be easily extensible to support distributed servers, versioning, and The Object Manager stores metadata in triggers. Space limitations make these the database,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us