Wednesday, December 09, 2009

Explaining service oriented architecture using the analogy of local economics

Modern enterprise systems are complex and differences in approach are, perhaps, well described using the analogy of a town’s economy. The traditional approach of buying functionality as packaged systems and configuring the last few features is like the communist approach to town planning where the vendor is the state. The state strictly defines the services in the town from the butcher and the cobbler to the grocer and the taxis. For the system to continue to work, almost all changes (except perhaps the colour of the baker’s walls) must be escalated to the state for review, evaluation and decision. When the state agrees a change is a good thing, it simultaneously makes the change across all towns in its jurisdiction. As the town grows, this approach increasingly restricts further growth until a state of bureaucratic paralysis and economic stagnation is induced- the fact that the town can be any colour is frustratingly irrelevant when all the towns are functionally the same and real differentiation is not possible.

In a system built to service oriented architecture concepts the state’s governance moves to the client side. In our town, the economy is liberalised and trusted to market forces such that individual services can be defined autonomously from state controls. Thus, an ecosystem develops. A service owner can choose to respond to market needs and is free to specialise, compliment someone else’s service or wrapper another service to add value. For example, a taxi driver could encapsulate a cobbler service to create a new “home delivery shoe repair service”. In theory the cobbler service can be modified and as long as the published “service definition” is up to date, the taxi driver can maintain the quality of their overall service without needing detailed information about how the cobbler’s internal operation works. There are few restrictions to even consuming services from other towns. The state still has a responsibility to deliver essential or generic services such as core infrastructure and a directory of the town’s services, but its role is mainly about maintaining the rules of the economy (=standards), rather than trying to deliver value added services. With limited state intervention, growth breeds further growth and the macro economy of the town responds organically to external influence, especially competition.

No comments: