The SOA Question

, Jan 18, 2005

Jon Udell poses a question to the SOA community:

As a language of contracts, SOA involves complex shapes. But as a Lego system, it’s about simple shapes. Where’s the sweet spot?

A great analogy. I can’t seem to make up my mind which approach I like better. As I understand them, in the simple-shape approach I create complex things by combining building blocks that share a common interface. If you’ve played with Lego in the early 1970s, like I have, you were used to build stuff out of simple bricks and plates that varied in the number of “connector pins” — 1 to 20, maybe —, and were (mostly) of rectangular shape. Sure, the result looked like a pixel graphic zoomed in more than appropriate, but essentially everything was combinable with everything else.

But if I look at my son’s Lego toys today, they are very different. Bionicles, Racers, movie merchandising stuff — few complex shapes, easily combinable only within their respective “family”. The result might look more fancy, but its a lot more static. And while the bricks and plates I grew up with are still around today, I wonder whether the more complex stuff will be, 30 thirty years from now.

Although I do not have an answer, I believe this is definitely the right question to ask.