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

Ähnliche Dokumente
Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Enterprise Java Beans Einführung

Vom MicroService zum Geschäftsprozess Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart

EJB 3 - Erfahrungen aus der Praxis. Heiko W. Rupp

Dirk Reinemann Working Student Sales Consulting

Programmierung von Client/Server- Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen

Eclipse und EclipseLink

Oracle Data Warehouse Integrator Builder Ein Selbstversuch

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

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

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen

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

Architektur/QS Board 20. Mai 2015

Java Persistence API. Phillip Ghadir Oliver Tigges

ADF Persistenzmechanismen

<Insert Picture Here> Clean Code in der Java EE - Welt

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

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

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

Enterprise JavaBeans Überblick

Adobe Flex & Grails RIA, REST und XML

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

Oracle Database 12c Private Cloud

Portal-Entwicklung mit ADF und PDK

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius

Übungsaufgabe Transaktion als Middleware

Introduction to JSF technology and Rapid Application Development Roland Zänger

Enterprise JavaBeans Überblick

Spring & Hibernate Eine praxisbezogene Einführung

Überblick über APEX Carolin Hagemann

Enterprise Java Beans Einführung

Persistenz. Ralf Gitzel

JBoss Seam Überblick, Erfahrungen und Einordnung. Jan Groth

Schnelle Winkel. 10x schnellere Webapps mit AngularJS und Jee

Enterprise JavaBeans Überblick

Java Persistence API mit Hibernate

EJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND

Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr. Spring & Hibernate. Eine praxisbezogene Einführung HANSER

Datenzugriffskomponente mit JPA 2.1

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

Fallstricke bei der Entwicklung einer JEE6 Anwendung

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE

Java-Persistenz-Architekturen. Freiberuflicher Entwickler und Autor. DOAG Konferenz 1.12.

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

WCF RIA Services Datengetriebene Apps. Thomas Claudius Huber Senior Consultant Trivadis AG

MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES

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

Wie sichert man APEX-Anwendungen gegen schädliche Manipulationen und unerwünschte Zugriffe ab?

Mastering JPA Performance Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart

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

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

Schnelle Winkel. Performantere JEE Webapps mit AngularJS

Enterprise JavaBeans Überblick: 12. Session Facade Einleitung 12.2 Problem 12.3 Lösung. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 460

CAS Enterprise Application Development Java EE

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

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

Moderne Web- Anwendungen mit

New Features Oracle Forms 11g Nichts Neu für Forms?

CAS Enterprise Application Development Java EE

UI-Architekturen mit JSF

Entwicklung von Web-Anwendungen auf JAVA EE Basis

REST IN PEACE MIT ORACLE

Enterprise Java Beans Einführung

<Insert Picture Here> Oracle Forms Roadmap in Richtung SOA

Spring & Hibernate HANSER. Eine praxisbezogene Einführung. Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr

Data Templates. Thomas Claudius Huber

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

Control Templates. Thomas Claudius Huber

Best Practices und Tools für Upgrades aus der Sicht der Applikation

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Java.NET Web-Technologien Mobile

JAX-RS 2.0 REST mit Java EE 7

Objektrelationales Mapping mit EclipseLink und Spring. Stefan Scheidt OPITZ CONSULTING GmbH

Einfache Bean-Mappings mit MapStruct 1.2

Modernisierung von Forms durch neues Look&Feel

EclipseLink: JPA 2.0 und noch mehr

Enterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server

Eberhard Wolff. Spring. Framework für die Java-Entwicklung. "BJ dpunkt.verlag

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. dpunkt.verlag

Bean Mappings mit MapStruct 1.2

FH LU JEE Vorlesung SS Ralf Gitzel

Operation am offenen Herzen

Inhaltsverzeichnis. 1 Ein Einstieg mit Profil 1. 2 Aufsetzen der Entwicklungsumgebung 19

Inhaltsverzeichnis. 1 Ein Einstieg mit Profil 1. 2 Aufsetzen der Entwicklungsumgebung 19

Architecture Blueprints

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

Rapid Java wie mit Forms

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

Transkript:

Mit Java von der Datenbank in den Browser Thomas Bröll Principal Consultant Trivadis GmbH, Stuttgart BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

Agenda DB Bilder: eclipse.org, apache.org, hibernate.org, jersey.java.net, primefaces.com, Trivadis Free Picture Finder 2 20.07.2016

Java EE 7 (http://www.oracle.com/technetwork/java/javaee/tech/index.html) 3 20.07.2016

Multilayer-Architektur Präsentation (Angular JS) REST (JAX-RS) Präsentation (JSF) Business Logik (EJB) Persistence (JPA) Systemgrenze DB 4 20.07.2016

Ansatz Bottom-Up Datenbank (Geo) Java Persistence API Enterprise Java Beans Java API for RESTful services Contexts & Dependency Injection Java Server Faces 5 20.07.2016

Project -> New 6 20.07.2016

Project setup Einfaches Maven-Projekt <groupid>de.test</groupid> <artifactid>jee-demo</artifactid> Dependencies & more <dependency> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <version>7.0</version> <scope>provided</scope> </dependency> 7 20.07.2016

Maven build cycle Validate Compile Test Package Verify Install Deploy Integriert in Eclipse, NetBeans, IntelliJ, Bewährte Continuous Integration Und mehr https://sonarqube.com/overview?id=org.acti viti%3aactiviti-root + Plugins 8 20.07.2016

Continuous Integration Bilder: eclipse.org, netbeans.org, apache.org, sonatype.org 9 20.07.2016

Java Persistence API (JPA) 10 20.07.2016

Java EE 7 (http://www.oracle.com/technetwork/java/javaee/tech/index.html) 11 20.07.2016

JPA concepts @Entity @Table(name = MY_ENTITY") public class MyEntity{ } ORM = Objekt-relationales Mapping Einfache POJOs mit Annotationen @Id @Column(name = "pk") private int id; //... @PersistenceContext(unitName= MyPersistenceUnit") private EntityManager em; 12 20.07.2016

Code! Bottom-Up! 13 20.07.2016

Features Transparentes ORM Vordefinierte Abfragen und Criteria API Relationen (1:1, 1:n, n:m) Vererbung (mehrere Strategien) Lazy Loading & Eager Fetch JPA ist DER Standard in Java für Persistenz mit einer relationalen Datenbank. Es existieren mehrere unabhängige Implementierungen. JPA ist Teil von JEE. JPA ist eine technische Möglichkeit im Rahmen von Oracle ADF. 14 20.07.2016

Typische Probleme & Lösungen Datenbank Performance Zu große Objekte Zu viele Queries Lazy 1+n Problem Zu große Persistence-Sessions Dirty-Erkennung Index & Abbildung der Tabellen Lazy Fetch Eeager Fetch Join Fetch flush() & clear() 15 20.07.2016

EJB & CDI 16 20.07.2016

Java EE 7 (http://www.oracle.com/technetwork/java/javaee/tech/index.html) 17 20.07.2016

EJB & CDI der transaktionale Klebstoff Enterprise Java Beans @Stateless public class GeoService { @PersistenceContext EntityManager em; } public List<Activity> listactivities() { } 18 20.07.2016

EJB & CDI der transaktionale Klebstoff Contexts and Dependency Injection @Inject HelloService hello; 19 20.07.2016

Features CDI @Inject Producer Events Testbarkeit, Unabhängigkeit Contexts: siehe JSF EJB Transaktionen Security Pooling (Throttling) Monitoring Asynchronität Teil von Oracle ADF. 20 20.07.2016

Code! Bilder: eclipse.org 21 20.07.2016

JAX-RS 22 20.07.2016

Java EE 7 (http://www.oracle.com/technetwork/java/javaee/tech/index.html) 23 20.07.2016

Java API for RESTful Services (kein X) RESTful endpoints für Java Representational State Transfer (REST) Principles Addressable Resources Uniform Interface Representation-oriented Stateless 24 20.07.2016

JAX-RS Hello World! JAX-RS Application als Wurzel der REST-API @ApplicationPath("rs") public class DemoApplication extends Application { } Konkrete Klasse als Endpunkt @Path("demo") public class DemoResource { @GET public String test() { } } 25 20.07.2016

Code! Bilder: eclipse.org 26 20.07.2016

JavaScript Single-Page-Anwendung Clientside MV* Complete presentation logic handled in browser Dependency Injection 2-way Data binding Flexible View Templating Controllers and Services Directives Request routing Bilder: angularjs.org 27 20.07.2016

Single Page UIs 28 20.07.2016

Java Server Faces 29 20.07.2016

Java EE 7 (http://www.oracle.com/technetwork/java/javaee/tech/index.html) 30 20.07.2016

Java Server Faces Basiert auf Java und CDI mit xhtml Komponenten-orientiert Validierung Transformation Data binding CDI scopes: Request, Page, Conversation, Session, Application JSF ist der Standard hinter Oracle ADF Faces. 31 20.07.2016

Code! Bilder: eclipse.org 34 20.07.2016

JSF aber schön Geht JSF auch in schön? Ja! mit Komponentenbiliotheken z.b. http://www.primefaces.org/showcase/ BEST Practice: UI-Workshop mit Fachbereich auf Basis Showcase 35 20.07.2016

Welche Technologie? Abhängig von Nutzerzahl & Skalierbarkeit (Zustand auf dem Server) Definierbare Größe -> JSF Skalierbarkeit -> JavaScript+REST Rapid Development: JSF Sicherheit: JSF UI-Team: Java & HTML -> JSF JavaScript & HTML & CSS -> JavaScript+REST 36 20.07.2016

Fragen und Antworten Thomas Bröll Principal Consultant Tel. +49 711 903 632 305 thomas.broell@trivadis.com 37 20.07.2016