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

MicroProfile Hands-on-Lab

ivargrimstad
September 12, 2020

MicroProfile Hands-on-Lab

Accompanying slides for my MicroProfile Hands-on-Lab Workshop.

https://github.com/ivargrimstad/microprofile-hol

ivargrimstad

September 12, 2020
Tweet

More Decks by ivargrimstad

Other Decks in Programming

Transcript

  1. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) MicroProfile Workshop Ivar Grimstad
 Jakarta EE Developer Advocate, Eclipse Foundation
  2. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  3. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) M icroProfile 3.3 February 18, 2020
  4. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope Client
  5. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  6. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  7. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  8. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  9. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Part 1
  10. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) API Description
  11. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Which knowledge should be shared between an API provider and its clients? How should this knowledge be documented?
  12. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  13. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  14. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) https://github.com/ivargrimstad/microprofile-hol Part 1
  15. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) greeting http://localhost:9080/greeting/hello Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Ope Client
  16. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Part 2
  17. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Externalised Configuration
  18. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How to enable a service to run in multiple environments without modification?
  19. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Configuration for MicroProfile
  20. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) System Properties System.getProperties() Environment Variables System.getenv() Application Configuration META-INF/microprofile-config.properties
  21. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) System Properties System.getProperties() Environment Variables System.getenv() Application Configuration META-INF/microprofile-config.properties
  22. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  23. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  24. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Health Check API
  25. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How to detect that a running service instance is unable to handle requests?
  26. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) MicroProfile Health API
  27. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  28. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  29. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Application Metrics
  30. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How to understand the behavior of an application and troubleshoot problems?
  31. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) MicroProfile Metrics
  32. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  33. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  34. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) https://github.com/ivargrimstad/microprofile-hol Part 2
  35. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Part 3
  36. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Circuit Breaker
  37. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How to prevent a network or service failure from cascading to other services?
  38. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  39. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  40. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  41. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Access Token
  42. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) How to communicate the identity of the requestor to the services that handle the request?
  43. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Basic Authentication
  44. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) POST /hello HTTP/1.1 Host: localhost:8080 Authorization: Basic c25vb3850nBhc3M= User-Agent: HTTPie/0.9.9 Accept: */* Content-Type: application/json Content-Length: 26 {“message”:“Hello, Duke!”}
  45. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) OAuth 2.0
  46. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) POST /hello HTTP/1.1 Host: localhost:8080 Authorization: Bearer 2YotnF2FEjrlzCsidMWpAA User-Agent: HTTPie/0.9.9 Accept: */* Content-Type: application/json Content-Length: 26 {“message”:“Hello, Duke!”}
  47. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  48. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) JSON Web Token (JWT)
  49. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) POST /hello HTTP/1.1 Host: localhost:8080 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiQ mVhcmVyIiwiYXVkIjoic2ltcGxlYXBwIiwic3ViIjoiYm9iIiwidXBuIjo iYm9iIiwiY3VzdG9tQ2xhaW0iOiJjdXN0b21WYWx1ZSIsImdyb3VwcyI6W yJhZG1pbiIsInVzZXIiXSwiaXNzIjoiaHR0cDovL29wZW5saWJlcnR5Lml vIiwiZXhwIjoxNTI1MzM5MjU5LCJpYXQiOjE1MjUyNTI4NTl9.nDDpCR2w MWsENaDGORQblErOCJ6ii1R-N6iSzVsAz2RoUlvM2PrST2qT6kje-Nz9vc ptbSpOSlF1OuJydvP8Tg3puJKI5vGyL4RMowgJHwdvv7hMZvrK1loNrPfb yv727L9UwJSZMdzL_sibiXDuj-bIBIr6yGjVF86aQnh-PWBV8HHM1iW8l1 _y351lp2CAPkfjKwLU91iIT1jO1QCwItF8Dv-zAzmhd_rOIF58eB809_5r m0MMGIuAXdgUiU2bdEJQCkTWJKNNaSu5oddZzlKaCX4hIgBdrVV6447DM0 i31YRhLpYHfbzh_NlRrRPjGPNgzOIN1RInwPC8jdg_g User-Agent: HTTPie/0.9.9 Accept: */* Content-Type: application/json Content-Length: 26 {“message”:“Hello, Duke!”}
  50. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) POST /hello HTTP/1.1 Host: localhost:8080 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiQ mVhcmVyIiwiYXVkIjoic2ltcGxlYXBwIiwic3ViIjoiYm9iIiwidXBuIjo iYm9iIiwiY3VzdG9tQ2xhaW0iOiJjdXN0b21WYWx1ZSIsImdyb3VwcyI6W yJhZG1pbiIsInVzZXIiXSwiaXNzIjoiaHR0cDovL29wZW5saWJlcnR5Lml vIiwiZXhwIjoxNTI1MzM5MjU5LCJpYXQiOjE1MjUyNTI4NTl9.nDDpCR2w MWsENaDGORQblErOCJ6ii1R-N6iSzVsAz2RoUlvM2PrST2qT6kje-Nz9vc ptbSpOSlF1OuJydvP8Tg3puJKI5vGyL4RMowgJHwdvv7hMZvrK1loNrPfb yv727L9UwJSZMdzL_sibiXDuj-bIBIr6yGjVF86aQnh-PWBV8HHM1iW8l1 _y351lp2CAPkfjKwLU91iIT1jO1QCwItF8Dv-zAzmhd_rOIF58eB809_5r m0MMGIuAXdgUiU2bdEJQCkTWJKNNaSu5oddZzlKaCX4hIgBdrVV6447DM0 i31YRhLpYHfbzh_NlRrRPjGPNgzOIN1RInwPC8jdg_g User-Agent: HTTPie/0.9.9 Accept: */* Content-Type: application/json Content-Length: 26 {“message”:“Hello, Duke!”}
  51. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) ✦Header ✦ JSON, Base64 URL Encoded ✦ Algorithm, Type ✦Payload ✦ JSON, Base64 URL Encoded ✦ Standard + Custom entries ✦Signature ✦ Binary, Base64 URL Encoded ✦ The actual signature
  52. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) POST /hello HTTP/1.1 Host: localhost:8080 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiQ mVhcmVyIiwiYXVkIjoic2ltcGxlYXBwIiwic3ViIjoiYm9iIiwidXBuIjo iYm9iIiwiY3VzdG9tQ2xhaW0iOiJjdXN0b21WYWx1ZSIsImdyb3VwcyI6W yJhZG1pbiIsInVzZXIiXSwiaXNzIjoiaHR0cDovL29wZW5saWJlcnR5Lml vIiwiZXhwIjoxNTI1MzM5MjU5LCJpYXQiOjE1MjUyNTI4NTl9.nDDpCR2w MWsENaDGORQblErOCJ6ii1R-N6iSzVsAz2RoUlvM2PrST2qT6kje-Nz9vc ptbSpOSlF1OuJydvP8Tg3puJKI5vGyL4RMowgJHwdvv7hMZvrK1loNrPfb yv727L9UwJSZMdzL_sibiXDuj-bIBIr6yGjVF86aQnh-PWBV8HHM1iW8l1 _y351lp2CAPkfjKwLU91iIT1jO1QCwItF8Dv-zAzmhd_rOIF58eB809_5r m0MMGIuAXdgUiU2bdEJQCkTWJKNNaSu5oddZzlKaCX4hIgBdrVV6447DM0 i31YRhLpYHfbzh_NlRrRPjGPNgzOIN1RInwPC8jdg_g User-Agent: HTTPie/0.9.9 Accept: */* Content-Type: application/json Content-Length: 26 {“message”:“Hello, Duke!”}
  53. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) { “alg”: “RS256”, “typ”: “JWT} { “token-type: “access-token”, “username”: “duke”, “scopes”: [ “java”: “everywhere” ], “exp”: 1474280963, “iat”: 1474279163 “jti”: “66881b068b249ad9” } nDDpCR2wMWsENaDGORQblErOCJ6ii1R-N6iSzVsAz2RoUlvM2PrST2qT6kje-Nz 9vcptbSpOSlF1OuJydvP8Tg3puJKI5vGyL4RMowg-JHwdvv7hMZvrK1loNrPfby v727L9UwJSZMdzL_sibiXDuj-bIBIr6yGjVF86aQnh-PWBV8HHM1iW8l1_y351l p2CAPkfjKwLU91iIT1jO1QCwItF8Dv-zAzmhd_rOIF58eB809_5rm0MMGIuAXdg UiU2bdEJQCkTWJKNNaSu5oddZzlKaCX4hIgBdrVV6447DM0i31YRhLpYHfbzh_N lRrRPjGPNgzOIN1RInwPC8jdg_g
  54. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  55. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0)
  56. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) https://github.com/ivargrimstad/microprofile-hol Part 3
  57. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke { name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope Client
  58. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke { name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  59. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke { name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  60. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke { name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  61. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke { name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  62. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Summary
  63. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope Client
  64. greeting capitalize birthday Retry + Fallback http://localhost:9080/greeting/hello http://localhost:8080/birthday/duke?date=1995-05-23 http://localhost:8070/capitalize/duke {

    name: "Duke", daysToBirthday: 253, daysSinceBirthday: 112, age: 25 } Duke Hello Duke! You are 25 years old. It has gone 112 days since your birthday and it is 253 days left to your next... Response Response Response Ope JWT Client
  65. COPYRIGHT (C) 2020, ECLIPSE FOUNDATION, INC. | THIS WORK IS

    LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE (CC BY 4.0) Lab https://github.com/ivargrimstad/microprofile-hol Microprofile http://microprofile.io