TopLink

Werbung
Recent Magazine Ad
2
Präsentiert von:
Martin Jäkle
Principal Sales Consultant
Solution House Development Framework & Integration
[email protected]
3
Objekt Relationales Mapping
 Schreiben der Objekte in die Relational DB
–
–
Objekte müssen in flache Strukturen zerlegt werden
Die flachen Strukturen werden in Tabellen
gespeichert
Objekt-Raum (Java)
Relationale Welt
4
Integration von Java und
Datenbanken
 Lesen der Objekte aus der relationalen Datenbank
–
–
Zusammensuchen der notwendigen Daten
Erstellen und Verlinken der Objekte
Objekt-Raum (Java)
Objekt Register
Relationale Welt
Objekt Zustand
5
Wo passt TopLink hinein?
6
Wo passt TopLink hinein?
Überall!

TopLink integriert sich in jede Java-Architektur
–
–
Java Objekte
Entity Beans
 BMP für jeden J2EE kompatiblen Applikationsserver
 CMP für EJB1.1 und EJB2.0
–
In alle Java Architekturen








JSP
Servlet
SessionBean
Message Driven Beans
2-Tier, 3-Tier, Peer-to-Peer
Fat client, thin client
JDO
ADF
7
Oracle10g AS
TopLink
J2EE
Web Services
Integration
Business
Intelligence
Portals
Wireless
8
Warum TopLink?
Aufgrund von hunderten von erfolgreichen Projekten, an
denen tausende von Entwicklern gearbeitet haben, ist
TopLink ein sehr robustes Framework, das sich in den
verschiedensten Architekturen und Branchen bewährt hat
ProSieb
en
9
Top Produkt Funktionalitäten









Meta-Daten Architektur
Intuitive Visuelle Mapping Workbench
Vollständiger Mapping Support
Flexible Abfragesprache
Caching
OO-Transaktionsunterstützung
Performance Tuning Optionen
SDK
J2EE Applikation Server Features
10
Meta-Daten Architektur
 Mapping Information werden im Deskriptor und nicht im
Objekt gehalten
 Meta-Daten bedeutet auch: TopLink verändert weder das
Objektmodell noch das DB-Schema
Employee
firstName
lastName
address
birthDate
E_ID
TopLink
Meta-Data
F_NAME
A_ID
L_NAME
CITY
A_ID
STATE
B_DATE
ZIP
Address
city
state
zip
11
TopLink Mapping Workbench –
erstellt die Meta-Daten
 Mit der
TopLink
Mapping
Workbench
erzeugen Sie
die MetaDaten
12
Flexible Mappings
13
Vollständiger Mapping Support
und Flexibilität
 Direct to Field, One to One, One to Many, Many to Many
– Es werden alle Foreign-Key Varianten der Datenbank
unterstützt, inkl. von Join-Tabellen für M-to-M Mapping
 Object Type, Transformation
– Für Aufzählungen (‘Herr’-> ‘H’) oder Konvertierungen
(String zu Number)
– Benutzer definierte Transformationen
 Aggregates, Multiple tables
– Es können mehrere Objekte auf ein Tabelle
abgebildet
werden
– Ein Objekt kann sich über mehrere Tabellen erstrecken
 Und vieles mehr – Serialized mappings, Direct Collections,
Object-Relational Mappings, etc.
14
Objekt Abfragen mit Java Beispiel
- Expressions
 Finde alle Kunden die ein Produkt “Schraube-M5” bestellt
haben
–
Syntax für Java Entwickler: eine einfache
Objekt-Attribute Abfrage:
custExpression.anyOf(“orders”).anyOf(“orderItems”).get(“produ
ct”).get("productName").equal(“SchraubeM5”)
–
Äquivalentes SQL-Statement:
SELECT t3.ID, t3.FIRST_NAME, t3.LAST_NAME, t3.STREET,
t3.CITY, t3.STATE, t3.ZIP FROM CUSTOMER t3, ORDER t2,
ORDER_ITEMS t1, PRODUCT t0 WHERE ((t0.PRODUCT_NAME =
‚SchraubeM5') AND ((t2.CUST_ID = t3.ID) AND ((t1.ORDER_ID
= t2.ID) AND (t0.ID = t1.PRODUCT_ID))))
Product
Customer
firstName
lastName
orders
OrderItem
Order
1
*
orderDate
cost
orderItems
1
*
quantity
discount
1
1
productName
cost
weight
product
15
TopLink MW – Query Editor
16
Object Queries mit EJBQL
 Für EJBQL spricht
–
–
Syntax ist an SQL angelehnt
Abfragen referenzieren Objekt-Attribute, und keine
Datenbank-Spalten
 Gegen EJBQL spricht
–
–
–
Nur definiert für CMP
Es sind nur statische Abfragen möglich
Noch sehr jung und noch nicht ausgereift
 TopLink Value Add
–
–
–
EJBQL auch für Java Objects, CMP und BMP
In memory EJBQL
Mapping Workbench unterstützt EJBQL
17
Standard Cache Verhalten
1. OO Abfrage
5. Nein –
erzeuge Objekt
Query
Framework
2. SQL Query
3. Ergebnis(se)
4. Gibt es das Objekt mit
dem PK?
Cache
6. Return
Objekt
5. JA– es wird aus dem
Cache genommen
18
Performance und Tuning
Optionen











Minimal Writes, Updates
Batch Reading, Writing
SQL ordering
Transformation support
Existence checks
Stored procedures
Read Lock Support
Statement Caching
Scrolling cursors
Partial Attribute Queries








Automatic change detection
Caching policies and sizes
Parameterized SQL
Pre-allocation of sequence
numbers
Cache synchronization support
Optimistic, Pessimistic locking
Joining object retrieval
optimization
In memory querying
Indirection for “Just in Time”  Dynamic queries

Query optimization
reading
20
TopLink für nicht-Relational Daten
Quellen
 Erlaubt den Zugriff auf nicht relationale Daten
Quelle wie: EIS/Mainframe and XML
 Bietet die gesamt Funktionalität, die TopLink für
relationale Datenbanken bietet:
–
–
–
Caching,
Just in time reading,
Transaktions-Integration, etc.
 Eine Beispielimplementierung für XML ist in der
Produktlieferung enthalten
21
TopLink und EJB-2.0 CMP
J2EE
Message Driven
Beans
Session
Beans
Bean Managed
Persistance
Entity
Beans
Container Managed
Persistance
TopLink
= EJB-Container support
= TopLink Support für Persistenz
22
TopLink und EJB Spezifikation
 TopLink Vorteile gegenüber J2EE Applikation Server
 Mapping Tools
 Schema generation tools
 Stored Procedure support
 Advanced expression support
 Mapping Flexibility
 In memory querying
 Bean-Object relationship
support
 Batch reading
 Batch writing
 Bean/Object generation tools  Statement caching
 Enhanced Caching options  Reporting framework
 Transformation support
 Just in time reading flexibility
23
TopLink und EJB Spezifikation
 TopLink Vorteile gegenüber J2EE Applikation Server
 Minimal writes
 SQL ordering
 BMP support
 Java Object support
 Event framework
 Cache synchronization
support




Sequencing flexibility
Optimistic locking
Pessimistic locking
No locking
 Performance profiler GUI
 Logging support
 Interface support





Partial reads
Dynamic queries
2-tier support
Inheritance support
Open API to support almost any
data source
24
ADF Struktur
Java
Classes
JDBC
EJB
Session
Beans
TopLink
Queries
Java Classes
ADF Business
Components
Application
Service Object
Module
EJB
Finders
EJB Entity Beans
TopLink Mapping
Web
Services
ADF Business
Components
Query
View Object
Object
ADF Business
Components
Entity Object
Business
Services
Data
Access
Persistent
Business
Objects
25
TopLink – Summary
 Reduziert Entwicklungs- und Wartungskosten
– die Persistenzschicht ist kein Risikofaktor mehr
– Aufteilung in Objekt- und DatenbankFunktionalitäten
– TopLink ist wiederverwendbar über
Applikationsgrenzen hinaus
 Portabilität
–
Datenbank, Applikations-Server, DB-Schema
 Ein Jahrzehnt Persistenz Kompetenz
 Performance, Produktivität, Flexibilität
 Industriestandard für Java und Datenbank
Integration
26
Das ENDE
27
Herunterladen