Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
@ivar_grimstad#MicroProfile #JavaEE
MicroProfile - New and NoteworthyIvar Grimstad
Principal Consultant, Cybercom Sweden
@ivar_grimstad
https://github.com/ivargrimstad
https://www.linkedin.com/in/ivargrimstad
@ivar_grimstad#MicroProfile #JavaEE
Background
MicroProfile
Demo and Samples
@ivar_grimstad#MicroProfile #JavaEE
Monolithic Architecture
@ivar_grimstad#MicroProfile #JavaEE
Service A Service B Service C
Application
Call A Call B Call C
Microservice Architecture
@ivar_grimstad#MicroProfile #JavaEE
Microservice Architecture
@ivar_grimstad#MicroProfile #JavaEE
Packaging
@ivar_grimstad#MicroProfile #JavaEE
UberJAR
@ivar_grimstad#MicroProfile #JavaEE
java -jar dukes.jar
@ivar_grimstad#MicroProfile #JavaEE
Hollow JAR
@ivar_grimstad#MicroProfile #JavaEE
java -jar dukes.jar dukes.war
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
Application
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
Java EE Container
Application
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
Application UberJAR
Hardware
Operating System
JVM
Java EE Container
Application Thin WAR
java -jar dukes.jar deployDukes.sh
@ivar_grimstad#MicroProfile #JavaEE
Why MicroProfile ?
@ivar_grimstad#MicroProfile #JavaEE
Java EE 8What was going on with
?
@ivar_grimstad#MicroProfile #JavaEE
@ivar_grimstad#MicroProfile #JavaEE
@ivar_grimstad#MicroProfile #JavaEE
@ivar_grimstad#MicroProfile #JavaEE
Profiles
@ivar_grimstad#MicroProfile #JavaEE
Full Profile
Web Profile
JAX-RS + CDI + JSON-P
+ WebSocket + Bean Validation + EJB + JPA + Servlet + JSF + JSP
+ JMS + Batch + Java Mail + Concurrency + JAX-WS + JASPIC
@ivar_grimstad#MicroProfile #JavaEE
MicroProfile
1.0
Septem
ber, 20
16
@ivar_grimstad#MicroProfile #JavaEE
Implementations
@ivar_grimstad#MicroProfile #JavaEE
@ivar_grimstad#MicroProfile #JavaEE
Demo
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>io.microprofile</groupId><artifactId>microprofile</artifactId><version>1.0</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.1
July 2
1, 201
7
@ivar_grimstad#MicroProfile #JavaEE
Configuration for MicroProfile 1.0
@ivar_grimstad#MicroProfile #JavaEE
System Properties System.getProperties()
Environment Variables System.getenv()
Application Configuration META-INF/microprofile-config.properties
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>io.microprofile</groupId><artifactId>microprofile</artifactId><version>1.0</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>org.eclipse.microprofile</groupId><artifactId>microprofile-bom</artifactId><version>1.1.0</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
Demo
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.2
Septem
ber 30
, 2017
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>org.eclipse.microprofile</groupId><artifactId>microprofile-bom</artifactId><version>1.1.0</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>org.eclipse.microprofile</groupId><artifactId>microprofile</artifactId><version>1.2</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
Demo
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.3
Janua
ry 3, 2
018
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>org.eclipse.microprofile</groupId><artifactId>microprofile</artifactId><version>1.2</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
<dependency><groupId>org.eclipse.microprofile</groupId><artifactId>microprofile</artifactId><version>1.3</version><type>pom</type><scope>provided</scope></dependency>
@ivar_grimstad#MicroProfile #JavaEE
Demo
@ivar_grimstad#MicroProfile #JavaEE
Packaging Revisited
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
Application UberJAR
Hardware
Operating System
JVM
Java EE Container
Application Thin WAR
java -jar dukes.jar deployDukes.sh
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
MicroProfile Container
Application Thin WAR
java -jar dukes.jar deployDukes.sh
Hardware
Operating System
JVM
Application UberJAR
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
UberJAR
Hardware
Operating System
JVM
MicroProfile Container
MicroProfile Application
Hardware
Operating System
JVM
Java EE Container
Java EE Application
java -jar dukes.jar java -jar dukes.jar dukes.war deployDukes.sh
@ivar_grimstad#MicroProfile #JavaEE
@ivar_grimstad#MicroProfile #JavaEE
Hardware
Operating System
JVM
UberJAR
Hardware
Operating System
JVM
MicroProfile Container
MicroProfile Application
Hardware
Operating System
JVM
Java EE Container
Java EE Application
docker run dukes docker run dukes docker run dukes
@ivar_grimstad#MicroProfile #JavaEE
…
…
…
@ivar_grimstad#MicroProfile #JavaEE
Config
WebSphere LibertyMicroprofile
Service
websphere-liberty:microProfile websphere-liberty:webProfile7
237 MB198 MB
Config
WebSphere Liberty Web Profile
Service
@ivar_grimstad#MicroProfile #JavaEE
Config
PayaraMicroprofile
Service
Config
Payara Micro
Service
payara/microprofile:1.0 payara/micro:173
132 MB83 MB
Config
Payara Web Profile
Service
payara/server-web:173
515 MB
@ivar_grimstad#MicroProfile #JavaEE
Config
WildFly SwarmMicroprofile
Service
Config
WildFly Web Profile
Service
jboss/base-jdk:8 jboss/wildfly:10.1.0.Final
288 MB149 MB
@ivar_grimstad#MicroProfile #JavaEE
Config
TomEEWeb Profile
Service
Config
TomEEWeb Profile
Service
tomee/8-jre-1.7.4-jaxrs tomee/8-jre-7.0.3-webprofile
263 MB263 MB
@ivar_grimstad#MicroProfile #JavaEE
Summary
@ivar_grimstad#MicroProfile #JavaEE
MicroProfile
1.0
Septem
ber, 20
16
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.1
July 2
1, 201
7
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.2
Septem
ber 30
, 2017
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.3
Janua
ry 3, 2
018
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 1
.4
March 2
3, 201
8
@ivar_grimstad#MicroProfile #JavaEE
MicroP
rofile 2
.0
March 2
3, 201
8
@ivar_grimstad#MicroProfile #JavaEE
JAX-RS 2.1 JSON-P 1.1 JSON-B 1.0 Servlet 4.0
CDI 2.0 Bean Validation 2.0
Java EE Security API 1.0 JSF 2.3 JPA 2.1
September, 2017
@ivar_grimstad#MicroProfile #JavaEE
JSR 382: Configuration API 1.0
@ivar_grimstad#EE4J
@ivar_grimstad#MicroProfile #JavaEE
Eclipse MicroProfile http://microprofile.io
Java EE https://github.com/javaee
Eclipse Enterprise for Java (EE4J) https://projects.eclipse.org/projects/ee4j
Samples https://github.com/ivargrimstad/dukes-microprofile