We use cookies and other similar technologies (Cookies) to enhance your experience and to provide you with relevant content and ads. By using our website, you are agreeing to the use of Cookies. You can change your settings at any time. Cookie Policy.

Business Ecology Initiative & Service-Oriented Solution

Michael Poulin

Mediate UI or not, this is the question...

Vote 0 Votes

We certainly moving forward because technical ideas circulate and realise in a few corners of architectural community simultaneously. For example, the latest Thomas Erl's book 'SOA Design Patterns' has published UI Mediator Pattern that was contributed by Oracle's Clemens Utschig with colleagues. Practically at the same time I proposed similar pattern - Collaboration-Conciliator Pattern - aiming to resolve a problem between RIA and SOA. Of cause, when I saw UI Mediator in the book, I was curious how similar those patterns are. Matter of fact that the only similarity I've found was that both patterns were talking about an intermediary between UI code and the rest of the application; the motivation-problem and pattern functionality were quite different.

UI Mediator Pattern, according to the authors, is supposed to answer "How can a service-oriented solution provide a consistent, interactive user experience?", i.e. user experience is assumed as a part of a service-oriented solution. However, the problem the pattern actually addresses is a bit different: "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 serviceoriented solution can respond to requests originating from a user-interface can fluctuate, leading to a poor user experience", which sounds as an obvious separation between UI and SOA service and, in this case, it is unclear why the solution is called service-oriented. The same relates to the solution description, i.e. to the core of the pattern: "Establish mediator logic solely responsible for ensuring timely interaction and feedback with user-interfaces and presentation logic. This mediation logic responds ... regardless of the behavior of the underling solution", i.e. UI Mediator just dispatches UI calls whereas UI and SOA services 'live' singly.

Collaboration-Conciliator Patter, while addressing the same question as UI Mediator, provides for the assumption that UI is a part of a service-oriented solution. In particular, the pattern assumes:

• SOA business service can have its own UI,
• SOA business process can have its own UI,
• aggregation or composition of SOA business services can lead to a composition of UI of business services,
• SOA business process UI may include UI of business services,
• UI does not exist on its own.

The major problem between UI and SOA business service or process is the fine-grained operations in UI and coarse-grained operations in business services. This is accompanied by different requirements to the business data - in the user-facing business process, i.e. UI, where business requirements mix with the user experience requirements, and in the business logic that processes data in the service body.

Collaboration-Conciliator Pattern defines an intermediary layer either inside a business service - between UI and business logic code - or inside a business a process - between process' UI and involved service functionality. The Conciliator component has two types of tasks to resolve: 1) balancing granularity between UI requests and business service functionality, and 2) transforming business data between UI and business logic requirements. Thus, UI shares responsibilities for any changes within the service/process. However, fluctuations in the service body are smoothed by the Conciliator component unless the business logic demands the process in UI to 'contribute' into the fluctuations.

Thumbnail image for Speaking_Qcon_London_03.jpg

Leave a comment

In this blog, Michael Poulin writes about business and technology ideas, concepts, methodologies and solutions leading to service-oriented enterprise, the primary instrument for obtaining business objectives in fast-changing environments.

Michael Poulin

Michael Poulin is an enterprise-level solution architect working in the financial industry in the U.K. and the United States.

He specializes in building bridges between business needs and technology capabilities with emphasis on business and technical efficiency, scalability, robustness and manageability. He writes about service orientation, application security and use of modern technologies for solving business problems. He contributes to OASIS SOA standards as an independent member and is listed in the the international "Who's Who of Information Technology" for 2001. View more


 Subscribe in a reader

Recently Commented On


Monthly Archives