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

16 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**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