UI Mediator (Utschig, Maier, Trops, Normann, Winterberg)
How can a service-oriented solution provide a consistent, interactive user experience?
Because the behavior of individual services can vary depending on their design, runtime usage, and the workload required to carry out a given capability, the consistency with which a service-oriented solution can respond to requests originating from a user-interface can fluctuate, leading to a poor user experience.
Establish mediator logic solely responsible for ensuring timely interaction and feedback with user-interfaces and presentation logic.
A utility mediator service or service agent is positioned as the initial recipient of messages originating from the user-interface. This mediation logic responds in a timely and consistent manner regardless of the behavior of the underling solution.
The mediator logic establishes an additional layer of processing that can add to the required runtime processing.
PrinciplesService Loose Coupling
The mediator service (D) regularly updates the user interface while services A, B, and C work behind-the-scenes to complete the task.