javantura v4 - kumuluzee – microservices with java - matjaž b. jurič & tilen faganel

19

Category:

Technology


3 download

TRANSCRIPT

Page 1: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel
Page 2: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

KUMULUZEE –

MICROSERVICES WITH JAVA

Tilen Faganel

Sunesis d.o.o.

Mail: [email protected]

Github: @tfaga

Web: https://kumuluz.com

Matjaž B. Jurič

UL FRI

Mail: [email protected]

Web: https://kumuluz.com

Page 3: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Microservice architecture by example

Lets build an online store!

Page 4: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

UI UI

Catalogue Catalogue

Cart & payment Cart & payment

Delivery Delivery

Application server

WAR/EAR

DB

Queue

Page 5: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Monolith applications

Well-known

Easier to manage and deploy

Intimidating to developers

Scaling can be difficult

Continuous deployment can be difficult

Page 6: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

UI UI

Catalogue Catalogue

Cart & payment Cart & payment

Delivery Delivery

NoSQL DB

DB

Queue

Page 7: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

UI UI

Catalogue Catalogue

Cart & payment Cart & payment

Delivery Delivery

NoSQL DB

DB

Queue

Catalogue Catalogue Catalogue Catalogue

Cart & payment Cart & payment

Page 8: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Perfect for building new, modern, cloud-native Java applications

Page 9: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Use standard EE APIs

Completely modular

Easy migration of existing

applications

Automates configuration

Pack into independent JAR

Page 10: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Servlet + JAX-RS

+ JPA, CDI,

Bean Validation,

JSON-P

JAR size 1,5 MB 5 MB 15 MB

Page 11: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

<dependency>

<groupId>com.kumuluz.ee</groupId>

<artifactId>kumuluzee-core</artifactId>

<version>2.0.0</version>

</dependency>

<dependency>

<groupId>com.kumuluz.ee</groupId>

<artifactId>kumuluzee-servlet-jetty</artifactId>

<version>2.0.0</version>

</dependency>

<dependency>

<groupId>com.kumuluz.ee</groupId>

<artifactId>kumuluzee-jax-rs-jersey</artifactId>

<version>2.0.0</version>

</dependency>

Add the required dependencies

(only the components or implementations,

that we want)

@Path("catalog")

public class SampleREST {

@GET

@Produces({"application/xml", "application/json"})

public Response hello() {

return Response.ok(“Hello from KumuluzEE”);

}

}

Use standard Java EE APIs

@ApplicationPath("rest")

public class RestApplication extends Application {

}

Page 12: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

build

$ mvn clean package

run directly

$ java -cp target/classes:target/dependency/* com.kumuluz.ee.EeApplication

or run the created JAR

$ java -jar target/kumuluzee-example-1.0.0-SNAPSHOT.jar

Page 13: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Docker

First class support for Docker containers - for every cloud

Page 14: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Demo

Page 15: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Complexity of the system increases

Management of multiple databases

Transaction boundaries are smaller

More coordination is required

Drawbacks

Page 16: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

How about existing Java EE applications?

Page 17: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

How can we migrate the monoliths into microservices step-by-step?

Page 18: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Package, configure, deploy and scale

Page 19: Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen Faganel

Tilen Faganel

Sunesis d.o.o.

Mail: [email protected]

Github: @tfaga

Web: https://kumuluz.com

Matjaž B. Jurič

UL FRI

Mail:

[email protected]

Web: https://kumuluz.com