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

let me be free workshop slides

let me be free workshop slides

Khaled Souf

January 26, 2023
Tweet

More Decks by Khaled Souf

Other Decks in Technology

Transcript

  1. Let’s clear some concepts A Bounded Context (BC) : 4

    @SepNamdar @KhaledSouf An Autonomous System Clients Other BCs Data Source
  2. First of all : Learn the Domain As a Human

    Resource I want to find an available Recruiter According to my Candidate Availabilities “Who can test”* my Candidate. Who can test : The Recruiter should cover all Candidate’s Skills. 7 @SepNamdar @KhaledSouf
  3. Context 8 Shared Objects BC LMBF BC Another BC Another

    BC BC : Bounded Context @SepNamdar @KhaledSouf
  4. Shared Kernel 9 Shared Objects BC LMBF BC Another BC

    Another BC BC : Bounded Context @SepNamdar @KhaledSouf
  5. Shared Kernel 10 @SepNamdar @KhaledSouf • Should be avoid as

    much as possible • Need a high level communication between teams who use it • Teams need to be mature and awareness • Needs solid integration tests • One team should be it’s responsible • Most of time are the Legacy / BBOM systems
  6. Customer / Supplier 11 Shared Objects BC LMBF BC Another

    BC Another BC BC : Bounded Context @SepNamdar @KhaledSouf Customer (Downstream) Supplier (Upstream) Customer (Downstream) Customer (Downstream) Depends on D U
  7. Anti-Corruption Layer (ACL) 14 Shared Objects BC LMBF BC Another

    BC Another BC BC : Bounded Context @SepNamdar @KhaledSouf ACL D U
  8. Anti-Corruption Layer (ACL) 15 @SepNamdar @KhaledSouf • Avoid a BC

    to be corrupted by other BCs • Always at Downstream side • Filter Data • Useful in case of working with : ◦ a Legacy System (Bubble Context) ◦ a big quantity of data (ACL Back-end Repository)
  9. Step 2 : Respect the UL of your Domain 18

    @SepNamdar @KhaledSouf • An ACL has also the responsibility to translate data
  10. Open Host Service (OHS) 21 Shared Objects BC LMBF BC

    Another BC Another BC BC : Bounded Context @SepNamdar @KhaledSouf ACL D U SHO
  11. Open Host Service (OHS) 22 @SepNamdar @KhaledSouf • Always used

    on Upstream side • Adapt exposed services in order to coordinate with Downstream BCs • Useful when many Downstream BCs depend on un Upstream BC • Use a Shared Language to satisfy all Downstream BCs
  12. Step 4 : What to do with Room Service 24

    @SepNamdar @KhaledSouf Shared Objects BC LMBF BC Another BC Another BC ACL D U OHS Room Booking BC
  13. Conformist 26 @SepNamdar @KhaledSouf • Always used on Downstream side

    • Like an ACL • Downstream BC does not have the chance to negotiate with Upstream BC • Downstream BC should accept the Upstream constructions
  14. Separate Ways 28 @SepNamdar @KhaledSouf • The cost of communication

    and integration between BCs is too high ◦ Two teams that can not support each other ◦ Two teams with an important time difference • We accept to have duplications
  15. Step 4 : Let’s Discuss 29 • Given hypothesis, suggest

    one or more integration solutions for communicate between LMBF BC and Room Reservation BC
  16. Final Word 30 @SepNamdar @KhaledSouf Domain evolves, so Context Mapping

    Strategies can change ‘if the architecture of the organization is at odds with the architecture of the system, the architecture of the organization wins’ Ruth Malan - Architect