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

3 Architecture Patterns Applied in Java

3 Architecture Patterns Applied in Java

Some software architecture patterns are still unclear to engineers, so here I jot down 3 fundamental architecture patterns and implemented them in an elegant and simple way.

Andres Pedes Morales

December 10, 2019
Tweet

More Decks by Andres Pedes Morales

Other Decks in Programming

Transcript

  1. Applied
    Architecture
    Patterns in Java
    (The simple way)
    Andres Cespedes Morales

    View Slide

  2. Hello!
    I am Andres
    You can find me at
    @andrespedes
    2

    View Slide

  3. Agenda
    ▪ Bringing patterns into reality with simplicity
    ▪ Fault Tolerant Architectures
    ▪ Long Running Actions (Sagas with ease)
    ▪ Event-Driven Architecture
    3

    View Slide

  4. Architecture
    Patterns, huh?
    Simple in theory, not quite in practice?
    1.

    View Slide

  5. User Feedback
    5

    View Slide

  6. Translating
    Diagrams
    6

    View Slide

  7. Hands Off Architect
    7

    View Slide

  8. Fault Tolerant
    Architectures
    How to avoid catastrophic failures with
    ease in a Microservice world
    2.

    View Slide

  9. 9

    View Slide

  10. Resiliency Patterns
    10
    Retry Fallback Circuit
    Breaker

    View Slide

  11. Technologies FTW
    11

    View Slide

  12. Demo
    12

    View Slide

  13. Distributed Architectures
    How to gracefully complete long running actions
    3.

    View Slide

  14. How hard could it be?
    14

    View Slide

  15. “Ultra-smart Solution”
    15

    View Slide

  16. Technologies FTW
    16

    View Slide

  17. Demo
    17

    View Slide

  18. Event-Driven Architectures
    Asynchronous communication: Did you mean letters?
    4.

    View Slide

  19. Once upon a time …
    19
    service service

    View Slide

  20. Async Choreography?
    20

    View Slide

  21. Technologies FTW
    21

    View Slide

  22. Demo
    22

    View Slide

  23. SIMPLICITY
    Applying software architecture solutions
    and patterns can be done with it
    23

    View Slide

  24. Simplicity
    is the ultimate
    sophistication
    24

    View Slide

  25. Thanks!
    Any questions?
    You can find me at
    ▪ @andrespedes
    ▪ https://www.linkedin.com/in/andrespedes12/
    25

    View Slide

  26. Credits
    Special thanks to all the people who helped me and
    collaborated in one way or another with this talk:
    26
    ▪ SlidesCarnival
    ▪ Chris Richardson
    ▪ Guillaume Smet
    ▪ Paul Parkinson
    ▪ Denise Yu
    ▪ Bruno Baptista
    ▪ Jn Bernitt
    ▪ Martin Stefanko

    View Slide