Slide 1

Slide 1 text

@ivar_grimstad #MicroProfile MicroProfile - New and Noteworthy Ivar Grimstad
 Principal Consultant, Cybercom Sweden @ivar_grimstad #MicroProfile #devsum18

Slide 2

Slide 2 text

@ivar_grimstad https://github.com/ivargrimstad https://www.linkedin.com/in/ivargrimstad

Slide 3

Slide 3 text

@ivar_grimstad #MicroProfile #devsum18 Background MicroProfile Demo and Samples

Slide 4

Slide 4 text

@ivar_grimstad #MicroProfile #devsum18 Why MicroProfile ?

Slide 5

Slide 5 text

@ivar_grimstad #MicroProfile #devsum18 Java EE 8 What was going on with ?

Slide 6

Slide 6 text

@ivar_grimstad #MicroProfile #devsum18 Cloud-Native Java EE

Slide 7

Slide 7 text

@ivar_grimstad #MicroProfile #devsum18

Slide 8

Slide 8 text

@ivar_grimstad #MicroProfile #devsum18

Slide 9

Slide 9 text

@ivar_grimstad #MicroProfile #devsum18 Profiles

Slide 10

Slide 10 text

@ivar_grimstad #MicroProfile #devsum18 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

Slide 11

Slide 11 text

@ivar_grimstad #MicroProfile #devsum18 Packaging

Slide 12

Slide 12 text

@ivar_grimstad #microservices Application Server (Container) Service C Service B Service A Configuration A Configuration B Configuration C

Slide 13

Slide 13 text

@ivar_grimstad #MicroProfile #JavaEE #EE4J #JakartaEE Thin WAR

Slide 14

Slide 14 text

@ivar_grimstad #MicroProfile #devsum18 Hardware Operating System JVM Java EE Container Application

Slide 15

Slide 15 text

@ivar_grimstad #MicroProfile #JavaEE #EE4J #JakartaEE UberJAR

Slide 16

Slide 16 text

@ivar_grimstad #MicroProfile #devsum18 Hardware Operating System JVM Application

Slide 17

Slide 17 text

@ivar_grimstad #MicroProfile #JavaEE #EE4J #JakartaEE java -jar dukes.jar

Slide 18

Slide 18 text

@ivar_grimstad #MicroProfile #JavaEE #EE4J #JakartaEE Hollow JAR

Slide 19

Slide 19 text

@ivar_grimstad #MicroProfile #JavaEE #EE4J #JakartaEE java -jar dukes.jar dukes.war

Slide 20

Slide 20 text

@ivar_grimstad #MicroProfile #JavaEE #EE4J #JakartaEE 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

Slide 21

Slide 21 text

@ivar_grimstad #microservices

Slide 22

Slide 22 text

@ivar_grimstad #microservices 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

Slide 23

Slide 23 text

@ivar_grimstad #microservices Resources Configuration Service

Slide 24

Slide 24 text

@ivar_grimstad #MicroProfile #devsum18

Slide 25

Slide 25 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.0 Septem ber, 2016

Slide 26

Slide 26 text

@ivar_grimstad #MicroProfile #devsum18 io.microprofile microprofile 1.0 pom provided

Slide 27

Slide 27 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.1 July 21, 2017

Slide 28

Slide 28 text

@ivar_grimstad #MicroProfile #devsum18 io.microprofile microprofile 1.0 pom provided

Slide 29

Slide 29 text

@ivar_grimstad #MicroProfile #devsum18 org.eclipse.microprofile microprofile-bom 1.1.0 pom provided

Slide 30

Slide 30 text

@ivar_grimstad #MicroProfile #devsum18 Configuration for MicroProfile 1.0

Slide 31

Slide 31 text

@ivar_grimstad #MicroProfile #devsum18 System Properties System.getProperties() Environment Variables System.getenv() Application Configuration META-INF/microprofile-config.properties

Slide 32

Slide 32 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.2 Septem ber 30, 2017

Slide 33

Slide 33 text

@ivar_grimstad #MicroProfile #devsum18 org.eclipse.microprofile microprofile-bom 1.1.0 pom provided

Slide 34

Slide 34 text

@ivar_grimstad #MicroProfile #devsum18 org.eclipse.microprofile microprofile 1.2 pom provided

Slide 35

Slide 35 text

@ivar_grimstad #MicroProfile #devsum18 Application Metrics Service A MicroProfile 1.2 /metrics /metrics/application Service B MicroProfile 1.2 /metrics /metrics/application …

Slide 36

Slide 36 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.3 January 3, 2018

Slide 37

Slide 37 text

@ivar_grimstad #MicroProfile #devsum18 org.eclipse.microprofile microprofile 1.2 pom provided

Slide 38

Slide 38 text

@ivar_grimstad #MicroProfile #devsum18 org.eclipse.microprofile microprofile 1.3 pom provided

Slide 39

Slide 39 text

@ivar_grimstad #MicroProfile #devsum18 @Path("birthday") public interface BirthdayService { @GET String daysToBirthday(@QueryParam("date") String date); } RestClientBuilder.newBuilder() .baseUrl(new URL(“https://birtdayservice.duke”)) .build(BirthdayService.class) .daysToBirthday(“2018-05-31”)); Typesafe RestClient

Slide 40

Slide 40 text

@ivar_grimstad #MicroProfile #devsum18 Eclipse MicroProfile Implementations

Slide 41

Slide 41 text

@ivar_grimstad #MicroProfile #devsum18

Slide 42

Slide 42 text

@ivar_grimstad #MicroProfile #devsum18

Slide 43

Slide 43 text

@ivar_grimstad #MicroProfile #devsum18 Demo

Slide 44

Slide 44 text

@ivar_grimstad #MicroProfile #devsum18 Summary

Slide 45

Slide 45 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.0 Septem ber, 2016

Slide 46

Slide 46 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.1 July 21, 2017

Slide 47

Slide 47 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.2 Septem ber 30, 2017

Slide 48

Slide 48 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.3 January 3, 2018

Slide 49

Slide 49 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 1.4 June 6, 2018

Slide 50

Slide 50 text

@ivar_grimstad #MicroProfile #devsum18 M icroProfile 2.0 June 6, 2018

Slide 51

Slide 51 text

@ivar_grimstad #MicroProfile #devsum18 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

Slide 52

Slide 52 text

@ivar_grimstad #MicroProfile #devsum18 JSR 382: Configuration API 1.0

Slide 53

Slide 53 text

@ivar_grimstad #MicroProfile #devsum18

Slide 54

Slide 54 text

@ivar_grimstad #MicroProfile #devsum18

Slide 55

Slide 55 text

@ivar_grimstad #MicroProfile #devsum18 https://jakarta.ee/

Slide 56

Slide 56 text

@ivar_grimstad #MicroProfile #devsum18 Eclipse MicroProfile http://microprofile.io Jakarta EE https://jakarta.ee Eclipse Enterprise for Java (EE4J) https://projects.eclipse.org/projects/ee4j Samples https://github.com/ivargrimstad/cloudee-duke https://github.com/ivargrimstad/dukes-microprofile

Slide 57

Slide 57 text

@ivar_grimstad #MicroProfile #devsum18 cybercom.com

Slide 58

Slide 58 text

@ivar_grimstad #MicroProfile #devsum18 @ivar_grimstad #MicroProfile #devsum18 Don’t forget to evaluate this session in the Devsum app!