SlideShare a Scribd company logo
1 of 22
Download to read offline
Dirk Weil | GEDOPLAN GmbH
Java EE 7
Enterprise-Anwendungen
ohne Ballast
Dirk Weil
• GEDOPLAN GmbH, Bielefeld
• Java EE seit 1998
• Konzeption und
Realisierung
• Vorträge
• Seminare
• Veröffentlichungen
2
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Was ist Java EE?
• = Java Platform, Enterprise Edition
• Plattform für mehrschichtige Anwendungen
• Spezifikationen und Interfaces als Ergänzung
der Java SE
• Implementierung durch Produkte
– GlassFish
– JBoss
– Oracle WebLogic Server
– IBM WebSphere AS
– …
3
Java 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
4
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Architektur-Modell
Browser Desktop
JavaServer Faces
(CDI)
Webservice
Servlet
CDI
Enterprise
JavaBeans
Connector MessagingJava Persistence
Client
Web- /
Präsentationslogik
Geschäftslogik
Daten /
Enterprise
Information Systems
JavaEEServer
5
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
CDI-JAR META-INF beans.xml
bean1.class
bean2.class
6
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
EJB-JAR META-INF ejb-jar.xml
bean1.class
bean2.class
7
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
WAR WEB-INF web.xml
bean1.class
bean2.class
classespage1.xhtml
page2.xhtml
lib library.jar
8
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Enterprise-
Anwendungen
– Zusammenfassung
der Bestandteile
– Deployment
Descriptor
application.xml
(optional)
– Paketierung
als .ear-Datei
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
9
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Deployment
• Erlaubte Formate:
– WAR
– EAR
• Serverabhängige Deployment-
Verfahren:
– Auto Deployment
– Administrationswerkzeuge
10
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Historie
1.2
1.3
1.4
5
6
7
1.1
1.0 1998
2001
2002
2006
2010
2013
Annotations
CDI
11
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Technologien
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
12
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Profile
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
13
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• C-Man
Conference Management
• https://github.com/dirkweil/javaee-workshop
14
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• Java Persistence
– Entity Mapping
– Entity Manager, TX- / Request Scoped
– Relations
– Converter
– …
15
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• CDI
– Beans, Injektion
– Producer
– TX Interceptor
– Qualifier
– Infrastruktur- und fachliche Injektion
– Scopes
– Alternatives
– …
16
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• JavaServer Faces
– Request Processing Lifecycle
– MVC / Front Controller
– Facelets
– EL
– Faces Flows
– …
17
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• Enterprise JavaBeans
– Stateless, Stateful, Singleton
– Vergleich mit CDI
– TX-Steuerung
– Timer / Scheduler
– …
18
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• Bean Validation
• REST Webservices
• ?
19
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• Entwicklungsumgebung:
– Java 7 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/)
git clone --branch jax15 https://github.com/dirkweil/javaee-workshop.git
cd javaee-workshop
mvn
# Import Maven Project into IDE
20
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Beispielanwendung
• Laufzeitumgebung:
– WildFly 8.2.0.Final (http://www.wildfly.org/downloads)
# Server an beliebigen Platz entpacken …
# Server starten
wildfly-8.2.0.Final/bin/standalone.sh bzw. .bat
# Datasource einrichten
cp javaee-workshop/additional/wildfly/conference-ds.xml 
wildfly-8.2.0.Final/bin/standalone/deployments
# Anwendung deployen
cp javaee-workshop/target/javaee-workshop.war 
wildfly-8.2.0.Final/bin/standalone/deployments
21
Java EE 7 - Enterprise-Anwendungen ohne Ballast
More
• http://www.gedoplan-it-training.de, z. B:
– Java EE intensiv, 22.-26.06.15, Berlin
– Java EE Masterclass, 18.-22.05.15, Berlin
• http://www.gedoplan-it-consulting.de
• http://javaeeblog.wordpress.com/
• http://expertenkreisjava.blogspot.de/
•  dirk.weil@gedoplan.de
• @dirkweil
22
Java EE 7 - Enterprise-Anwendungen ohne Ballast

More Related Content

What's hot

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 CDIadesso AG
 
DOAG 2014 - Enterprise User Security Von der Business Rolle bis in die Datenbank
DOAG 2014 - Enterprise User Security Von der Business Rolle bis in die DatenbankDOAG 2014 - Enterprise User Security Von der Business Rolle bis in die Datenbank
DOAG 2014 - Enterprise User Security Von der Business Rolle bis in die DatenbankMarcel Pils
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!gedoplan
 
Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011Ileana Somesan
 
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Ileana Somesan
 
Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012
Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012
Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012Ileana Somesan
 
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ührunggedoplan
 
Active Directory - best practices
Active Directory - best practicesActive Directory - best practices
Active Directory - best practicesDigicomp Academy AG
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.adesso AG
 
Good by Server... Hello Client!
Good by Server... Hello Client!Good by Server... Hello Client!
Good by Server... Hello Client!Sandro Sonntag
 
Restful Frontend-Architecture
Restful Frontend-ArchitectureRestful Frontend-Architecture
Restful Frontend-ArchitectureSandro Sonntag
 

What's hot (11)

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
 
DOAG 2014 - Enterprise User Security Von der Business Rolle bis in die Datenbank
DOAG 2014 - Enterprise User Security Von der Business Rolle bis in die DatenbankDOAG 2014 - Enterprise User Security Von der Business Rolle bis in die Datenbank
DOAG 2014 - Enterprise User Security Von der Business Rolle bis in die Datenbank
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
 
Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011Oracle Database Appliance, Partnerwebcast, November 2011
Oracle Database Appliance, Partnerwebcast, November 2011
 
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
 
Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012
Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012
Oracle Database Appliance, DOAG Regio Berlin Brandenburg, Juni 2012
 
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
 
Active Directory - best practices
Active Directory - best practicesActive Directory - best practices
Active Directory - best practices
 
Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.Lean web architecture mit jsf 2.0, cdi & co.
Lean web architecture mit jsf 2.0, cdi & co.
 
Good by Server... Hello Client!
Good by Server... Hello Client!Good by Server... Hello Client!
Good by Server... Hello Client!
 
Restful Frontend-Architecture
Restful Frontend-ArchitectureRestful Frontend-Architecture
Restful Frontend-Architecture
 

Viewers also liked

javaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevelsjavaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevelsgedoplan
 
Macit Kandemir, Flexible Datenbank-Anwendungen mit MongoDB
Macit Kandemir, Flexible Datenbank-Anwendungen mit MongoDBMacit Kandemir, Flexible Datenbank-Anwendungen mit MongoDB
Macit Kandemir, Flexible Datenbank-Anwendungen mit MongoDBgedoplan
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GITgedoplan
 
Apache camel
Apache camelApache camel
Apache camelgedoplan
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungengedoplan
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistencegedoplan
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistencegedoplan
 
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
 Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl... Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...gedoplan
 
Java Batch – Der Standard für's Stapeln
Java Batch – Der Standard für's StapelnJava Batch – Der Standard für's Stapeln
Java Batch – Der Standard für's Stapelngedoplan
 
Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7gedoplan
 
Jpa queries
Jpa queriesJpa queries
Jpa queriesgedoplan
 
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im VergleichWie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleichgedoplan
 

Viewers also liked (13)

javaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevelsjavaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevels
 
Macit Kandemir, Flexible Datenbank-Anwendungen mit MongoDB
Macit Kandemir, Flexible Datenbank-Anwendungen mit MongoDBMacit Kandemir, Flexible Datenbank-Anwendungen mit MongoDB
Macit Kandemir, Flexible Datenbank-Anwendungen mit MongoDB
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GIT
 
Apache camel
Apache camelApache camel
Apache camel
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
 
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
 Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl... Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
Infinispan / JBoss Data Grid - Schneller Zugriff auf große Datenmengen im Cl...
 
Java Batch – Der Standard für's Stapeln
Java Batch – Der Standard für's StapelnJava Batch – Der Standard für's Stapeln
Java Batch – Der Standard für's Stapeln
 
Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7Leichtgewichtige Microservices mit Java EE 7
Leichtgewichtige Microservices mit Java EE 7
 
Jpa queries
Jpa queriesJpa queries
Jpa queries
 
AngularJS
AngularJSAngularJS
AngularJS
 
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im VergleichWie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
 

Similar to Java EE 7 - Enterprise-Anwendungen ohne Ballast

Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemachtJava EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemachtgedoplan
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztEdward Burns
 
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
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudMarc Müller
 
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
 
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
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationSamuel Zürcher
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UIgedoplan
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOPITZ CONSULTING Deutschland
 
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Peter Kirchner
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magentoAOE
 
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
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der PraxisTobias Kraft
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6GFU Cyrus AG
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus gedoplan
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Torsten Kleiber
 
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
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsMarc Müller
 

Similar to Java EE 7 - Enterprise-Anwendungen ohne Ballast (20)

Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemachtJava EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
 
Wie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE NutztWie Azure Jakarta EE Nutzt
Wie Azure Jakarta EE Nutzt
 
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!
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
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?
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang RütterOracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
Oracle ETL Herausforderungen - OPITZ CONSULTING - Till Sander - Wolfgang Rütter
 
Arquillian
ArquillianArquillian
Arquillian
 
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
 
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"
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
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
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
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
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 

Java EE 7 - Enterprise-Anwendungen ohne Ballast

  • 1. Dirk Weil | GEDOPLAN GmbH Java EE 7 Enterprise-Anwendungen ohne Ballast
  • 2. Dirk Weil • GEDOPLAN GmbH, Bielefeld • Java EE seit 1998 • Konzeption und Realisierung • Vorträge • Seminare • Veröffentlichungen 2 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 3. Was ist Java EE? • = Java Platform, Enterprise Edition • Plattform für mehrschichtige Anwendungen • Spezifikationen und Interfaces als Ergänzung der Java SE • Implementierung durch Produkte – GlassFish – JBoss – Oracle WebLogic Server – IBM WebSphere AS – … 3 Java 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 4 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 5. Architektur-Modell Browser Desktop JavaServer Faces (CDI) Webservice Servlet CDI Enterprise JavaBeans Connector MessagingJava Persistence Client Web- / Präsentationslogik Geschäftslogik Daten / Enterprise Information Systems JavaEEServer 5 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 CDI-JAR META-INF beans.xml bean1.class bean2.class 6 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 EJB-JAR META-INF ejb-jar.xml bean1.class bean2.class 7 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 WAR WEB-INF web.xml bean1.class bean2.class classespage1.xhtml page2.xhtml lib library.jar 8 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 9. Enterprise- Anwendungen – Zusammenfassung der Bestandteile – Deployment Descriptor application.xml (optional) – Paketierung als .ear-Datei 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 9 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 10. Deployment • Erlaubte Formate: – WAR – EAR • Serverabhängige Deployment- Verfahren: – Auto Deployment – Administrationswerkzeuge 10 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 12. Technologien 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 12 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 13. Profile 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 13 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 14. Beispielanwendung • C-Man Conference Management • https://github.com/dirkweil/javaee-workshop 14 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 15. Beispielanwendung • Java Persistence – Entity Mapping – Entity Manager, TX- / Request Scoped – Relations – Converter – … 15 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 16. Beispielanwendung • CDI – Beans, Injektion – Producer – TX Interceptor – Qualifier – Infrastruktur- und fachliche Injektion – Scopes – Alternatives – … 16 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 17. Beispielanwendung • JavaServer Faces – Request Processing Lifecycle – MVC / Front Controller – Facelets – EL – Faces Flows – … 17 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 18. Beispielanwendung • Enterprise JavaBeans – Stateless, Stateful, Singleton – Vergleich mit CDI – TX-Steuerung – Timer / Scheduler – … 18 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 19. Beispielanwendung • Bean Validation • REST Webservices • ? 19 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 20. Beispielanwendung • Entwicklungsumgebung: – Java 7 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/) git clone --branch jax15 https://github.com/dirkweil/javaee-workshop.git cd javaee-workshop mvn # Import Maven Project into IDE 20 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 21. Beispielanwendung • Laufzeitumgebung: – WildFly 8.2.0.Final (http://www.wildfly.org/downloads) # Server an beliebigen Platz entpacken … # Server starten wildfly-8.2.0.Final/bin/standalone.sh bzw. .bat # Datasource einrichten cp javaee-workshop/additional/wildfly/conference-ds.xml wildfly-8.2.0.Final/bin/standalone/deployments # Anwendung deployen cp javaee-workshop/target/javaee-workshop.war wildfly-8.2.0.Final/bin/standalone/deployments 21 Java EE 7 - Enterprise-Anwendungen ohne Ballast
  • 22. More • http://www.gedoplan-it-training.de, z. B: – Java EE intensiv, 22.-26.06.15, Berlin – Java EE Masterclass, 18.-22.05.15, Berlin • http://www.gedoplan-it-consulting.de • http://javaeeblog.wordpress.com/ • http://expertenkreisjava.blogspot.de/ •  dirk.weil@gedoplan.de • @dirkweil 22 Java EE 7 - Enterprise-Anwendungen ohne Ballast