Demystifying Microservices for Java EE Developers

Similar documents
MicroProfile - New and Noteworthy

From Java EE to Jakarta EE. A user experience

Eclipse MicroProfile with Thorntail (formerly WildFly Swarm)

MicroProfile: Optimizing Java EE For a Microservices Architecture

Baking a Java EE 8 Micro Pi Mike Croft Ondrej Mihályi. Payara Support

Optimizing Enterprise Java for a Microservices Architecture Otávio

Building the Enterprise

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Eclipse MicroProfile: Accelerating the adoption of Java Microservices

Java EE 7 is ready What to do next? Peter Doschkinow Senior Java Architect

open source community experience distilled

Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps

JakartaEE and the road ahead An ASF View. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien

Software Design COSC 4353/6353 DR. RAJ SINGH

Java EE 6: Develop Web Applications with JSF

Liberty Right Fit for MicroProfile

Developing Applications with Java EE 6 on WebLogic Server 12c

The Evolution of Java Persistence

Migrating traditional Java EE applications to mobile

Microprofile Fault Tolerance. Emily Jiang 1.0,

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc.

Fault Tolerance in Microservices

Agenda Time (PT) 8:45 a.m. Event Platform Opening 9:00 a.m. Keynote - Java: Present and Future Java EE 7 Java SE 8 Java Embedded

Cheat Sheet: Wildfly Swarm

Modular Java EE in the cloud

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

GAVIN KING RED HAT CEYLON SWARM

Stateless Microservice Security via JWT, TomEE and MicroProfile

Java EE 7: Back-End Server Application Development

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Oracle 1Z Java EE 7 Application Developer.

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

JavaEE.Next(): Java EE 7, 8, and Beyond

Lessons learned from real-world deployments of Java EE 7. Arun Gupta, Red

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Red Hat JBoss Fuse Service Works Integration Recipes, Best Practices & Cheat Codes

Continuous delivery of Java applications. Marek Kratky Principal Sales Consultant Oracle Cloud Platform. May, 2016

Adapting JDT to the Cloud. Alex Boyko Pivotal Jay Arthanareeswaran - IBM John Arthorne - IBM

DOWNLOAD OR READ : JAVA EE 6 WEB COMPONENT DEVELOPER CERTIFIED EXPERT MARATHON 1Z0 899 PRACTICE PROBLEMS PDF EBOOK EPUB MOBI

Spring Cloud, Spring Boot and Netflix OSS

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Il Mainframe e il paradigma dell enterprise mobility. Carlo Ferrarini zsystems Hybrid Cloud

Architect Exam Guide. OCM EE 6 Enterprise. (Exams IZO-807,1ZO-865 & IZO-866) Oracle Press ORACLG. Paul R* Allen and Joseph J.

Adopt-a-JSR Panel for 16 October 2014

New Features in EJB 3.1

The Wait is Over, Activiti 6 is Here. Doug Johnson (Thomas De Meo) Mario Romano

Enterprise Architectures

Courses For Event Java Advanced Summer Training 2018

Down-to-Earth Microservices with Vanilla Java

MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift

Send me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,

Microservices and Container Development

JVA-563. Developing RESTful Services in Java

RESTful Microservices

Java EE 7 Recipes for Concurrency. Presented By: Josh Juneau Author and Application Developer

Making The Future Java

Spring Web Services Tutorial With Example In

Java EE und WebLogic Roadmap die nächsten Schritte

openliberty.io Opening up a legacy product to a new audience Fall Present My Role: Design Lead (Branding, UX, Visuals)

Exam Questions 1Z0-895

CUSTOMIZE & SECURE YOUR ENTERPRISE MOBILE SALESFORCE INTEGRATIONS LIKE RED HAT

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Breaking Apart the Monolith with Modularity and Microservices CON3127

CO Java EE 6: Develop Web Services with JAX-WS & JAX-RS

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

Oracle Enterprise Pack for Eclipse 11g Hands on Labs

Tattletale. What is Tattletale? Enterprise archives JBoss Application Server 7 Putting it all together Roadmap

APPLICATION ARCHITECTURE JAVA SERVICE MANUAL

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Why real integration developers ride Camels

Contents at a Glance

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

Resin Technical Update Summer 2018

Oracle Application Express 5.1

CO Java EE 7: Back-End Server Application Development

1 Markus Eisele, Insurance - Strategic IT-Architecture

IBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release

C exam. IBM C IBM WebSphere Application Server Developer Tools V8.5 with Liberty Profile. Version: 1.

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Monolith to Microservices

Curriculum vitae - Dusan Odalovic

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Hands-on Development of Web Applications with Java EE 6

August, HPE Propel Microservices & Jumpstart

JCP 2.8 Progress Report Public EC Meeting. Heather VanCura 20 November 2012

Programming Web Services in Java

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

API Connect. Arnauld Desprets - Technical Sale

IBMi in the IT infrastructure of tomorrow

FILE - JAVA WEB SERVICES HEAD FIRST

J2EE Interview Questions

What is it? What does it do?

Eclipse Incubator. - ASLv2 License.

CS612: IT Technology and Course Overview

Open Cloud Engine - An Open Source Cloud Native Transformer

JAVA EE 8 BY ALEX THEEDOM LEANPUB IPAD KINDLE

Containerized Microservices architecture M.V.L.N.Venugopal

Transcription:

Demystifying Microservices for Java EE Developers David R. Heffelfinger @ensode Follow me on Twitter! @ensode 1

About me David R. Heffelfinger Independent consultant based in Fairfax, VA Author of several books on Java, Java EE and related technologies Frequent speaker at Java conferences Named one of 39 Java experts you should follow on Twitter: https://techbeacon.com/java-leaders-you-shouldfollow-twitter Follow me on Twitter! @ensode 2

Session Outline What are microservices? Can Java EE do microservices? Migrating to microservices Microservices Demo Java EE 8, Java EE 9 and MicroProfile Summary Follow me on Twitter! @ensode 3

What are microservices? Architectural style Code deployed in small, granular modules Low coupling, high cohesion RESTful web services Framework and programming language independent Follow me on Twitter! @ensode 4

Can Java EE do microservices? Many Java EE application server vendors provide lightweight, embeddable application servers (e.g. Payara Micro) One application developed per instance of application server Several instances of the application server deployed to a server Follow me on Twitter! @ensode 5

Can Java EE do microservices? (cont'd) Some application servers allow the creation of an uber jar Lightweight application servers can be added to a container image (i.e. Docker) Applications can be deployed as thin wars, typically a few kilobytes in size. Modern, lightweight Java EE application servers suitable for microservices development Follow me on Twitter! @ensode 6

Microservices Advantages Smaller codebases Microservices encourage good coding practices Low coupling, high cohesion Resilience Scalability Follow me on Twitter! @ensode 7

Microservices Disadvantages Additional operational and tooling overhead Increased debugging complexity Distributed transactions may pose a challenge Network latency Potential for complex interdependencies Susceptible to the fallacies of distributed computing Follow me on Twitter! @ensode 8

Migrating to microservices Should we migrate? Do the benefits outweight the disadvantages? Are there pressing business requirements? A migration to microservices may not provide much value to end users Follow me on Twitter! @ensode 9

Migrating to microservices(cont'd) Iterative refactoring Refactor an existing application one module at a time Identify an existing module to refactor as a microservice Client code for the refactored module would invoke the refactored code via HTTP requests Identify a second module to refactor, then a third, etc, until the complete application has been refactored to follow the microservices architectural style Follow me on Twitter! @ensode 10

Migrating to microservices(cont'd) Partial refactoring Identify modules that may be reusable across applications Refactor those (and only those) modules as microservices Hybrid approach Follow me on Twitter! @ensode 11

Migrating to microservices(cont'd) Implement new requirements as microservices Existing code invokes the newly developed microservices via HTTP requests Hybrid approach Follow me on Twitter! @ensode 12

Microservices Demo Follow me on Twitter! @ensode 13

Java EE 8 Java API for JSON Binding (JSON-B) Automatically populate Java objects from JSON Automatically generate JSON from Java objects Java API for RESTful Web Services (JAX-RS) 2.1 JSON-B support Server Sent Events Improved CDI integration Security improvements Follow me on Twitter! @ensode 14

Java EE 8 (cont'd) CDI 2.0 Observer ordering Asynchronous events Configurators for major Service Provider Interface (SPI) elements Follow me on Twitter! @ensode 15

Java EE 8 (cont'd) Bean Validation 2.0 Support for Java SE 8 Date/Time API Ability to validate all members of a collection with a single annotation Repeatable annotation support Follow me on Twitter! @ensode 16

Java EE 9 Project Jigsaw support Java EE dependencies declared as modules Circuit Breaker design pattern support for JAX-RS New Event API NoSQL database support New State Management API Follow me on Twitter! @ensode 17

Microprofile Collaboration between application server vendors and JUGs IBM Payara Services Red Hat Tomitribe London Java Community SouJava Brazilian JUG Follow me on Twitter! @ensode 18

MicroProfile (cont'd) Does not compete with Java EE Feeds the Java EE standard Currently supports JAX-RS, CDI, and JSON-P May come up with new APIs Follow me on Twitter! @ensode 19

Summary Java EE is suitable for microservices Java EE developers can leverage their expertise Deploy Java EE compliant code to an embeddable application server Traditional Java EE applications can be partially or completely refactored to microservices Follow me on Twitter! @ensode 20

Additional Resources Demystifying Microservices for Java EE Developers Guide: http://info.payara.fish/demystifying-microservices-for-java-ee-developers The Aquarium (Java EE 8/9 News): https://blogs.oracle.com/theaquarium/ MicroProfile: https://microprofile.io/ Follow me on Twitter! @ensode Follow me on Twitter! @ensode 21