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

Microservices with Java EE - the right way!

ivargrimstad
November 03, 2016

Microservices with Java EE - the right way!

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. This session explores different approaches to building microservices using the Java ecosystem.

A wide variety of strategies for building microservices with Java will be presented, explained and compared with live coding demos.

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

ivargrimstad

November 03, 2016
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Microservices with Java EE

    Ivar Grimstad
 Principal Consultant, Cybercom Sweden …and Doing it Right!
  2. @ivar_grimstad DevoxxMA 2016 - #microservices #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
  3. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Hardware Operating System JVM

    Application Hardware Operating System JVM Java EE Container Application
  4. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Hardware Operating System JVM

    Application Hardware Operating System JVM Java EE Container Application
  5. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Config WebSphere Liberty Microprofile

    Service Config WebSphere Liberty
 Web Profile Service websphere-liberty:microProfile websphere-liberty:webProfile7 239 MB 201 MB
  6. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Config Payara Microprofile Service

    Config Payara
 Web Profile Service payara/microprofile payara/server-web:163 599 MB 83 MB
  7. @ivar_grimstad DevoxxMA 2016 - #microservices #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
  8. @ivar_grimstad DevoxxMA 2016 - #microservices #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
  9. @ivar_grimstad DevoxxMA 2016 - #microservices #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>2016.10.0</version> </dependency>
  10. @ivar_grimstad DevoxxMA 2016 - #microservices #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
  11. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Service A Service B

    Service C Application Discovery Service Register Register Register
  12. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Service A Service B

    Service C Application Discovery Service Register Register Register Lookup A Call A
  13. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Service A Service B

    Service C Application Discovery Service Register Register Register Lookup B Call B
  14. @ivar_grimstad DevoxxMA 2016 - #microservices #JavaEE Service A Service B

    Service C Application Discovery Service Register Register Register Lookup B