SlideShare ist ein Scribd-Unternehmen logo
Dirk Weil & Dominik Mathmann
GEDOPLAN GmbH
JAX 2016
Java EE 7
Enterprise-Anwendungen
ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Dirk Weil & Dominik Mathmann
GEDOPLAN GmbH, Bielefeld
GEDOPLAN IT Consulting
Konzeption, Realisierung von IT-Lösungen
GEDOPLAN IT Training
Seminare in Berlin, Bielefeld, on-site
Java EE seit 1998
Vorträge, Veröffentlichungen
2Java EE 7 - Enterprise-Anwendungen ohne Ballast
Was ist Java EE?
= Java Platform, Enterprise Edition
Plattform für mehrschichtige Anwendungen
Spezifikationen und Interfaces als SE-Ergänzung
Implementierung durch Produkte
GlassFish / Payara – Oracle WebLogic
JBoss / WildFly – IBM WebSphere
Apache TomEE – …
3Java EE 7 - Enterprise-Anwendungen ohne Ballast
Was ist Java EE?
Vereinfacht die Entwicklung von Enterprise-
Anwendungen durch
ein standardisiertes, modulares Komponenten-Modell
einen kompletten Satz von Infrastrukturdiensten für diese
Komponenten
automatische Abwicklung von Problemen ohne komplexe
Programmierung
4Java EE 7 - Enterprise-Anwendungen ohne Ballast
Architektur-Modell
5
Browser Desktop
JavaServer Faces Webservice
Servlet
CDI
Enterprise
JavaBeans
Connector MessagingJava Persistence
Client
Web- /
Präsentationslogik
Geschäftslogik
Daten /
Enterprise
Information
Systems
JavaEEServer
Java Batch
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java-EE-Bestandteile
CDI
Beans, Interfaces, Interceptors etc.
Deployment Descriptor beans.xml
Paketierung als .jar-Datei
oder Integration in
EJB / Webanwendung
6
CDI-JAR META-INF beans.xml
bean1.class
bean2.class
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java-EE-Bestandteile
Enterprise JavaBeans
Beans, Interfaces, Interceptors etc.
Deployment Descriptor ejb-jar.xml (optional)
Paketierung als .jar-Datei
oder Integration in
Webanwendung
7
EJB-JAR META-INF ejb-jar.xml
bean1.class
bean2.class
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java-EE-Bestandteile
Webanwendungen
Web-Dokumente, Servlets, JSP, JSF
Deployment Descriptor web.xml (optional)
Paketierung
als .war-Datei
8
WAR WEB-INF web.xml
bean1.class
bean2.class
classespage1.xhtml
page2.xhtml
lib library.jar
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Enterprise-
Anwendungen
Zusammenfassung
der Bestandteile
Deployment
Descriptor
application.xml
(optional)
Paketierung
als .ear-Datei
9
EAR META-INF application.xml
lib CDI-JAR
WAR
appLib.jar
WEB-INF web.xml
web2.class
web1.class
classespage1.xhtml
page2.xhtml lib webLib.jar
EJB-JAR META-INF ejb-jar.xml
ejb1.class
ejb2.class
META-INF beans.xml
bean2.class
bean1.class
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Deployment
Erlaubte Formate:
WAR
EAR
Serverabhängige Deployment-Verfahren:
Auto Deployment
Administrationswerkzeuge
10Java EE 7 - Enterprise-Anwendungen ohne Ballast
Historie
11
1.2
1.3
1.4
5
6
7
1.1
1.0 1998
2001
2002
2006
2010
2013
Annotations
CDI
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Technologien
12
Web Profile?
JavaEE
Plat-
form
Java Platform, Enterprise Edition 7 Java EE JSR 342
Java API for WebSocket JSR 356 
Java API for JSON Processing JSON-P JSR 353 
Java Servlet 3.1 Servlet JSR 340 
JavaServer Faces 2.2 JSF JSR 344 
Expression Language 3.0 EL JSR 341 
JavaServer Pages 2.3 JSP JSR 245 
Standard Tag Library for JavaServer Pages 1.2 JSTL JSR 52 
Batch Applications for the Java Platform Batch JSR 352
Concurrency Utilities for Java EE 1.0 JSR 236
Contexts and Dependency Injection for Java 1.1 CDI JSR 346 
Dependency Injection for Java 1.0 JSR 330 
Bean Validation 1.1 BV JSR 349 
Enterprise JavaBeans 3.2 EJB JSR 345 
Interceptors 1.2 JSR 318 
Java EE Connector Architecture 1.7 JCA JSR 322
Java Persistence 2.1 JPA JSR 338 
Common Annotations for the Java Platform 1.2 JSR 250 
Java Message Service API 2.0 JMS JSR 343
Java Transaction API 1.2 JTA JSR 907 
JavaMail 1.5 Mail JSR 919
Java API for RESTful Web Services 2.0 JAX-RS JSR 339 
Implementing Enterprise Web Services 1.3 JSR 109
Java API for XML-Based Web Services 2.2 JAX-WS JSR 224
Web Services Metadata for the Java Platform JSR 181
Java API for XML-Based RPC 1.1 (Optional) JAX-RPC JSR 101
Java APIs for XML Messaging 1.3 JSR 67
Java API for XML Registries 1.0 JAXR JSR 93
Java Authentication Service Provider Interface for Containers 1.1 JSR 196
Java Authorization Contract for Containers 1.5 JACC JSR 115
Java EE Application Deployment 1.2 (Optional) JSR 88
J2EE Management 1.1 JSR 77
Debugging Support for Other Languages 1.0 JSR 45 
Java Architecture for XML Binding 2.2 JAXB JSR 222
Java API for XML Processing 1.3 JAXP JSR 206
Java Database Connectivity 4.0 JDBC JSR 221
Java Management Extensions 2.0 JMX JSR 003
JavaBeans Activation Framework 1.1 JAF JSR 925
Streaming API for XML 1.0 StAX JSR 173
Specification
JavaEE-related
SpecsinJavaSE
Management
andSecurity
Technologies
WebServices
Technologies
EnterpriseApplicationTechnologies
WebApplication
Technologies
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Profile
13
JAX-
WS
Batch
JSP JSF
Serv-
let
JAX-
RS
Mail
JAXR
JSTL JPA CDI
JSON-
P
JCA JMS
BV EJB*
EL
JACCJNDI JTA
FullWeb
*im Web
Profile nur
EJB Lite
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
C-Man
Conference Management
https://github.com/dirkweil/javaee-workshop
14Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
Java Persistence
Entity Mapping
Entity Manager, TX- / Request Scoped
Relations
Converter
…
15Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
CDI
Beans, Injektion
Producer
TX Interceptor
Qualifier
Infrastruktur- und fachliche Injektion
Scopes
Alternatives
…
16Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
JavaServer Faces
Request Processing Lifecycle
MVC / Front Controller
Facelets
EL
Faces Flows
…
17Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
Enterprise JavaBeans
Stateless, Stateful, Singleton
Vergleich mit CDI
TX-Steuerung
Timer / Scheduler
…
18Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
Bean Validation
REST Webservices
?
19Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
Entwicklungsumgebung:
Java 8 oder höher
Git Client (z. B. Git Bash http://git-scm.com/downloads)
Maven 3.x (http://maven.apache.org/download.html)
IDE, z. B. JBoss Developer Studio (https://devstudio.jboss.com)
DB-Tool, z. B. SQL Workbench/J
(http://www.sql-workbench.net/)
20
git clone --branch jax16 https://github.com/dirkweil/javaee-workshop.git
cd javaee-workshop
mvn
# Import Maven project into IDE
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
Laufzeitumgebung:
WildFly 10.0.0.Final (http://www.wildfly.org/downloads)
21
# Server an beliebigen Platz entpacken …
# Server starten
wildfly-10.0.0.Final/bin/standalone.sh bzw. .bat
# Datasource einrichten
cp javaee-workshop/additional/wildfly/conference-ds.xml 
wildfly-10.0.0.Final/standalone/deployments
# Anwendung deployen
cp javaee-workshop/target/javaee-workshop.war 
wildfly-10.0.0.Final/standalone/deployments
Java EE 7 - Enterprise-Anwendungen ohne Ballast
More
http://www.gedoplan-it-training.de
Seminare in Berlin, Bielefeld, Inhouse
z.B. Java EE 7 intensiv, 13.06., Berlin
http://www.gedoplan-it-consulting.de
Reviews, Coaching, …
http://javaeeblog.wordpress.com/
http://gedoplan-it-consulting.de/expertenkreis-java/
 dirk.weil@gedoplan.de
@dirkweil
22Java EE 7 - Enterprise-Anwendungen ohne Ballast

Weitere ähnliche Inhalte

Andere mochten auch

Opal jewellery
Opal jewelleryOpal jewellery
Opal jewellery
opalmine88
 
Climate change
Climate changeClimate change
Climate change
JimanNG
 
Stacks, Queues, Binary Search Trees - Lecture 1 - Advanced Data Structures
Stacks, Queues, Binary Search Trees -  Lecture 1 - Advanced Data StructuresStacks, Queues, Binary Search Trees -  Lecture 1 - Advanced Data Structures
Stacks, Queues, Binary Search Trees - Lecture 1 - Advanced Data Structures
Amrinder Arora
 
Resume
ResumeResume
Resume
mustuprince
 
En the ruling_on_magic
En the ruling_on_magicEn the ruling_on_magic
En the ruling_on_magicLoveofpeople
 
нефедова
нефедованефедова
нефедоваBDA
 
Album
AlbumAlbum
Clinton 2015 KPI
Clinton 2015 KPIClinton 2015 KPI
Clinton 2015 KPI
Clinton Diete-Spiff
 
【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016
【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016
【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016
SEPTENI HOLDINGS CO.,LTD.
 
Portfolio Single compressed
Portfolio Single compressedPortfolio Single compressed
Portfolio Single compressed
Sibin K Sam
 
Print screen media_for_my_contents_page[1]
Print screen media_for_my_contents_page[1]Print screen media_for_my_contents_page[1]
Print screen media_for_my_contents_page[1]
Chloe Debnam
 
Tradiçoes Madeirenses João Tomás 4ºA
Tradiçoes Madeirenses João Tomás 4ºATradiçoes Madeirenses João Tomás 4ºA
Tradiçoes Madeirenses João Tomás 4ºA
MarileneCunha1
 
Cleantelligent Benifits Slide Show Carter Cleaning
Cleantelligent Benifits Slide Show Carter Cleaning Cleantelligent Benifits Slide Show Carter Cleaning
Cleantelligent Benifits Slide Show Carter Cleaning
Sarah Beaudry
 
Canyon corridor boundaries and population by tract aubrey relf
Canyon corridor boundaries and population by tract aubrey relfCanyon corridor boundaries and population by tract aubrey relf
Canyon corridor boundaries and population by tract aubrey relf
Aubrey Relf
 
Zija International Produces GenM Skincare Products
Zija International Produces GenM Skincare ProductsZija International Produces GenM Skincare Products
Zija International Produces GenM Skincare Products
Kenneth Brailsford
 
Presentacion
PresentacionPresentacion
Presentacion
candeolivera
 
X trepan an extended trepan for
X trepan an extended trepan forX trepan an extended trepan for
X trepan an extended trepan for
ijaia
 
A Common Community Vision for Greater Lowndes County
A Common Community Vision for Greater Lowndes CountyA Common Community Vision for Greater Lowndes County
A Common Community Vision for Greater Lowndes County
Valdosta-Lowndes Metropolitan Planning Organization
 

Andere mochten auch (18)

Opal jewellery
Opal jewelleryOpal jewellery
Opal jewellery
 
Climate change
Climate changeClimate change
Climate change
 
Stacks, Queues, Binary Search Trees - Lecture 1 - Advanced Data Structures
Stacks, Queues, Binary Search Trees -  Lecture 1 - Advanced Data StructuresStacks, Queues, Binary Search Trees -  Lecture 1 - Advanced Data Structures
Stacks, Queues, Binary Search Trees - Lecture 1 - Advanced Data Structures
 
Resume
ResumeResume
Resume
 
En the ruling_on_magic
En the ruling_on_magicEn the ruling_on_magic
En the ruling_on_magic
 
нефедова
нефедованефедова
нефедова
 
Album
AlbumAlbum
Album
 
Clinton 2015 KPI
Clinton 2015 KPIClinton 2015 KPI
Clinton 2015 KPI
 
【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016
【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016
【SEPTENI HOLDINGS CO.,LTD.】Business Results for 2Q Fiscal Year September 2016
 
Portfolio Single compressed
Portfolio Single compressedPortfolio Single compressed
Portfolio Single compressed
 
Print screen media_for_my_contents_page[1]
Print screen media_for_my_contents_page[1]Print screen media_for_my_contents_page[1]
Print screen media_for_my_contents_page[1]
 
Tradiçoes Madeirenses João Tomás 4ºA
Tradiçoes Madeirenses João Tomás 4ºATradiçoes Madeirenses João Tomás 4ºA
Tradiçoes Madeirenses João Tomás 4ºA
 
Cleantelligent Benifits Slide Show Carter Cleaning
Cleantelligent Benifits Slide Show Carter Cleaning Cleantelligent Benifits Slide Show Carter Cleaning
Cleantelligent Benifits Slide Show Carter Cleaning
 
Canyon corridor boundaries and population by tract aubrey relf
Canyon corridor boundaries and population by tract aubrey relfCanyon corridor boundaries and population by tract aubrey relf
Canyon corridor boundaries and population by tract aubrey relf
 
Zija International Produces GenM Skincare Products
Zija International Produces GenM Skincare ProductsZija International Produces GenM Skincare Products
Zija International Produces GenM Skincare Products
 
Presentacion
PresentacionPresentacion
Presentacion
 
X trepan an extended trepan for
X trepan an extended trepan forX trepan an extended trepan for
X trepan an extended trepan for
 
A Common Community Vision for Greater Lowndes County
A Common Community Vision for Greater Lowndes CountyA Common Community Vision for Greater Lowndes County
A Common Community Vision for Greater Lowndes County
 

Ähnlich wie Java EE 7 - Enterprise-Anwendungen ohne Ballast

Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
gedoplan
 
Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?
gedoplan
 
Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!
gedoplan
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
gedoplan
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
adesso AG
 
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- EntwicklersJAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklerscamunda services GmbH
 
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"Aberla
 
Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7
gedoplan
 
Was ist neu in Java 6, 7, 8, ...
Was ist neu in Java 6, 7, 8, ...Was ist neu in Java 6, 7, 8, ...
Was ist neu in Java 6, 7, 8, ...
Andreas Schreiber
 
MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8
Christian Kaltepoth
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
Java Usergroup Berlin-Brandenburg
 
Java EE 5
Java EE 5Java EE 5
Java EE 5
GFU Cyrus AG
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
GFU Cyrus AG
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
gedoplan
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Niels de Bruijn
 
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
gedoplan
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
gedoplan
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
AOE
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
Edward Burns
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
gedoplan
 

Ähnlich wie Java EE 7 - Enterprise-Anwendungen ohne Ballast (20)

Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?Jakarta EE 10: Was gibt es Neues?
Jakarta EE 10: Was gibt es Neues?
 
Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
 
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDISchlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
 
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- EntwicklersJAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
 
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
ESEconf2011 - Bosch Andy: "JavaServer Faces im Portal - Statusbestimmung"
 
Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7
 
Was ist neu in Java 6, 7, 8, ...
Was ist neu in Java 6, 7, 8, ...Was ist neu in Java 6, 7, 8, ...
Was ist neu in Java 6, 7, 8, ...
 
MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8MVC 1.0 - Das neue Webframework in Java EE 8
MVC 1.0 - Das neue Webframework in Java EE 8
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Java EE 5
Java EE 5Java EE 5
Java EE 5
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
Von J2EE zu Jakarta EE und MicroProfile - Stand der Standards und Ausblick au...
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
 

Java EE 7 - Enterprise-Anwendungen ohne Ballast

  • 1. Dirk Weil & Dominik Mathmann GEDOPLAN GmbH JAX 2016 Java EE 7 Enterprise-Anwendungen ohne Ballast Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 2. Dirk Weil & Dominik Mathmann GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption, Realisierung von IT-Lösungen GEDOPLAN IT Training Seminare in Berlin, Bielefeld, on-site Java EE seit 1998 Vorträge, Veröffentlichungen 2Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 3. Was ist Java EE? = Java Platform, Enterprise Edition Plattform für mehrschichtige Anwendungen Spezifikationen und Interfaces als SE-Ergänzung Implementierung durch Produkte GlassFish / Payara – Oracle WebLogic JBoss / WildFly – IBM WebSphere Apache TomEE – … 3Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 4. Was ist Java EE? Vereinfacht die Entwicklung von Enterprise- Anwendungen durch ein standardisiertes, modulares Komponenten-Modell einen kompletten Satz von Infrastrukturdiensten für diese Komponenten automatische Abwicklung von Problemen ohne komplexe Programmierung 4Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 5. Architektur-Modell 5 Browser Desktop JavaServer Faces Webservice Servlet CDI Enterprise JavaBeans Connector MessagingJava Persistence Client Web- / Präsentationslogik Geschäftslogik Daten / Enterprise Information Systems JavaEEServer Java Batch Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 6. Java-EE-Bestandteile CDI Beans, Interfaces, Interceptors etc. Deployment Descriptor beans.xml Paketierung als .jar-Datei oder Integration in EJB / Webanwendung 6 CDI-JAR META-INF beans.xml bean1.class bean2.class Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 7. Java-EE-Bestandteile Enterprise JavaBeans Beans, Interfaces, Interceptors etc. Deployment Descriptor ejb-jar.xml (optional) Paketierung als .jar-Datei oder Integration in Webanwendung 7 EJB-JAR META-INF ejb-jar.xml bean1.class bean2.class Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 8. Java-EE-Bestandteile Webanwendungen Web-Dokumente, Servlets, JSP, JSF Deployment Descriptor web.xml (optional) Paketierung als .war-Datei 8 WAR WEB-INF web.xml bean1.class bean2.class classespage1.xhtml page2.xhtml lib library.jar Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 9. Enterprise- Anwendungen Zusammenfassung der Bestandteile Deployment Descriptor application.xml (optional) Paketierung als .ear-Datei 9 EAR META-INF application.xml lib CDI-JAR WAR appLib.jar WEB-INF web.xml web2.class web1.class classespage1.xhtml page2.xhtml lib webLib.jar EJB-JAR META-INF ejb-jar.xml ejb1.class ejb2.class META-INF beans.xml bean2.class bean1.class Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 10. Deployment Erlaubte Formate: WAR EAR Serverabhängige Deployment-Verfahren: Auto Deployment Administrationswerkzeuge 10Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 12. Technologien 12 Web Profile? JavaEE Plat- form Java Platform, Enterprise Edition 7 Java EE JSR 342 Java API for WebSocket JSR 356  Java API for JSON Processing JSON-P JSR 353  Java Servlet 3.1 Servlet JSR 340  JavaServer Faces 2.2 JSF JSR 344  Expression Language 3.0 EL JSR 341  JavaServer Pages 2.3 JSP JSR 245  Standard Tag Library for JavaServer Pages 1.2 JSTL JSR 52  Batch Applications for the Java Platform Batch JSR 352 Concurrency Utilities for Java EE 1.0 JSR 236 Contexts and Dependency Injection for Java 1.1 CDI JSR 346  Dependency Injection for Java 1.0 JSR 330  Bean Validation 1.1 BV JSR 349  Enterprise JavaBeans 3.2 EJB JSR 345  Interceptors 1.2 JSR 318  Java EE Connector Architecture 1.7 JCA JSR 322 Java Persistence 2.1 JPA JSR 338  Common Annotations for the Java Platform 1.2 JSR 250  Java Message Service API 2.0 JMS JSR 343 Java Transaction API 1.2 JTA JSR 907  JavaMail 1.5 Mail JSR 919 Java API for RESTful Web Services 2.0 JAX-RS JSR 339  Implementing Enterprise Web Services 1.3 JSR 109 Java API for XML-Based Web Services 2.2 JAX-WS JSR 224 Web Services Metadata for the Java Platform JSR 181 Java API for XML-Based RPC 1.1 (Optional) JAX-RPC JSR 101 Java APIs for XML Messaging 1.3 JSR 67 Java API for XML Registries 1.0 JAXR JSR 93 Java Authentication Service Provider Interface for Containers 1.1 JSR 196 Java Authorization Contract for Containers 1.5 JACC JSR 115 Java EE Application Deployment 1.2 (Optional) JSR 88 J2EE Management 1.1 JSR 77 Debugging Support for Other Languages 1.0 JSR 45  Java Architecture for XML Binding 2.2 JAXB JSR 222 Java API for XML Processing 1.3 JAXP JSR 206 Java Database Connectivity 4.0 JDBC JSR 221 Java Management Extensions 2.0 JMX JSR 003 JavaBeans Activation Framework 1.1 JAF JSR 925 Streaming API for XML 1.0 StAX JSR 173 Specification JavaEE-related SpecsinJavaSE Management andSecurity Technologies WebServices Technologies EnterpriseApplicationTechnologies WebApplication Technologies Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 13. Profile 13 JAX- WS Batch JSP JSF Serv- let JAX- RS Mail JAXR JSTL JPA CDI JSON- P JCA JMS BV EJB* EL JACCJNDI JTA FullWeb *im Web Profile nur EJB Lite Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 15. Beispielanwendung Java Persistence Entity Mapping Entity Manager, TX- / Request Scoped Relations Converter … 15Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 16. Beispielanwendung CDI Beans, Injektion Producer TX Interceptor Qualifier Infrastruktur- und fachliche Injektion Scopes Alternatives … 16Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 17. Beispielanwendung JavaServer Faces Request Processing Lifecycle MVC / Front Controller Facelets EL Faces Flows … 17Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 18. Beispielanwendung Enterprise JavaBeans Stateless, Stateful, Singleton Vergleich mit CDI TX-Steuerung Timer / Scheduler … 18Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 19. Beispielanwendung Bean Validation REST Webservices ? 19Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 20. Beispielanwendung Entwicklungsumgebung: Java 8 oder höher Git Client (z. B. Git Bash http://git-scm.com/downloads) Maven 3.x (http://maven.apache.org/download.html) IDE, z. B. JBoss Developer Studio (https://devstudio.jboss.com) DB-Tool, z. B. SQL Workbench/J (http://www.sql-workbench.net/) 20 git clone --branch jax16 https://github.com/dirkweil/javaee-workshop.git cd javaee-workshop mvn # Import Maven project into IDE Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 21. Beispielanwendung Laufzeitumgebung: WildFly 10.0.0.Final (http://www.wildfly.org/downloads) 21 # Server an beliebigen Platz entpacken … # Server starten wildfly-10.0.0.Final/bin/standalone.sh bzw. .bat # Datasource einrichten cp javaee-workshop/additional/wildfly/conference-ds.xml wildfly-10.0.0.Final/standalone/deployments # Anwendung deployen cp javaee-workshop/target/javaee-workshop.war wildfly-10.0.0.Final/standalone/deployments Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 22. More http://www.gedoplan-it-training.de Seminare in Berlin, Bielefeld, Inhouse z.B. Java EE 7 intensiv, 13.06., Berlin http://www.gedoplan-it-consulting.de Reviews, Coaching, … http://javaeeblog.wordpress.com/ http://gedoplan-it-consulting.de/expertenkreis-java/  dirk.weil@gedoplan.de @dirkweil 22Java EE 7 - Enterprise-Anwendungen ohne Ballast