Object Relational Mapping Tools

Download Report

Transcript Object Relational Mapping Tools

Object Relational Mapping
Tools
[Sivakumar Natarajan]
7/17/2015
Introduction
OO is the predominant approach
used to build mainstream B systems
RDBMS are the most prevalent
implementation of data stores
OO design models problem domain
as real-world objects, RD
development is to normalize data
O-R modelling is a necessary but
not sufficient to build strong and
flexible systems
7/17/2015
Relational Terminology










Relation
Attribute
Domain
Tuple<Person SSN# = "123-45-6789" Name = "Art Larsson" City = "San Francisco">
Attribute Value
Relation Value
Relation Variable
Database
Base Relation Values
Derived Relation Values
7/17/2015
Relational Database Design
The relational model is composed of
entities and relations. Figure 1
illustrates LINEITEM and PRODUCT
tables and various relationship
between them
Figure 1
7/17/2015
Object Modeling Terminology








Identity
State
Behavior
Encapsulation
Type
Associations
Class
Inheritance
7/17/2015
Object Model Design
An object model contains classes
Figure 2 illustrates a simple object
model.
Figure 2
7/17/2015
Objects integrated into the
Relational Model
 Why do we want to do it?
 What are the advantages in doing it?
 What are the disadvantages in doing it?
 Is there any help available?
7/17/2015
Java Blend v2.0
Components are:
 Mapping tool: A GUI for mapping between database schema and
Java programming language classes
 The Preprocess program: The preprocess program - Preprocesses
.xjava Java programming language source files and .oql OQL
source files
 Runtime libraries - Accessed by means of the Java Blend API,
a set of Java language routines for access to
Java Blend objects, and the underlying database. Application
programmers use these methods.
7/17/2015
Java Blend
Example application that queries and updates data about
customers and their sales orders.
CREATE TABLE customer {
custid INTEGER NOT NULL,
address VARCHAR (50),
rep INTEGER,
PK_custid PRIMARY KEY (custid),
FK_salesrep FOREIGN KEY (rep) REFERENCES salesrep (repid) )
}
Equivalent class is
class Customer implements PersistenceCapable {
int custID;
String address;
SalesRep rep; };
7/17/2015
Java Blend Resources
 http://www.sun.com/software/javablend
7/17/2015
Top Link for Java
Features:
 Transparent Persistence
 Object-data mapping solution
 EJB persistence solution
 Enterprise data integration
 Mapping workbench
 optimistic and pessimistic locking
 object level transactions
 application server integration and portability
 real-time performance
7/17/2015
Visual Mapping workbench
7/17/2015
Foundation Library for Java
TopLink for Java Foundation Library is an object-relational
framework, which facilitates the construction of an object-oriented
system that can store its objects/data in a relational database.
7/17/2015
Top Link Resources
Http://www.objectpeople.com
7/17/2015
Other Tools
 JRB (Java Relational Binding) -- Ardent
 Data Director for Java (DDJ) -- Informix/IBM
 UDE (Universal Development Env)--Formida
Free Software
 Power Tier-- Persistence
 Oracle Designer 2000--Oracle
 Jasmine -- Computer Associates
 SQL Object Factory -- POET Software
 VBS Framework -- ObjectMatter Inc.
7/17/2015
Persistence PowerTier
Example to be included:
7/17/2015