Thursday, April 03, 2008

SOA, REST, Packages, Web Services and Hamlet

In a few discussions recently where people have been looking across an enterprise I've had the same discussion in three different ways.

In the first one the future was all about packages, everything was going to be in a package, there would be no more software development as a package vendor did everything that they wanted. When I pointed out that this actually covered only the back-office functions and a minimal part of the sales function there was an awkward moment as they realised than in fact what they really meant was "we are going to standardise our back-office and sales processes around vendor X" this is a good objective to have but the point remained that one solution didn't fit all.

In the second one the world was going to be REST, EVERYTHING was going to be REST, the entire enterprise should be viewed as resources and the principles of the Web would be applied all over, most especially when dealing externally. I pointed out that not only did several suppliers already interact with them via Web Services but that they had a massive backend estate that had a reasonably successful integration strategy. After a couple of hours contemplating the refactoring of a huge number (think hundreds) of systems they decided that maybe REST would just be used around the Web part and for data when its appropriate, and then when there weren't already established approaches.

In the third one the future was all about Web Services, EVERYTHING should be a Web Service. Talking to a Mainframe? Use a Web Service. Talking within an application between one bit and another... use a Web Service. They were even looking at WS-TX. A similar discussion to the REST one then unfolded and now their B2B approach is looking at Web Services and their inter business domain comms will be Web Services.

This all put me in mind of Hamlet and the famous like

There are more things in heaven and earth, Horatio, than are dreamt of in your philosophy


The point is that there is no single answer to a complex IT environment. I've always argued this around Business SOA. Business SOA gives a context not a complete solution. Technology approaches can only ever give part of the solution. Taking a fundamentalist approach to IT is always a bad idea and it does help progress IT forwards.

There are lots of bad ideas in IT, often they are good ideas which are applied in bad places.

Technorati Tags: ,

1 comment:

mkj6 said...

Funny, I was having similar talks with customer saying that EVERYTHING is a process and must be coded in BPEL. The concept of "service" is totally missing and also any real distinction between business and technical services. Then they even try to replace complex transactional Java code with "box and arrows".
After a while - but sometimes it takes many expensive failures before realizing it - they usually change their mind, but they just blame the product instead of their weird decisions...