In his new post Steve Jones writes that instead of being a driving force for the enterprise, many times IT has an opposite effect :
... most of the modern world is driven by computers, computers are what makes economies tick and its integration that matters in a networked world. The immature and techno-centric way in which IT approaches enterprise solutions is ensuring that far from being an accelerator that works ahead of business demand it is IT that is all too often the dragging anchor to growth. This obsession with purist solutions that solve problems that don't exist are just exercises in intellectual masturbation which are actively harming developed economies.
In Jones’ opinion, IT today is in much worse place that it was 5 years ago due to the fact that it is becoming more self fulfilling prophecy by concentrating on new "cool" tools and technologies and keeping to miss the boat on enterprise support.
Jones considers that one of the hardest things in the enterprise architecture is systems integration, which remains to be one of the most complex undertakings. And yet, solving integration problems continues to be more art than science:
... REST hasn't improved this situation in the enterprise in any marked way. It’s been 5+ years since REST started being hyped and in comparison with the benefits that WS-* delivered to the enterprise in 5 years it’s been zip, zero, nada.
Despite the fact that REST is being touted as a cure for all integration challenges:
- It’s as hard to do a large scale programme with a large integration bent as it was 5 years ago.
- Vendors have been left to their own devices which has meant less innovation, less challenge and higher costs as the Open Source crowd waste time on pet projects that aren't going to dent enterprise budgets.
The problem that Jones describes is that vendors including SAP, Oracle and IBM are still heavily backing Web Services, while mainstream developers are trying to switch to REST. As a result:
No one is holding them to account. With all of the cool, and smart, kids off playing with REST... and the like we've got an intellectual vacuum in enterprise IT that is being "filled" by the vendors in the only way that vendors know how. Namely by increasing the amount of proprietary extensions and software and pushing their own individual agendas.
Some of the examples of this situation that Jones is giving include:
... Siebel's Web Service stack has a pre-OASIS specification of WS-Security, last updated in 2006 by the looks of it... IBM is still pushing the old MQSI cart horse as an "Advanced ESB".
He continues by stating that in spite of several specifications and some minor improvements, there has been virtually no innovation in Web Services space over the last five years. On another hand, there is not much that has been achieved by REST. He considers problem to be twofold:
- Most people in IT appear to know bugger all about it. Now I continue to be surprised at how little people who work in IT read about what is going on, but I was really surprised at how little traction REST had.
- EVERYTHING is manual and there is still no standardized way to communicate on WTF you are doing between teams
Granted, REST community is trying to improve the situation, but it does not help much, according to Jones:
Now before RESTafarians jump up and talk about all of the wonderful WEB things they've been doing. That is great and wonderful, but it’s not my world, my world is having 300 systems that vary from 20+ years old to just being built and I need to get them all working together. Even when REST was the right "architectural" solution it was the wrong "programme" solution as it would have driven us off a cliff. My world does have stratospherically large budgets however... you know what, if you want to make real cash wouldn't it be a good idea to address the richest part of the IT market?
Jones concludes by saying that WS, not REST, is the solution for system integration:
... the last 5 years have been poor ones for enterprise IT. WS-* is the only viable system to system integration mechanism for large scale programmes, but it’s stagnating. REST has some cool stuff at the front end and for people who can invest in only the very highest caliber individuals but is delivering bugger all for the average enterprise environment.
Jones post has caused quite a strong reaction. Joel Potisch considers that one should not do REST with a WS mindset:
The only way I see REST hurting enterprise IT is that the people who actually want to develop and deploy working, maintainable, distributed systems have gotten the hell out of enterprise IT and its blind adherence to WS-* for the vendor support... Doing REST with a WS-* mindset will absolutely set you back five years. The RESTafarian mindset is not blind obedience to the new cool shiny thing, but rather the recognition that REST, done properly, eliminates 90% of the commonalities in distributed systems, and causes whole classes of problems to simply disappear.
Christopher Atkins believes that although REST is a great approach for systems,integration, in most cases its usage requires carefull planning:
... it seems to me that the major challenge with employing the REST architectural style in enterprise IT systems integration is that none of the systems that need integrated were constructed with REST in mind... At the very least you'd need... to provide REST semantics, i.e. unambiguous methods that define the internal state machine via hypertext... Disambiguating the integration interface by defining it both in terms of simple contracts and hypermedia that exposes the internal state machine is absolutely the deus ex machina of the web. I just don't believe that REST can be effectively applied to integration scenarios in most IT shops; either the TPS systems don't have an FSM to expose (i.e. straight OLTP/RDBMS apps) or the IT "talent" is incapable of realizing the benefits of REST.
Dan Creswell considers the main problem is not with the technology or standards used but people:
90%+ of people in IT aren't brilliant, a large proportion aren't even good... That's the problem right there. Doesn't matter what they use be it… REST, WS-*, Databases, Java, etc, they will produce rubbish.
It is hard to disagree with Jones, that in spite of all the hype and buzz, the IT industry is currently stagnating and integration problems today are no less complex or cannot be solved faster than five-six years ago. Time will show whether we will turn back to using WS-*, or REST will finally catch up with the enterprise computing.