SlideShare ist ein Scribd-Unternehmen logo
Leichtgewichtige Microservices mit Java EE
Expertenkreis Java, 10.12.2015, GEDOPLAN
Dirk Weil, GEDOPLAN GmbH
Dirk Weil
GEDOPLAN GmbH, Bielefeld
GEDOPLAN IT Consulting
Konzeption, Realisierung von IT-Lösungen
gedoplan-it-consulting.de
GEDOPLAN IT Training
Seminare in Berlin, Bielefeld, on-site
gedoplan-it-training.de
Java EE seit 1998
Vorträge, Veröffentlichungen
Leichtgewichtige Microservices mit Java EE 2
Traditionelle Full-Stack-Anwendungen
3Leichtgewichtige Microservices mit Java EE
Präsentation
Services
Persistenz
HTML, JS, CSS, ...
JSF, Vaadin, ...
REST, SOAP, ...
CDI, EJB, ...
JMS, ...
JPA, MyBatis, ...
Traditionelle Full-Stack-Anwendungen
4Leichtgewichtige Microservices mit Java EE
Präsentation
Services
Persistenz
A
Team A
B
Team B
Traditionelle Full-Stack-Anwendungen
Komponentenschnitt
 Abhängigkeiten
 Abstimmungsaufwand
Monolithisches Deployment
 (nur) gemeinsame Releases
 (nur) einheitliche Technologie
5Leichtgewichtige Microservices mit Java EE
Präsentation
Services
Persistenz
A
Team A
B
Team B
Microservices
6Leichtgewichtige Microservices mit Java EE
A
Team A
B
Team B
Links
REST, Remoting,
Messaging
Datenreplikation
Microservices
Komponentenschnitt ...
Unabhängiges Deployment möglich
 unabhängige Releasezyklen
 Continuous D*
Technologiemix möglich
Aber: Komplexität in Netz verschoben
 Service-Versionierung
 Kommunikationsaufwand
7Leichtgewichtige Microservices mit Java EE
A
Team A
B
Team B
Links
REST, Remoting,
Messaging
Datenreplikation
Microservices
Java EE bietet notwendige Bestandteile
Persistenz: JPA
Services: CDI, EJB
Web UI: JSF (+JavaScript, HTML5, …)
REST: JAX-RS
Basisimplementierung Java-EE-Server
kleine, schnelle Deployments
Trennung Anwendung/Admin (Konfiguration, Security, …)
8Leichtgewichtige Microservices mit Java EE
Microservices
Demo
muServOrder: Beer Order Service
muServStat: Beer Usage Statistics
beides Web-Anwendungen
Deployment auf WildFly 9
https://github.com/dirkweil/muServ
9Leichtgewichtige Microservices mit Java EE
Microservices
Häufig: Nur eine Anwendung pro Java-EE-Server
Server notwendig?
 kleine Deployments
 Separation of Concerns
Serverlose Alternative: WildFly Swarm
 noch Alpha-Stadium
10Leichtgewichtige Microservices mit Java EE
WildFly Swarm
WildFly embedded
diverse Maven-Dependencies verfügbar
Plugin baut Fat Jar ...-swarm.jar
11Leichtgewichtige Microservices mit Java EE
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-undertow</artifactId>
<version>${version.wildfly-swarm}</version>
</dependency>
<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<executions>
...
WildFly Swarm
Start
mvn wildfly-swarm:run
java –jar ...-swarm.jar
In IDE: org.wildfly.swarm.Swarm oder eigenes main
deployt Anwendung automatisch
Demo: Einfache Servlet-Anwendung
12Leichtgewichtige Microservices mit Java EE
More
http://www.gedoplan-it-training.de
Seminare in Berlin, Bielefeld, Inhouse
http://www.gedoplan-it-consulting.de
Reviews, Coaching, …
http://javaeeblog.wordpress.com/
http://expertenkreisjava.blogspot.de/
 dirk.weil@gedoplan.de
@dirkweil
Leichtgewichtige Microservices mit Java EE 13

Weitere ähnliche Inhalte

Andere mochten auch

WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
gedoplan
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GIT
gedoplan
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
gedoplan
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
gedoplan
 
AngularJS
AngularJSAngularJS
AngularJS
gedoplan
 
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
gedoplan
 

Andere mochten auch (6)

WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GIT
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
 
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
 

Ähnlich wie Leichtgewichtige Microservices mit Java EE 7

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
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
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
OPITZ CONSULTING Deutschland
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEEguestc44b7b
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
gedoplan
 
MicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit QuarkusMicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit Quarkus
gedoplan
 
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Michael Kurz
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
gedoplan
 
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
 
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
Lukas Eder
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
Christoph Pickl
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
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
 
Java Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - Shaabani
Java Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - ShaabaniJava Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - Shaabani
Java Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - Shaabani
OPITZ CONSULTING Deutschland
 
Feige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-UmfeldFeige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-Umfeld
gedoplan
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
Java Usergroup Berlin-Brandenburg
 
Liferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-EntwicklungsplattformLiferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-Entwicklungsplattform
gedoplan
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterprise
adesso AG
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
Torsten Winterberg
 
Docker in der Anwendungsentwicklung
Docker in der AnwendungsentwicklungDocker in der Anwendungsentwicklung
Docker in der Anwendungsentwicklung
Torsten Fink
 

Ähnlich wie Leichtgewichtige Microservices mit Java EE 7 (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
 
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?
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
MicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit QuarkusMicroProfile-Anwendungen mit Quarkus
MicroProfile-Anwendungen mit Quarkus
 
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!JEE und Micro – kein Widerspruch!
JEE und Micro – kein Widerspruch!
 
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!
 
Java Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - Shaabani
Java Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - ShaabaniJava Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - Shaabani
Java Legacy Code - DOAG Regio NRW 2010 - OPITZ CONSULTING - Ruesberg - Shaabani
 
Feige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-UmfeldFeige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-Umfeld
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Liferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-EntwicklungsplattformLiferay als Java-Portal-Entwicklungsplattform
Liferay als Java-Portal-Entwicklungsplattform
 
Scala 4 Enterprise
Scala 4 EnterpriseScala 4 Enterprise
Scala 4 Enterprise
 
Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
 
Docker in der Anwendungsentwicklung
Docker in der AnwendungsentwicklungDocker in der Anwendungsentwicklung
Docker in der Anwendungsentwicklung
 

Leichtgewichtige Microservices mit Java EE 7

  • 1. Leichtgewichtige Microservices mit Java EE Expertenkreis Java, 10.12.2015, GEDOPLAN Dirk Weil, GEDOPLAN GmbH
  • 2. Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption, Realisierung von IT-Lösungen gedoplan-it-consulting.de GEDOPLAN IT Training Seminare in Berlin, Bielefeld, on-site gedoplan-it-training.de Java EE seit 1998 Vorträge, Veröffentlichungen Leichtgewichtige Microservices mit Java EE 2
  • 3. Traditionelle Full-Stack-Anwendungen 3Leichtgewichtige Microservices mit Java EE Präsentation Services Persistenz HTML, JS, CSS, ... JSF, Vaadin, ... REST, SOAP, ... CDI, EJB, ... JMS, ... JPA, MyBatis, ...
  • 4. Traditionelle Full-Stack-Anwendungen 4Leichtgewichtige Microservices mit Java EE Präsentation Services Persistenz A Team A B Team B
  • 5. Traditionelle Full-Stack-Anwendungen Komponentenschnitt  Abhängigkeiten  Abstimmungsaufwand Monolithisches Deployment  (nur) gemeinsame Releases  (nur) einheitliche Technologie 5Leichtgewichtige Microservices mit Java EE Präsentation Services Persistenz A Team A B Team B
  • 6. Microservices 6Leichtgewichtige Microservices mit Java EE A Team A B Team B Links REST, Remoting, Messaging Datenreplikation
  • 7. Microservices Komponentenschnitt ... Unabhängiges Deployment möglich  unabhängige Releasezyklen  Continuous D* Technologiemix möglich Aber: Komplexität in Netz verschoben  Service-Versionierung  Kommunikationsaufwand 7Leichtgewichtige Microservices mit Java EE A Team A B Team B Links REST, Remoting, Messaging Datenreplikation
  • 8. Microservices Java EE bietet notwendige Bestandteile Persistenz: JPA Services: CDI, EJB Web UI: JSF (+JavaScript, HTML5, …) REST: JAX-RS Basisimplementierung Java-EE-Server kleine, schnelle Deployments Trennung Anwendung/Admin (Konfiguration, Security, …) 8Leichtgewichtige Microservices mit Java EE
  • 9. Microservices Demo muServOrder: Beer Order Service muServStat: Beer Usage Statistics beides Web-Anwendungen Deployment auf WildFly 9 https://github.com/dirkweil/muServ 9Leichtgewichtige Microservices mit Java EE
  • 10. Microservices Häufig: Nur eine Anwendung pro Java-EE-Server Server notwendig?  kleine Deployments  Separation of Concerns Serverlose Alternative: WildFly Swarm  noch Alpha-Stadium 10Leichtgewichtige Microservices mit Java EE
  • 11. WildFly Swarm WildFly embedded diverse Maven-Dependencies verfügbar Plugin baut Fat Jar ...-swarm.jar 11Leichtgewichtige Microservices mit Java EE <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-undertow</artifactId> <version>${version.wildfly-swarm}</version> </dependency> <plugin> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-plugin</artifactId> <executions> ...
  • 12. WildFly Swarm Start mvn wildfly-swarm:run java –jar ...-swarm.jar In IDE: org.wildfly.swarm.Swarm oder eigenes main deployt Anwendung automatisch Demo: Einfache Servlet-Anwendung 12Leichtgewichtige Microservices mit Java EE
  • 13. More http://www.gedoplan-it-training.de Seminare in Berlin, Bielefeld, Inhouse http://www.gedoplan-it-consulting.de Reviews, Coaching, … http://javaeeblog.wordpress.com/ http://expertenkreisjava.blogspot.de/  dirk.weil@gedoplan.de @dirkweil Leichtgewichtige Microservices mit Java EE 13