Skip to content
samilamti edited this page Dec 9, 2015 · 5 revisions

What is UI Composition and what can it do for me?

UI Composition is one approach to ease service autonomy in the sense that separate teams can work in parallel to solve business problems, letting their solution integrate in the UI layer (as a compliment to their otherwise asynchronous message passing). More information about UI composition can be found in this blog post.

Using UI Composition (and utilizing deployment slots, e.g. https://azure.microsoft.com/en-in/documentation/videos/azure-websites-deployment-slots-for-staging-sites/), a team can guarantee that its service is always available for others to consume. Since the UIs produced are intended to be served for an end-user, they are naturally de-normalized and able to contain a rich amount of information and user interaction. This can be contrasted to a service-to-service API, which is often short and to the point, not seldom projecting a storage view.

UI Composition Architecture

OK, how do you define an autonomous service?

An autonomous service is a service that can be developed and deployed independently of other services. It should govern an organizational capability (e.g. sales, billing) or an information area (e.g. person, bonus).

Is there a reason why (or scenarios where) I shouldn't use this library?

This library is developed with an enterprise environment in mind, meaning an environment where a number of distinct teams work together to serve their business. THIS IS NOT A LIBRARY TO MASHUP SERVICES ON THE PUBLIC INTERNET, since it introduces an attack vector that can be used by components to impact their host. Thus, it requires a level of trust and mutual accountability.