Files
ObsidianJournal/Work/Training/Advanced Distributed Systems/Advanced Distributed Systems Design - Module 6 - Referential Integrity & Reporting.md

1.1 KiB

Reporting

Category #1: wants to apply filter to data
Turn numbers that business users are looking for in reports into domain events.  "I want all orders over $1000".  When we ask why, the answer is that such an order is a risky order.  We now have a domain concept.  We can now emit events that say something like "I've accepted a risky order". Category #2: "what do you want", "I don't know"
Ultimately, all you can do is deliver data to this kind of user.  You can't automate it.  This user's job (he's really a researcher) is to do the un-automatable. For which kind of situation is SOA problematic?

  • For startups and/or young companies.  
    • SOA is around stable business practices
    • Young startups don't have the stable business practices you need.  
    • Everything is volatile--impossible to find service boundaries
    • SOA is about optimizing for certain known constraints
  • Building a "platform"
    • The idea is that you can use this platform for anything
    • SOA, again, is dependent on established, known business practices which don't exist for a "generic" platform