Using Stored Behaviour in ObjectOriented Databases - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Using Stored Behaviour in ObjectOriented Databases

Description:

Using Passive or Active behaviour: ... (as all object properties are public, and no active behaviour) ... implementing behaviour of object-oriented views? ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 24
Provided by: Mar497
Category:

less

Transcript and Presenter's Notes

Title: Using Stored Behaviour in ObjectOriented Databases


1
Using Stored Behaviour in Object-Oriented
Databases
  • Dalen Kambur
  • Interoperable Systems Group
  • Dublin City University

2
Overview
  • Introduction
  • Problem and Motivation
  • Background
  • Server architecture
  • Future work

3
Introduction
  • IOMPAR (Internet Object Management Privacy
    ARchitecture) project of
  • Dublin City University
  • Iona
  • Versant
  • Orbism
  • Enterprise Ireland Research Grant
  • To provide a framework for querying, modification
    and secure transport of complex objects including
    multimedia content.

4
Problem and Motivation
INSERT INTO Pyramid SELECT OID FROM Movies
m WHERE m.appears( Pyramid )
Selecting movies from all databases in which a
pyramide appears.
Movie
appears
DB1
DB2
DBn
DBx

5
Topics covered
  • Introduction
  • Problem and Motivation
  • Background
  • Server architecture
  • Future work

6
Behaviour in object models
  • Two ways to model behaviour
  • Passive
  • Methods
  • Active
  • Rules, usually based on Event-Condition-Action
    model
  • Using Passive or Active behaviour
  • Designers choice, but often restricted with
    particular technology
  • Some programming languages (C, Java) do not
    facilitate active behaviour

7
Example of forms of behaviour
Invoice
Entry
Total
Amount
  • Passive
  • Invoice i
  • ianEntry.changeAmount(100)
  • // Recalculation is initiated as
  • // part of the method
  • // implementation
  • Active
  • In Entry class definition
  • ON Entry insert, update, delete UPDATE Invoice
  • SET Total SUM( Amout )...
  • anEntry.quantity 100
  • // This initiates
  • // recalculation

8
ODMG database
  • ODMG is the standard for object-oriented
    databases
  • Does not facilitate behaviour storage
  • some vendors (e.g. Versant) provide vendor
    specific interface for active behaviour, but no
    vendor allows stored behaviour
  • Problems
  • protecting object model consistency? (as all
    object properties are public, and no active
    behaviour)
  • performing complex pattern searches, such as
    multimedia? (as pattern matching has to be done
    locally)
  • implementing behaviour of object-oriented
    views?(services are part of client applications,
    i.e. behaviour is not shared)

9
Object-oriented view
  • is a means of redesigning an object model to
    accommodate specific purpose, i.e.

Object-oriented view with 2 virtual classes
Base class
  • Redesigning includes
  • restructuring of the object state
  • redefinition of behaviour

10
Topics covered
  • Introduction
  • Problem and Motivation
  • Background
  • Server architecture
  • Future work

11
System model
Database server
Application 1
Core DBMS
Application 2
. . .
Behaviour
Application n
Database requests
12
Characteristics of the Architecture
  • Provides behaviour sharing for persistent objects
  • Maintains existing ODMG interface
  • Database vendor independence (all database
    dependencies integrated in Event processor)
  • Requires an extended metaclass repository for
    behaviour storage

13
Server Architecture
Extended
Services
Clients
Query Processor
Request Broker
Behaviour Processor
Event Processor
Extended Services Layer (ESL)
Existing
Clients
Database
14
Request Broker
  • Interface of the ESL for client applications
  • Connect
  • Disconnect
  • Relays request to one of three processors
  • Database access (Event Processor)(containing
    object and attribute identification and
    parameters or database operation specific
    parameters)
  • Behaviour invocation (Behaviour
    Processor)(containing object and method
    identification and parameters)
  • Query execution (Query Processor)(containing
    query text)

15
Server Architecture
Extended
Services
Clients
Query Processor
Request Broker
Behaviour Processor
Event Processor
Extended Services Layer (ESL)
Existing
Clients
Database
16
Event Processor
  • Commonly known as Database Accessor
  • Database dependent
  • Provides an uniform database interface to other
    processors and the Request Broker
  • Find an object by unique identification
  • Execute a query
  • Create and delete objects
  • Transaction control (commit, rollback) operations
  • Query repository interface for the ESL (metadata)
  • Performs optional event detection

17
Server Architecture
Extended
Services
Clients
Query Processor
Request Broker
Behaviour Processor
Event Processor
Extended Services Layer (ESL)
Existing
Clients
Database
18
Behaviour Processor
  • Provides an interface for service invocation
  • A request may have object identification and
    method parameters
  • Loads the service into memory
  • Executes the service
  • Makes results available

19
Server Architecture
20
Query Processor
  • Provides an interface for query execution
  • The request is a textual representation of the
    query
  • Creates two query segmets segment for Event
    Processor and segment for Behaviour Procesor
  • Retrieves two separate result sets
  • Constructs one overall query set

21
Service request
  • SELECT SelfOID FROM Person p
  • WHERE p.hasChild()
  • AND NOT p.employed

22
Other target areas
  • e-Business
  • Health-care, e.g. X-rays
  • Data mining applications
  • Any other kind of applications that require
    shared services

23
Ongoing research
  • Extending ODLv to facilitate behaviour definition
    in views
  • Planned experiments
  • Performance impact when compared to ODMG database
  • Pattern search within video database (in
    cooperation with other research groups)
Write a Comment
User Comments (0)
About PowerShow.com