My background is software development. I’ve got “hands on” technical skills – I’m certainly not a Visio/PowerPoint architect. The sheer number of IDE’s, middleware products, database servers, toolkits and various other odds and sods I have installed makes my quad core machine run like a Commodore 64. I’m making a point of this because I’m seriously risking getting an ‘anti technology’ reputation. In my last post I gave my opinion on WOA. This post is about mashups.
Let me say at the outset that I love the idea of mashups. I’ve done a lot of experimenting over the last few months and the sheer ease with which you can assemble a pretty useful mashup is staggering. I’m sure that a typical non-technical end-user would find it as easy, but the time is coming.
IT is a funny thing – the same patterns repeat themselves over and over again. And I’m having a feeling of déjà vu when I look at mashups.
Some (most notably mashup product vendors) would have you believe that you don’t need SOA to get started with mashups. And this is certainly true. But if you look back I’m sure you can remember other business-driven initiatives which promised to empower end users. We ended up with a proliferation of Excel spreadsheets, Access databases, user developed applications, dashboards and reports. And all of these were used to run the business and make decisions. That’s all well and good – if it worked. But in reality it was a real mess – on two fronts, both business and IT:
- IT wasted enormous amounts of resources on trying to debug and enhance these flaky, undocumented ‘solutions’ when it all got too hard for the original ‘developer’. You couldn’t just get rid of them because they often became critical to the business.
- The business often got a bit deflated when you said something like “did you know that the ‘customer id’ in the finance system is not the same as the ‘customer id’ in the ‘order management system?” or “you’ve misinterpreted that order status code. What it actually means is…”
Now don’t get me wrong – I’m all for empowering users. But is has to managed.
Enterprise-quality mashups can only be built on top of an enterprise-quality SOA.