Top Banner
@ivar_grimstad #SnoopEE - Jfokus 2016 SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371, 375) A Discovery Service for Java EE
28

A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

Apr 07, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

SnoopEE

Ivar Grimstad Principal Consultant, Cybercom Sweden

JCP Expert Group Member (JSRs 368, 371, 375)

A Discovery Service for Java EE

Page 2: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Page 3: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

@ivar_grimstad

https://github.com/ivargrimstadhttps://www.linkedin.com/in/ivargrimstad

http://lanyrd.com/profile/ivargrimstad/

Page 4: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Discovering Microservices with

SnoopEE

Page 5: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Service A Service B Service C

Application

Call A Call B Call C

Page 6: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Service A Service B Service C

Application SnoopEE Discovery Service

Register Register Register

Page 7: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Service A Service B Service C

Application SnoopEE Discovery Service

Register Register Register

Lookup A

Call A

Page 8: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Service A Service B Service C

Application SnoopEE Discovery Service

Register Register Register

Lookup B

Call B

Page 9: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Service A Service B Service C

Application SnoopEE Discovery Service

Register Register Register

Lookup B

Page 10: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

DEMO !

Page 11: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Hello World Bzzz

Hello World SnoopEE Discovery Service

Register Register Register

Payara 4.1 Docker + GlassFish 4.1

Docker + WildFly 9 WebSphere Liberty

Docker + WildFly 8 WildFly Swarm

Lookup

Call

Call

Call

Page 12: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Hello World Bzzz

Hello World SnoopEE Discovery Service

Register Register Register

Payara 4.1 Docker + GlassFish 4.1

Docker + WildFly 9 Docker + WildFly 8 WildFly Swarm

Lookup

Call

Call

Call

Page 13: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

ResourcesSnoopEE http://snoopee.agilejava.eu

Samples https://github.com/ivargrimstad/snoop-samples

Docker Images https://hub.docker.com/u/ivargrimstad

Page 14: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

cybercom.com

Page 15: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

SnoopEEService Registration

Page 16: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

@EnableSnoopClient(serviceName="hello")

Page 17: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

@EnableSnoopClient(name = "hello") @ApplicationPath("api") public class ApplicationConfig extends Application { }

Page 18: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

SnoopEEService Lookup

Page 19: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

@Snoop(serviceName="hello")

Page 20: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

@Inject @Snoop(serviceName = "hello") private SnoopServiceClient helloService;

Page 21: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

SnoopEE ServiceConsumption

Page 22: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

SnoopServiceClient

Page 23: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

@Inject @Snoop(serviceName = "hello") private SnoopServiceClient helloService;

Page 24: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

Page 25: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

String helloResponse = helloService.simpleGet("hello") .filter(r -> r.getStatus()==200) .map(r -> r.readEntity(String.class)) .orElse("goodbye");

Page 26: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

SnoopEE Configuration

Page 27: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

System Properties

Environment Variables

Application Configuration(snoop.yml)

Page 28: A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar Grimstad Principal Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371,

@ivar_grimstad#SnoopEE - Jfokus 2016

snoop.yml

snoop: host: http://localhost port: 8080 serviceRoot: snoop-hello-service/api snoopService: 192.168.99.100:8081/snoop-service/