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

Meet SnoopEE - A Discovery Service for Java EE @ Javaforum Malmö

Meet SnoopEE - A Discovery Service for Java EE @ Javaforum Malmö

ivargrimstad

March 02, 2016
Tweet

More Decks by ivargrimstad

Other Decks in Technology

Transcript

  1. @ivar_grimstad #SnoopEE - Javaforum Malmö Meet SnoopEE Ivar Grimstad Principal

    Consultant, Cybercom Sweden JCP Expert Group Member (JSRs 368, 371, 375) A Discovery Service for Java EE
  2. @ivar_grimstad #SnoopEE - Javaforum Malmö Service A Service B Service

    C Application Discovery Service Register Register Register
  3. @ivar_grimstad #SnoopEE - Javaforum Malmö Service A Service B Service

    C Application Discovery Service Register Register Register Lookup A Call A
  4. @ivar_grimstad #SnoopEE - Javaforum Malmö Service A Service B Service

    C Application Discovery Service Register Register Register Lookup B Call B
  5. @ivar_grimstad #SnoopEE - Javaforum Malmö Service A Service B Service

    C Application Discovery Service Register Register Register Lookup B
  6. @ivar_grimstad #SnoopEE - Javaforum Malmö Service B Service A Service

    C Application Eureka Discovery Service Register Register Register @EnableEurekaClient Hardware Operating System JVM Service A Hardware Operating System JVM Service B Hardware Operating System JVM Service C
  7. @ivar_grimstad #SnoopEE - Javaforum Malmö @SpringBootApplication @EnableEurekaClient public class Application

    { public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
  8. @ivar_grimstad #SnoopEE - Javaforum Malmö Hardware Operating System JVM Service

    C Hardware Operating System JVM Service B Hardware Operating System JVM Service A Application SnoopEE Discovery Service Register Register Register Hardware Operating System JVM Java EE Container Service A Hardware Operating System JVM Java EE Container Service B Hardware Operating System JVM Java EE Container Service C @EnableSnoopClient
  9. @ivar_grimstad #SnoopEE - Javaforum Malmö Hardware Operating System JVM Java

    EE Container Service A Hardware Operating System JVM Java EE Container Service C Hardware Operating System JVM Java EE Container Service B Application SnoopEE Discovery Service Register Register Register @EnableSnoopClient Hardware Operating System Service C Hardware Operating System JVM Service B Future<Snoop>
  10. @ivar_grimstad #SnoopEE - Javaforum Malmö String helloResponse = helloService.simpleGet("hello") .filter(r

    -> r.getStatus()==200) .map(r -> r.readEntity(String.class)) .orElse("goodbye");
  11. @ivar_grimstad #SnoopEE - Javaforum Malmö snoop.yml snoop: host: http://localhost port:

    8080 serviceRoot: snoop-hello-service/api snoopService: 192.168.59.103:8081/snoop-service/
  12. @ivar_grimstad #SnoopEE - Javaforum Malmö Service A Service B Service

    C Application SnoopEE Discovery Service Call Call Call Lookup http:// Register ws:// Register ws:// Register ws://
  13. @ivar_grimstad #SnoopEE - Javaforum Malmö 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
  14. @ivar_grimstad #SnoopEE - Javaforum Malmö 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
  15. @ivar_grimstad #SnoopEE - Javaforum Malmö 1. Add Maven Dependency <dependency>

    <groupId>eu.agilejava</groupId> <artifactId>snoop</artifactId> <version>${snoop.version}</version> </dependency> <dependency> <groupId>eu.agilejava</groupId> <artifactId>snoop</artifactId> <version>1.3.0</version> </dependency>
  16. @ivar_grimstad #SnoopEE - Javaforum Malmö 3. Configure the Service snoop:

    host: http://localhost port: 8080 serviceRoot: snoop-hello-service/api snoopService: 192.168.59.103:8081/snoop-service/
  17. @ivar_grimstad #SnoopEE - Javaforum Malmö Service A1 Service A2 Service

    C Application SnoopEE Discovery Service Register Register Lookup Call Call Load Balancer