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

Microprofile - by Example

ivargrimstad
February 24, 2017

Microprofile - by Example

Architectures based on microservices introduce new challenges for architects and developers. An ever-increasing list of languages and tools brings with it the capabilities to conquer this challenge. Java is no exception.

The latest addition in this area is the http://microprofile.io initiative. In this session, we will explore different approaches to building microservices using the Java ecosystem and compare them to using Microprofile.io. All strategies for building microservices with Java that are presented will be compared and demoed in live coding demos.

The demos will include technologies such as Java, Java EE, microprofile.io, Spring Boot, Docker and more.

ivargrimstad

February 24, 2017
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. @ivar_grimstad #MicroProfile #JavaEE Service A Service B Service C Application

    Discovery Service Register Register Register Microservice Architecture
  2. @ivar_grimstad #MicroProfile #JavaEE Service A Service B Service C Application

    Discovery Service Register Register Register Lookup A Call A Microservice Architecture
  3. @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
  4. @ivar_grimstad #MicroProfile #JavaEE Config WebSphere Liberty Microprofile Service Config WebSphere

    Liberty
 Web Profile Service websphere-liberty:microProfile websphere-liberty:webProfile7 238 MB 200 MB
  5. @ivar_grimstad #MicroProfile #JavaEE Config Payara Microprofile Service Config Payara
 Web

    Profile Service payara/microprofile payara/server-web:164 599 MB 83 MB
  6. @ivar_grimstad #MicroProfile #JavaEE Config WildFly Swarm Microprofile Service Config WildFly


    Web Profile Service jboss/base-jdk:8 jboss/wildfly:10.1.0.Final 288 MB 149 MB
  7. @ivar_grimstad #MicroProfile #JavaEE Config TomEE
 Web Profile Service Config TomEE


    Web Profile Service tomee/8-jre-1.7.4-jaxrs tomee/8-jre-1.7.4-jaxrs 159 MB 159 MB
  8. @ivar_grimstad #MicroProfile #JavaEE <dependency> <groupId>fish.payara.extras</groupId> <artifactId>payara-microprofile</artifactId> <version>1.0</version> <scope>provided</scope> </dependency> <dependency>

    <groupId>org.apache.tomee</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>net.wasdev.wlp.starters.microprofile</groupId> <artifactId>provided-pom</artifactId> <version>0.0.1-SNAPSHOT</version> <type>pom</type> <scope>provided</scope> </dependency> <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>microprofile</artifactId> <version>2017.1.1</version> </dependency>
  9. @ivar_grimstad #MicroProfile #JavaEE <dependency> <groupId>javax</groupId> <artifactId>javaee-web-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> Web

    Profile <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> Full Profile