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

16 lines
1.1 KiB
Markdown
Raw 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