ADF BC Und EJB/JPA Im Vergleich Hendrik Gossens

ADF BC Und EJB/JPA Im Vergleich Hendrik Gossens

ADF Persistenzmechanismen ADF BC und EJB/JPA im Vergleich Hendrik Gossens Nürnberg,| 19.11.2013 MT AG GESCHÄFTSFORM INHABERGEFÜHRTE AG HAUPTSITZ RATINGEN GRÜNDUNGSJAHR 1994 BESCHÄFTIGTE 180 FESTANGESTELLTE MITARBEITER BETEILIGUNGEN MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG) BUSINESS SOCIAL BUSINESS MOBILE INTELLIGENCE SOLUTIONS SOLUTIONS SOLUTIONS APPLICATION INTEGRATION IT SYSTEM DEVELOPMENT SERVICES 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 - Struktur - Identität departmentId: Long - Datenkapselung departmentName: String - 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 konfiguriert durch Persistence PersistenceUnit EntityManager Unit Factory erzeugt find() persist() merge() Persistence verwaltet EntityManager remove() Entity Context 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 Entity Beans (@Entity) Container- Bean- singleton stateless stateful managed managed persistence persistence Message-Driven Beans EJB 3.1 14 | ADF BC und EJB/JPA im Vergleich Konzeptuelle Sicht auf EJB SessionBean EntityManager (Service) find() persist() merge() remove() persistence.xml … DataSource „Entity Bean“ @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 Session Bean singleton 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 EJB Session Bean Application Module 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 Hendrik Gossens, Di, 11 Uhr vs. ADF BC Continuous Integration für Oracle DB und Apex Peter Busch, Dominic Ketteltasche, Di, 12 Uhr Mein Backup – die richtige Strategie oder der totale Volker Mach, Di 16 Uhr Irrweg? Das APEX QS-Plugin Oliver Lemm, Mi, 12 Uhr Forms goes APEX – wie man es richtig macht Niels de Bruijn, Sven-Olaf Kelbert, Mi 15 Uhr USABLE_FILE_MB im Oracle ASM oder wenn der Ernst Leber, Mi, 16 Uhr nutzbare Plattenplatz negativ wird Erstellen einer mobilen Applikation mit PhoneGap Wolfgang Nast, Do, 9 Uhr und ADF Mobile Experten-Panel: APEX und DB-Programmierung Niels de Bruijn, Do, 11 Uhr Java Unterstützung von Multithreading in den Wolfgang Nast, Do, 12 Uhr Versionen 1.0 bis 7 3 Wochenenden Strohwitwer Christof Kaller, Do, 12 Uhr business by integration | Treffen der Deutschen ADF Community Wann Dienstag, 19. Nov., 14.00 – 14.45 Uhr Wo Warum Neuigkeiten zu Oracle ADF erfahren Raum Sydney 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: [email protected] www.mt-ag.com|.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us