GCN Home > 07/17/06 issue
Grady Booch | Avoid the stupid SOA approach
Interview with Grady Booch, software designer
By Joab Jackson, GCN Staff
A few months ago, when famed software designer Grady Booch spoke before a packed auditorium in Washington, he tried to temper some of the fevered expectations swirling about services-oriented architectures, describing where SOA would and would not be useful.

He speaks from experience. Along with Ivar Jacobson and James Rumbaugh, Booch developed the Unified Modeling Language, now widely used to design complex systems. Hes one of the pioneers of object-oriented programming, and his company, Rational Software, was purchased by IBM Corp.

While in Washington, Booch likened software design to architecture: Solid architectural design is the basis for enduring quality, and bad design is a recipe for disaster. While civil engineers have understood this for centuries, he told GCN, software architects are just beginning to get it.

GCN: What are your thoughts on SOA?

Booch: First, there is way too much hype about it. The idea of services is not a means of abstraction. It is simply a mechanism for reaching into systems. You see organizations rushing to [implement] services, but they are really missing the fundamental engineering principles. In about 18 months, they will complain SOA doesnt work. Theyll be blaming the wrong thing. They should be blaming their architectures and best practices.

I did some work with Homeland Security folks two months ago, andthis is gross simplificationthey said, What we want to do is cut across silos, plant some services, so we can get into the data and do cool things.

And I told them that that is really a very stupid approach. The wrong approach is to look at the silos, identify interesting data and plant a service on it. The right direction is to lay out the scenarios you want to carry out, and see where they touch silos. A point of tangency is where there might be an opportunity for a service. Services should not be driven bottom up from technology, as DHS folks are proposing, but rather from the top downwith the use cases.

This is not to say SOA is a bad thing. Like any technology, you have to approach it in meaningful ways. SOA is very useful for gluing systems together, but it does not address the internal architectures of systems.

More news on related topics: Software Applications, Enterprise Architecture