A few days ago Nigel Green commented that much of this "new" thinking actually goes back to general systems theory and the concept of value systems (not value chains which are a different thing completely). Which got me thinking more about how people keep ignoring the lessons of the past as if ignorance and optimisim are a design pattern.
Drinking a bit the other night with Nigel and Sam Lowe (if Sam is the Cliff Richard of SOA then Nigel is Keith Richards, been there done it, but sometimes needs to be told not to climb trees :) we got talking about all these new trendy terms like "Mashup" that are being bandied about. It really is amazing how people who haven't read (or experienced) the different challenges and solutions that have been applied over the years can suddenly leap upon something as being the silver bullet without understanding the challenges. You know the type, its all about Mashups and "Web 2.0" and guess what folks.. yup the old ways are dead long live the new. Same as when in 2000 all those bricks and mortar businesses were going to be destroyed by WebVan, Boo, Clickmango and the like. Its all become simple now.
So the question went up, why isn't everyone just moving towards Mashups in their enterprise, just dynamically assembling and deploying new applications and then seeing what survives. Its the next great hope of IT... Mashups can solve everything, its about how businesses work isn't it?
Err no it isn't, take a pharmaceutical company and apply the model. Don't worry about the FDA or all that regulation and process its just making you less agile, what you need to do is start rapidly assembling new drugs from the pieces you've got lying around, put them out on the market and then what works will be successful. Hell you never know they might start finding new drugs, or at least popular ones, much quicker this way, but yes there is the slight overhead of accidentally killing people on a regular basis, that doesn't matter though its all part of the process.
Stupid idea eh? But why should parts of IT be any different? Do you want your medical equipment to be lobbed together in a Mashup? Or an Air Traffic Control system, flight control system or the boring old HR bit that pays your salary?
People proposing Mashups and such techniques as another "ultimate" solution for IT are just simpletons. They are viewing the world through their own blinkered existence and pretending that all of the complexity that exists is just a result of people not following this great new approach and doing it in some old and fuddy duddy way. One size doesn't fit all, that is one of the great powers of SOA, it aims to help you use different approaches where appropriate. So hell use a Mashup to get that new Marketing Campaign onto the website, but don't use it to process payments from customers or create new drugs.
There is no Silver Bullet, and anyone who hasn't read that book should stop having an opinion till they have