There are different design choices in a SOA, even when you already have 
identified the services. I have a simple example that I would like to share:

Imagine a ordet-to-cash process. One part of that process is to register 
an order. Suppose we have two services, Order Service and Inventory 
Service. The task is to register the order and make a corresponding 
reservation of the stock level. I would be pleased to have the groups 
view on the following 3 design options (A, B, C):

A.
  1. The "process/application" sends a message (sync or async) to 
"registerOrder" on the Order Service.
  2.  The "process/application" sends another message (sync or async) to 
"reserveStock" on the the Inventory Service.

B.
  1. The "process/application" sends a message (sync or async) to 
"registerOrder" on the Order Service.
  2. The Order Service sends a message (sync or async) to "reserveStock" 
on the the Inventory Service.

C.
  1. The "process/application" sends a message (sync or async) to 
"registerOrder" on the Order Service.
  2. The Order Service publishes an "orderReceived" event.
  3. The Inventory Service subscribes to the "orderReceived" event .


// Dennis Djenfer

Reply via email to