I recently read an unfortunate interview with Grady Booch (the famed modeling language guru) entitle "Grady Booch | Avoid the ‘stupid’ SOA approach." In this interview Mr. Booch espouses a top-down approach to SOA and labels a bottom-up approach as "stupid." This is a very surprising position for a technologist who has made his career in top-down systems design modeling. Not! What is surprising is that he seems unable to see SOA from other perspectives. Mr. Booch exposes his ignorance of SOA. This ignorance probably stems from his ivory tower position with IBM where he must have lost touch with those, like me, who build SOA systems.
To state that top-down is the only way to approach SOA and that bottom up is "stupid" is simplistic and shortsighted. More unfortunate is that it perpetuates the perception that SOA is a top heavy, drawn out process that doesn't deliver results for years and only after prodigious investment. This is counter to the desires of CIOs to solve the problems they face today. Too many people think of SOA only as an enterprise architecture play tied to the "big picture." SOA is best implemented at a systems level or a controlled system-of-systems level. Let it evolve into an enterprise architecture.
My experience is that SOA must be both a top-down and a bottom-up effort. Top-down to ensure it moves towards longer term objectives but bottom-up to solve today's problems and remain grounded to the systems that provide the services in the near term. A bottom-up approach enables a migration path from the existing systems to the objective systems. Few organizations have the luxury of scrapping all they have to start building a pure SOA.
He misses the critical division of labor between consumer and provider treating SOA systems just as any other traditional systems development effort rather than approaching SOA from a market driven perspective where exchanges can be created by organizations "exposing" valuable data and functionality to the marketplace. Think of the top-down approach as the service consumer perspective and the bottom-up approach as the service provider perspective. Using market vernacular, think of top-down as the customer perspective and bottom-up as the merchant perspective (notice I avoided the term "vendor" so not to confuse).
He also goes so far as to state that "The idea of services is not a means of abstraction. It is simply a mechanism for reaching into systems." I am stunned. I am hoping the interviewer just simply got this quote wrong. First of all, what does "the idea of services" mean. I can't remember the last time I implemented "the idea of services." I suppose you could implement a service without the web services means of abstraction - but you would be wrong! Creating a service is all about delivering leverage. How can you really deliver leverage without an abstraction layer? SOA is all about leverage. It is all about abstraction. It is far more than simply a mechanism for reaching into systems. We have been reaching into systems with non-abstracted, tightly-coupled mechanisms for years and where has that gotten us? Without the loosely-coupled abstraction, SOA would not be experiencing the hype it now enjoys. In fact, this blog wouldn't even exist (believe it or not).
I may be a little hard on him but he should realize that his cavalier remarks make it more difficult for us to make SOA success a wide spread reality.
As far as his "hype" comment goes; name a significant technology that didn't go through the hype stage. Hype is a natural reaction to something with great potential. Hype is simply the time lag between our imaginings and the world's realities. SOA will catch up to the hype regardless of Mr. Booch's careless comments.
I just ran spell-check on this blog entry and the dictionary wanted to replace Booch with Botch. It also wanted to change SOA to soar. Coincidence, I think not.
Comments