1 TopLink - flexible Persistenz im Oracle Application Server.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Object Relational Mapping
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
E-Commerce Shop System
JPQL Java Persistence Query Language
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Enterprise Java Beans (EJB) VL Anwendungssysteme Freitag, Gerald Weber.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
JDBC: JAVA Database Connectivity
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
SOMA Service-Oriented Mobile learning Architecture.
Herzlich Willkommen… welcome… soyez la bienvenue….
Working With Persistent Objects
Robotron – Titel der Präsentation Martin Kunze,
Best Practices in der Datenbank-programmierung
SharePoint 2010 for Information Architects
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Sesame Florian Mayrhuber
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
1 Softwareentwicklung mit.NET Teil 5 Datenzugriff mit ADO.NET Dr. Ralph Zeller.
Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.
XML und Datenbanken © 2006 Markus Röder
Vassil Dimov.  Was ist Blue Age  Eigenschaften  Möglichkeiten  Hello World (Beispiel)  Entity Creation(Beispiel)  Benefit.
Portal Content Personalisierung Benutzerverwaltung.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
EJB Architektur für große Web - Applikationen Gerald Weber
WINLearn Technische Umsetzung. Basistechnologie Oberfläche in HTML JSP (JavaServerPages) zur Datenauswertung Datenhaltung: Datenbank oder Filesystem JDBC.
1 Persistence Strategies for WebServices Senior Consultant Java Forum Stuttgart, 27. Juni 2002.
© 2004 softgate, Oracle 10g Überblick über Oracle 10g.
DB2 UDB im z/VSE Heinz Peter Maassen – Lattwein GmbH COURSE Tagung Bad Hersfeld 2008.
© CSP GmbH & Co. KG 2005 Einleitung HerausforderungenLösung Architektur Demonstration Langzeitarchivierung für Oracle Datenbanken Stefan Brandl, Dipl.-Inf.,
DOAG Regionaltreffen Trier/Saarland Verwendung von TopLink in J2EE Applikationen 09. September 2003 Marcus Keuper, Pfeil GmbH
Technischer Überblick. Wireless Lite Wireless & Mobile: Zugriff & Darstellung VoicePullOffline Wie kann ich mit Informationen interagieren?
JaGo Ja va Framework for G e o graphical Information Systems Prof. Dr. Klaus Greve Dr. Andreas Poth TZ GIS i.G.
AMS confidential & proprietary International Business and Technology Consultants 1 Sicherheitskonzepte in Oracle Von der Entwicklung in die Produktion.
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Erfahrungen mit TopLink in einem Projekt Performance-Aspekte von TopLink Auszug aus einer Diplomarbeit 5. Oktober 2016.
SOFTWARE POWERS THE INTERNET SM. Oracle9i Application Server Mathias Kaldenhoff Geschäftsstelle HH Leiter Systemberatung Oracle Deutschland GmbH
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Oracle ADF FacesSeite 1 Oracle ADF Faces OPITZ CONSULTING Oracles Implementierung der JavaServer Faces Spezifikation.
TOAD™ Die komplette Entwicklungs- und DBA- Lösung Cristian Maties.
Verteilte Anwendungen: J2EE
DOAG SID Data Warehouse
Scamander S O L U T I O N S Befreien Sie Ihre Oracle Applications Daten! Christian Rokitta - Berater Scamander Solutions BV
Recent Magazine Ad.
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Investitionen sichern - wachse mit Forms in die neue Welt
ADF Business Components: Ein Praxisbericht
Wesentliche Bestandteile:
Create Table, Rechte und Rollen
Indexierung Oracle: indexes Indexierung.
Du kommst hier nicht rein!
7th German CDISC User Group Basel, 11. März 2010
Von Oracle Reports zum BI Publisher
 Präsentation transkript:

1 TopLink - flexible Persistenz im Oracle Application Server

2 Recent Magazine Ad

3 Präsentiert von: Martin Jäkle Principal Sales Consultant Solution House Development Framework & Integration

4 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

5 Integration von Java und Datenbanken  Lesen der Objekte aus der relationalen Datenbank – Zusammensuchen der notwendigen Daten – Erstellen und Verlinken der Objekte Objekt-Raum (Java) Relationale WeltObjekt Register Objekt Zustand

6 Wo passt TopLink hinein?

7 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

8 Oracle10g AS Portals Web Services Wireless Integration J2EE BusinessIntelligence TopLink

9 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

10 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

11 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 Address city state zip E_IDF_NAMEL_NAMEA_IDB_DATE A_IDCITYSTATEZIP TopLink Meta-Data

12 TopLink Mapping Workbench – erstellt die Meta-Daten  Mit der TopLink Mapping Workbench erzeugen Sie die Meta- Daten

13 Flexible Mappings

14 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.

15 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)))) Customer OrderItem Product firstName lastName orders Order orderDate cost orderItems quantity discount product productName cost weight * *

16 TopLink MW – Query Editor

17  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 Object Queries mit EJBQL

18 Standard Cache Verhalten Query Framework Cache 1. OO Abfrage 2. SQL Query 3. Ergebnis(se) 4. Gibt es das Objekt mit dem PK? 5. JA– es wird aus dem Cache genommen 5. Nein – erzeuge Objekt 6. Return Objekt

19 Caching  Verschiedene Locking, Refreshing und Synchronisations Optionen  Abfragen “können” nur gegen den Cache laufen  Cache verwaltet die Identität, um Objekte von einem konsistenten Zustand in den nächsten zu überführen

20 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  Indirection for “Just in Time” reading  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  Dynamic queries  Query optimization

21 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

22 TopLink und EJB-2.0 CMP Message Driven Beans Session Beans Bean Managed Persistance Container Managed Persistance Entity Beans J2EE TopLink = EJB-Container support = TopLink Support f ü r Persistenz

23 TopLink und EJB Spezifikation  TopLink Vorteile gegenüber J2EE Applikation Server  Mapping Tools  Stored Procedure support  Mapping Flexibility  Bean-Object relationship support  Bean/Object generation tools  Enhanced Caching options  Transformation support  Schema generation tools  Advanced expression support  In memory querying  Batch reading  Batch writing  Statement caching  Reporting framework  Just in time reading flexibility

24 TopLink und EJB Spezifikation  TopLink Vorteile gegenüber J2EE Applikation Server  Minimal writes  SQL ordering  Event framework  Sequencing flexibility  Optimistic locking  Pessimistic locking  No locking  Performance profiler GUI  Logging support  Interface support  BMP support  Java Object support  Cache synchronization support  Partial reads  Dynamic queries  2-tier support  Inheritance support  Open API to support almost any data source

25 ADF Struktur ADF Business Components Service Object ADF Business Components Query Object ADF Business Components Entity Object Java Classes EJB Session Beans Web Services ADF Business Components Application Module JDBC EJB Finders TopLink Queries ADF Business Components View Object Data Access ADF Business Components Entity Object Java ClassesEJB Entity Beans TopLink Mapping Persistent Business Objects Business Services

26 TopLink – Summary  Reduziert Entwicklungs- und Wartungskosten – die Persistenzschicht ist kein Risikofaktor mehr – Aufteilung in Objekt- und Datenbank- Funktionalitä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

27 Das ENDE