Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MicroProfile - New and Noteworthy

MicroProfile - New and Noteworthy

When the Microprofile initiative was started in 2016, it only took about three months before version 1.0 was launched. From day one, there were four different implementations from four different vendors available.

And the progress does not stop there! Whereas version 1.0 was a subset of Java EE specifications, the following versions bring additional technologies useful for building microservices.

Current version contains APIs and implementations for:

* Externalized Configuration
* Fault Tolerance
* Health Checks
* Application Metrics
* Security
* Open API
* Open Tracing
* Client API

In this fast-paced, demo-heavy session, MicroProfile will be introduced and demonstrated using the available implementations in live coding demos. All implementations will be explored and compared in a vendor neutral way.

We will also take a look at the potential candidates for future versions, Java EE 8 support and the relationship to EE4J and Jakarta EE.

ivargrimstad

May 31, 2018
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. @ivar_grimstad #MicroProfile MicroProfile - New and Noteworthy Ivar Grimstad
 Principal

    Consultant, Cybercom Sweden @ivar_grimstad #MicroProfile #devsum18
  2. @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
  3. @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
  4. @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
  5. @ivar_grimstad #MicroProfile #devsum18 Application Metrics Service A MicroProfile 1.2 /metrics

    /metrics/application Service B MicroProfile 1.2 /metrics /metrics/application …
  6. @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
  7. @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
  8. @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