Anyone that thinks that eye-candy mashups created by users ‘at the glass’ is the beginning of the end for IT Departments is mistaken. Realistically, such mashups will only allow users to assemble – not integrate. This is a subtle but important distinction.
A good example that illustrates the difference between assembly and integration is the good old Lego block.
The size and shape of Lego blocks didn’t happen by accident. They look the way they do because someone made a conscious decision that the chosen design would maximise flexibility. The company knew that they could use the same base set of blocks and combine them into an endless array of products. What’s more, buyers could build things that the Lego company hadn’t even thought of.
What’s this got to do with mashups and SOA?
When we build an SOA we build a range of services that all conform to a particular design or standard (i.e. shape of the Lego block). This is easier said than done. Building these services takes a lot of thought and a lot of work. Integration is hard.
When we’ve designed and built our services (blocks), we don’t stop there – we then combine (or package) those services into a useable product (i.e. Lego block set) that someone will actually use – for example composite applications or portals.
And here’s where it gets interesting. Users can use the product we’ve produced or they can take our base services and re-assemble them (mash them up) in any way they choose. Probably in ways that we hadn’t even thought of.
So, IT has done the hard integration work and designed the blocks in a way that will make them flexible and re-useable. The business can then take those building blocks and do whatever they like with them. Everyone is happy.
Consider the alternative scenario where users bypass IT and go their own way. The user will be faced with a toy box full of things that just don’t fit together: Lego blocks, Meccano, Steel Tec and Minibrix. Before the user can assemble anything useful they have to figure out how to integrate everything by devising all sorts of connectors and converters. Even if mashup platforms provide sophisticated tools to create these connectors and converters, let’s not forget that IT already has industrial strength integration tools and the skills/experience to use them to their full potential – but integration is still hard work. There is a limit to the functionality that can be reasonably used by end-users. This scenario is clearly a sub-optimal approach.
The fact is – business and IT must work together. Each side brings unique skills to the table. You can’t have a situation where end-users try to bypass IT and in turn, IT waits for end-users to fail.