Building Distributed Programs: Two Paradigms
Communication-Oriented Design
- Start with communication protocol
- Design message format and syntax
- Design client and server components by specifying how they react to incoming messages
Application components as finite-state machines !?
Focus on communication instead of application!
- Application-Oriented Design
- Start with application
- Design, build, test conventional implementation
- Partition program