Having delivered quite a few trainings on SOA and having observed several SOA-ish projects I notice that SOA solutions can be made very complex in a very short timeframe. Being a big fan of minimal approaches, it really surprises me that instead for looking for simpler solutions, people tend to make a solution more complex.
The main cause for this is what I would call the golden hammer syndrome. I.e. people use the technology/trick that they know, even if the problem does not fit their particular tool/approach. Instead of looking at the reality, the reality is changed to fit within the “reality” of their tool/approach. And we have achieved SOA – Tunnel Vision.
The only way to deal with this tunnel vision is to induce a deep paradigm shift in the individuals involved. I believe that nearly 90% of the engineers is not familiar with REST, although nearly all of them are using worldclass solutions leveraging REST ideas. (Mashups , Yahoo, Delicious, Amazon, Paypal, Google etc.).
That’s why in in the SOA training that I’ve co-developed the delegates are exposed to the REST approach of putting together a SOA Solution. Delegates are shown that within it’s strength a REST-full solution can be 20-100 times quicker implemented than a conventional SOAP solution. At the end of that workshop people start grinning and get energy from the idea of doing SOA in a different way. They have just undergone a paradigm shift ….
The point of this exposure is not to become a REST zealot but to help engineers understand that they should have more tools in their toolbox. There are certainly environments in which a REST approach would cost more effort. I think the whole goal of proper engineering is to find the simplest solution that fits the given requirements. Only the simple solutions (and therefore maintainable) will last, the complex solutions will founder.
Why don’t the engineers in this world just add more simplicity instead of more complexity to the solutions they design?”: