I started writing this before Jeff’s hilarious Lego piece (that must have been fun to put together 8-), but if anything, it just re-emphasized the need for me to write this, because Jeff makes the same mistake that most of the rest of the industry is making; believing that the SOAP processing model is the analogue of the Lego brick.
For an apples-to-apples comparison of SOA and Lego, one needs to realize that the analogue of the Lego brick is actually the WSDL document that describes the service. Lego works as it does because each brick exposes the same application interface, not just because each brick is made from the same plastic (which makes a better SOAP analogue, IMO).
Just check out his example of a non-recombinant system here; it’s not recombinant because it’s topped off with a piece which exposes a different “WSDL” than other “services”.
Jeff says a lot of valuable things in his piece that resonate with me, including;
The fundamental notion is that the true uses of the functions/data will not be known until after the system is put into production.
The future of software is about the creation and utilization of building blocks. It is about letting our users play with their Lego’s.
(modulo the fact that the plural of Lego is not “Legos” 8-)
… it’s just unfortunate that they all resonate with me from a Web/REST POV, not from an SOA POV.