A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar...

28
@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

Transcript of A Discovery Service for Java EE - Jfokus...#SnoopEE - Jfokus 2016 @ivar_grimstad SnoopEE Ivar...

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/