These pattern are useful when you are creating an API that will be called by 3rd party services or another software system.
These services are called from public networks.
Service-Oriented Pattern (SOP)
- Discrete business services.
- Use network to communicate.
- HTTP, XML, SOAP, binary.
|Business domain alignment||Clients must handle slow, offline network|
|High abstraction||Coarse interfaces|
|Discoverable, resilient||Many harm performance|
|Allow 3rd parties||Security issues|
Like SOA but with fine grained services,
- Services calling services
- Can use fast private network
- Deployed on multiple servers
|Modular||Must cope with slow, offline network|
|Reduced abstraction||More unanticipated cummunications|
|Discoverable, resilient||Hard to do transactions|
|Can use fast network||Hard to test, debug, & deploy|
|Less coarse interfaces|
- Services connected to shared data bus
- Uses messages for communication
- Supports discovery, failover
|Easy to extend||Bus = single point of failure|
|Simple communication||Coarse communications|
|Very flexible||Can be slow|
|Easy to scale||Hard to test, debug|
|Easy discovery, failover|