Friday, May 9, 2008

Swivel Chair Integration is Bad

Recently, we took a look at process mapping as a means to achieve a dynamic rather than static view of the business. We broke down high level process maps into lower level process maps that fell into specific cohesive business areas.

One aspect of business processes that we have not yet explored is the actors executing the activities within each process. Business process is executed both by people and IT systems. Years ago when we didn't have computer systems, all business processes were executed manually. However, these days we automate as much process as possible in order to gain efficiencies and minimise human error.

In my last post, we explored the mechanisms that may be employed in order to orchestrate manual activities with those that are automated by IT systems within a service. But what happens if manual activities within different services must be performed by the same person?

If each service employs different applications through which users interface with the service, then the same user will need to use multiple different applications to do their job. In fact, if two adjacent activities on a process map are performed by the same user across two different applications in two different services, then users may find themselves flipping between applications, sometimes copying and pasting data between windows.

This is what's known as "swivel chair integration" and should be avoided where possible as it is inefficient, error prone, and provides a very poor experience for the end user.

So, we have multiple services with which a single user must interact in support of a given business process, but we wish to do this in a way that provides a single integrated user experience. How do we do this? With a composite application! Different modules within the composite application interact with different services but the functionality for all modules is presented to the user through a single unified interface.

Something to remember is that applications are centred around user experience, while services are centred around cohesive business areas. As it is very likely that we will have user workflows spanning multiple services, composite applications become critical in many SOA implementations.