The Entity-Control-Boundary is an architectural pattern that has the purpose to make the link between use-cases and your code.
Architecture of ECB compared to MVC
ECB has some similarities with MVC. For instance, there is a straightforward relation between ECB-Entity and MVC-Model, and also between MVC-View and ECB-Boundary. But there is a big difference ...
I'm going to start with detecting cyclical dependencies. This can be done by checking if a dependency is part of the chain leading to that dependency, i.e. something like this:
private static bool IsCyclic(IResource resource)
var stack = new Stack<IResource>();
With just the interface as information, it is impossible to say if a particular pattern is being followed. It does appear that an attempt is made to separate the user-interface from the business logic, which can indicate that the design is inspired by the MV* patterns.
As for where the timing should be handled for how long messages/dialogs are presented to ...
A lot depends on the details, but in general I would try to avoid having synchronous dependencies if I have full control over the design.
For example if you already know that the service will need to chain-call to downstream services, why not try to design the system in a way that whatever information is needed is at the node where the request comes in.
Your Architecture looks good. You have seperated the concerns and have a good grasp of the domain you are working in.
Q1 Order Management and Shopping Cart are the Customer facing parts of your application or the business-relevant aggregation of your services 1-4.
Q2 Communication via messaging is a reasonable choice - but not the only one you have. You ...