ADF Persistenzmechanismen

Ähnliche Dokumente
Erstellen einer Mobilen Applikation mit PhoneGap und ADFmobile. Wolfgang Nast

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Softwareentwicklung mit Enterprise JAVA Beans

Übung B. JPA Java Persistence API. Prof. Dr. Andreas Schmietendorf 1. Übung B (Exkurs)

Dynamische Pivot-Tabellen

Entwicklung von ADF-Applikationen JDeveloper vs. Eclipse. Jürgen Menge Oracle Deutschland

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Echtes Single Sign-On mit APEX DOAG Konferenz Niels de Bruijn Nürnberg,

Eclipse und EclipseLink

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Übungsaufgabe Transaktion als Middleware

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Einführung in Oracle ADF für Entwickler. Jürgen Menge Oracle Deutschland

ORACLE Business Components for Java (BC4J) Marco Grawunder

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

EJB 3 - Ein Blick über den Tellerrand. Heiko W. Rupp <hwr@pilhuhn.de>

Komponentenorientierte Software-Entwicklung. Seite 1 / 44

Referent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: Deutsche Software Engineering & Research GmbH

Union Investment

Was kann man in APEX automatisieren?

Java Persistence API 2.x. crud + relationships + jp-ql

Hilfe, ich verstehe meine APEX Seite nicht mehr! DOAG Development Konferenz, Düsseldorf

Persistenz. Ralf Gitzel

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Hibernate Das Praxisbuch für Entwickler

Enterprise JavaBeans Überblick

Datenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier

Softwareentwicklung mit Enterprise JAVA Beans

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Das nächste Duet(t): APEX und SAP DOAG Konferenz Niels de Bruijn Nürnberg,

Best Practices: Entwicklung komplexer APEX-Applikationen

EJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND

Enterprise Java Beans Einführung

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate

Implementierungsvarianten. mit Oracle Application Express

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Lizenzierung des Oracle Application Servers und der Optionen

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

<Insert Picture Here> Oracle Forms Roadmap in Richtung SOA

Ein APEX für alle und alle für APEX! Niels de Bruijn, Fachbereichsleiter APEX , DOAG DB Konferenz

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Daten Bank. 6. Vorlesung


JDO Java Data Objects

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Dirk Reinemann Working Student Sales Consulting

Enterprise Java Beans

Five Finger Death Punch. Oliver Lemm Competence Center Leiter APEX

Enterprise JavaBeans Überblick

+++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx (Menü Audio -> Integrated Voice Conference -> Start auswählen), um uns zu hören!!!.

11. Enterprise Java Beans Grundlagen der Programmierung II (Java)

EclipseLink: JPA 2.0 und noch mehr

Java.NET Web-Technologien Mobile

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland

<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Übungen zum Workshop Objektrelationales Mapping mit JPA 2.0

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Rapid Java wie mit Forms

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

Struts 2 Das Imperium schlägt zurück?

Rich Domain Model mit JPA 2.0

Programmierung von Java- Webanwendungen. paluno

Objektorientierter Systementwurf mit Java

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG

Java Beans Enterprise Java Beans. Eine kurze Einführung in die Welt der Bohnen

Schatten IT erfolgreich bekämpfen. mit Oracle Application Express

Criteria API: Komplexe SQL Queries mit Eclipslink bauen

Rechnernetze Projekt SS 2015

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Warum EJB Technologie (1)?

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Oracle ADF Mobile. Jürgen Menge Oracle Deutschland B.V. & Co. KG. Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Aus EAI wird SOA: Integration mit Forms und ADF. pdv TAS. Torsten von Osten, Sven Tissot pdv Technische Automation + Systeme GmbH Hamburg

Christian Kühl. Von JDO zu JPA Entwicklung einer Migrationsstrategie

Aktuelle Kurstermine

Objekt-relationales Mapping und Performance-Tuning

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

OWB 10.2 Experts im Einsatz: Automatisierung von Designschritten bei der Bayer Healthcare AG. Referent: Lutz Bauer, Senior Systemberater, MT AG

Gemeinsam mehr erreichen.

Java-Objekte mit SQL verheiraten

J2EEKurs. Enterprise JavaBeans Einführung. Peter Thiemann. Sommercampus J2EEKurs, Freiburg, Germany, Universität Freiburg, Germany

Geschäftskomponenten mit EJBs

Der Tiger im Tank: PL/SQL-Logik in Java-Anwendungen optimal nutzen

Disclaimer. Copyright 2014, Oracle and/or its affiliates. All rights reserved.

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

<Insert Picture Here> BI Publisher Berichte in eigene Anwendungen integrieren

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

JBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009

TopLink. das performante und flexible Persistenz- Framework

JAX-RS 2.0 REST mit Java EE 7

Geschäftskomponenten mit EJB 3.1

Transkript:

ADF Persistenzmechanismen ADF BC und EJB/JPA im Vergleich Hendrik Gossens Nürnberg, 19.11.2013

MT AG GESCHÄFTSFORM HAUPTSITZ INHABERGEFÜHRTE AG RATINGEN GRÜNDUNGSJAHR 1994 BESCHÄFTIGTE BETEILIGUNGEN 180 FESTANGESTELLTE MITARBEITER MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG) BUSINESS INTELLIGENCE SOLUTIONS SOCIAL BUSINESS SOLUTIONS MOBILE SOLUTIONS APPLICATION DEVELOPMENT INTEGRATION SERVICES IT SYSTEM SERVICES business by integration

Agenda 1. Objektrelationales Mapping (ORM) 2. ADF Business Components (ADFbc) 3. Enterprise Java Beans (EJB) und Java Persistence API (JPA) 4. Showcase 5. Gegenüberstellung der Konzepte 3 ADF BC und EJB/JPA im Vergleich

Objektrelationales Mapping (ORM) Überführung von (Java-)Objekten in Datenbankstrukturen und umgekehrt - OOP-Sprachen kapseln Daten und Verhalten in Objekten - Relationale Datenbank speichern Daten in Tabellen => Object-relational Impedance Mismatch Einsatz von Frameworks wie ADFbc oder EJB/JPA empfehlenswert Department departmentid: Long departmentname: String - Struktur - Identität - Datenkapselung - Datentypen - Arbeitsweise - 4 ADF BC und EJB/JPA im Vergleich

ADF Schichtenarchitekur 5 ADF BC und EJB/JPA im Vergleich

ADF Business Components Standard -Persistenz-Framework von ADF Objektrelationales Mapping Transaktion und Locking Möglichkeiten der Manipulation ähnlich zu Forms (dodml, before lock, ) LOVs auf Attributen Wesentliche Komponenten Entity Objects View Objects Assoziationen View Links Application Modules 6 ADF BC und EJB/JPA im Vergleich

Konzeptuelle Sicht auf ADFbc Quelle: Oracle ADF Fundamentals Schulung 7 ADF BC und EJB/JPA im Vergleich

Gründe für ADF BC Gute Integration mit JDeveloper Gute Integration mit Oracle Datenbank Metadatengetrieben (XML) Deklarative Herangehensweise Einfach zu erlernen für Umsteiger aus der alten Oracle-Welt Wiederverwendbarkeit bestehender SQL-Kenntnisse (z.b. bei View Criterias) Java Implementierung anpassbar (Vererbung, Hook Points, ) Gute Skalierbarkeit Standardweg für ADF-Applikationen Gute Testbarkeit durch Business Components Tester 8 ADF BC und EJB/JPA im Vergleich

Java Persistence API (JPA) Schnittstelle um relationale Daten in Java-Applikationen zu verwalten Objektrelationales Mapping Leichtgewichtig Industrie- Standard Vielfältige Persistence Provider (BatooJPA, EclipseLink, Hibernate, OpenJPA, ) EclipseLink (früher Oracle TopLink) Referenzimplementierung von JPA 2.0 Plain Old Java Objects (POJO) Nutzung von JPA ist nicht auf Enterprise Java Beans (EJB) beschränkt - JPA ist Untermenge von EJB3, Implementierung bereitgestellt durch Persistence Provider - EJB Implementierung bereitgestellt durch EJB Container des Application Servers Konfigurierbar via Annotations und/oder XML 9 ADF BC und EJB/JPA im Vergleich

Konzeptuelle Sicht auf JPA Persistence erzeugt Persistence Unit konfiguriert durch PersistenceUnit EntityManager Factory Persistence Context verwaltet erzeugt EntityManager find() persist() merge() remove() Entity 10 ADF BC und EJB/JPA im Vergleich

PersistenceUnit - Ausschnitt persistence.xml 11 ADF BC und EJB/JPA im Vergleich

persistence.xml JDeveloper-Tooling (11g) 12 ADF BC und EJB/JPA im Vergleich

Beispiel JPA 13 ADF BC und EJB/JPA im Vergleich

Wichtige Begrifflichkeiten im EJB-Umfeld Session Beans singleton stateless stateful Entity Beans (@Entity) Containermanaged persistence Beanmanaged persistence Message-Driven Beans EJB 3.1 14 ADF BC und EJB/JPA im Vergleich

Konzeptuelle Sicht auf EJB SessionBean (Service) find() persist() merge() remove() EntityManager persistence.xml Entity Bean DataSource @Entity Department @Id departmentid: Long departmentname: String 15 ADF BC und EJB/JPA im Vergleich

Gründe für JPA/EJB Einfach erlernbar Breite Anzahl an Java Entwicklern Gute Dokumentation und Hilfestellung durch Java Community Datenbankunabhängig Offener Standard => verringert Gefahr des Vendor Lock-In Geringer Konfigurationsaufwand Eigene, SQL-ähnliche Abfragesprache (JPQL) + named queries Criteria Queries Multitenant Entities Breite Toolunterstützung (JDeveloper, Eclipse, NetBeans, ) Plain Old Java Objects (POJO) => Jede Java-Klasse persistierbar Gute Testbarkeit, z.b. mit Hilfe von JUnit Metadatengetrieben (XML oder Annotations) 16 ADF BC und EJB/JPA im Vergleich

JPA in ADF Verschiedene Möglichkeiten - ADF EJB DataControl => EJB und JPA Criteria Support Create/Merge/Delete Entities Transaktionsunterstützung - ADF Java DataControl => Java Facade und JPA Transaktionsunterstützung (Operations) Criteria Support Create/Merge/Delete Entities Model-Tester (via DataControl.dcx) - 17 ADF BC und EJB/JPA im Vergleich

EJB in ADF Zu implementierende EJB Funktionalität Typischerweise getter pro named query querybyrange(string jpqlstmt, int firstresult, int maxresults) - Wenn diese Methode implementiert ist, dann nutzt DataControl diese statt der getter-methode Transaktionssteuerung public boolean istransactiondirty() public void rollbacktransaction() public void committransaction() 18 ADF BC und EJB/JPA im Vergleich

EJB in ADF Optionen im Transaktionsverhalten singleton Session Bean stateless stateful Bean-Managed Transaction Implizites commit Explizites commit Container-Managed Transaction Implizites commit Explizites commit EJB Container

Showcase

Gegenüberstellung ADF BC und EJB/JPA ADFbc EJB/JPA bc4j.xcfg persistence.xml Application Module EJB Session Bean Java Service Facade View Objects Named Queries Entity Objects Entities 21 ADF BC und EJB/JPA im Vergleich

Zusammenfassung ADF unterstützt viele Möglichkeiten um ORM zu realisieren Ähnliche Konzepte von ADF BC und JPA JDeveloper unterstützt beide Persistenz-Frameworks gut (Editoren, ) Abstraktion und Austauschbarkeit über DataControls Auswahl u.a. abhängig vom Vorwissen der Entwickler ADF BC eher für Umsteiger aus der Oracle -Welt JPA hat bei Java-Entwicklern oft höhere Akzeptanz ADF BC deklarativer, JPA etwas mehr Programmieraufwand ADF BC Integration in JDeveloper besser als EJB/JPA Bei bestehendem Oracle Datenmodell: Erfahrungsgemäß besser ADF BC Sonst ggf. JPQL-Queries mit Oracle-Spezifika notwendig Hoher Aufwand Vorteile von JPA gehen verloren 22 ADF BC und EJB/JPA im Vergleich

Quellen http://docs.oracle.com/html/e24396_01/ejb3_overview_arch.html Oracle ADF Fundamentals Schulung 11g Update/Insert With JPA and EJB using ADF (Shay Schmelzer) http://www.youtube.com/watch?v=vypohmwd5y0 http://docs.oracle.com/cd/e28280_01/web.1111/b31974/bcquerying.htm http://openejb.apache.org/jpa-concepts.html http://docs.oracle.com/middleware/1212/adf/adfdc/ejb.htm http://docs.oracle.com/cd/e37547_01/tutorials/tut_jpa_app/tut_jpa_ejb.html http://www.oracle.com/technetwork/developer-tools/jdev/documentation/1212-nf- 1964675.html http://docs.oracle.com/middleware/1212/adf/adfdc/ejb.htm#chdeeaih 23 ADF BC und EJB/JPA im Vergleich

Vorträge auf der ADF BC und EJB/JPA im Vergleich ADF Persistenz-Frameworks im Vergleich JPA/EJB vs. ADF BC Continuous Integration für Oracle DB und Apex Mein Backup die richtige Strategie oder der totale Irrweg? Das APEX QS-Plugin Forms goes APEX wie man es richtig macht USABLE_FILE_MB im Oracle ASM oder wenn der nutzbare Plattenplatz negativ wird Erstellen einer mobilen Applikation mit PhoneGap und ADF Mobile Experten-Panel: APEX und DB-Programmierung Java Unterstützung von Multithreading in den Versionen 1.0 bis 7 3 Wochenenden Strohwitwer Hendrik Gossens, Di, 11 Uhr Peter Busch, Dominic Ketteltasche, Di, 12 Uhr Volker Mach, Di 16 Uhr Oliver Lemm, Mi, 12 Uhr Niels de Bruijn, Sven-Olaf Kelbert, Mi 15 Uhr Ernst Leber, Mi, 16 Uhr Wolfgang Nast, Do, 9 Uhr Niels de Bruijn, Do, 11 Uhr Wolfgang Nast, Do, 12 Uhr Christof Kaller, Do, 12 Uhr business by integration

Treffen der Deutschen ADF Community Wann Dienstag, 19. Nov., 14.00 14.45 Uhr Wo Raum Sydney Warum Neuigkeiten zu Oracle ADF erfahren Mit Product Managern und Experten sprechen Networking und...

Deutsche Oracle ADF Community Oracle ADF Community auf XING Twitter: @ADFCommunityDE ADF Spotlight: 30-minütige Web Seminare an jedem 2. Freitag ADF Project Sessions: Serie von eintägigen Workshops Regelmäßige Treffen mit Fachvorträgen und Diskussionen Zusammenarbeit mit der DOAG (Jahreskonferenz, SIG) DOAG Barcamp und ADF Hacker s Event (30./31. Januar 2014) Werden Sie Teil unserer Community!

Vielen Dank. MT AG Balcke-Dürr-Allee 9 40882 Ratingen Telefon: +49 (0) 21 02 309 61-0 Telefax: +49 (0) 21 02 309 61-101 E-Mail: info@mt-ag.com www.mt-ag.com