Why are we building 'enterprise' SOAs with 'LEGO blocks'?

Why are we building 'enterprise' SOAs with 'LEGO blocks'?

Summary: An 'enterprise' is a collection of interconnected businesses. Does that include a B2B network? And can they be put together LEGO-block style as well?


Two expressions that get used thousands of times over within a single conference or even single seminar are 'enterprise' and the famous 'LEGO block' analogy for SOA.  What exactly do we mean by those terms?

Building 'enterprises,' one LEGO block at a time

For example, I and many other industry commentators talk an awful a lot about "enterprise" -- enterprise service bus, enterprise architecture, enterprise this, enterprise that. All analysts love the term, which has been in vogue for more than a decade, which is used to describe any technology that is more than a desktop application, and any business with more than three employees.

A couple of months back, CapGemini's Carl Bate did a pretty good job of questioning and dissecting what, exactly, constitutes an 'enterprise.' He concludes that while enterprise is typically used to describe a collection of "discrete, interconnected" businesses interacting with each other within a single entity, the definition could also extend to business units interacting the same way with other businesses beyond the firewall. In the other words, SOA is removing the distinctions between an inside business unit and an outside business unit. 

But while each line of business unit may be a player in the broader market, Bate warns that the business may be hamstrung by the issues and controls of the 'enterprise' its part of. As Bate puts it: 

"Perhaps a different question to ask would be ‘how can we, in an individual business, understand customer information provided by other businesses to help us deliver our services more effectively?’ ...what’s interesting is that the corporate IT strategy often goes way beyond corporate governance and into to heart of the front-line business functions – attempting to deliver on the usual themes of standardization, consolidation and integration across the enterprise. ...good from the enterprise perspective but perhaps not so good from the lines-of-business perspectives."

Now, on to that other sacred cow of SOA terminology, the "LEGO block" analogy. (Guilty as charged of using the analogy on this blogsite as well.) Joel Spolsky recently grumbled about the  overuse of the analogy as it relates to simplified programming, saying he's been hearing it as far back as 1991.

Of course, this analogy gets applied to service-oriented architecture, but is it a valid analogy? A Google search of the terms "SOA" and "LEGO" turns up more than 700,000 references, including these: 

  • "Much like the approach you might take to making LEGO and the Erector set work together, EAI serves as the glue between applications."  (article, 2003)
  • "Conceptually, a services orientation turns your entire application portfolio – and that of your partners – into technological LEGO blocks that can be assembled in anynumber of configurations to meet changing business needs. But unlike a single LEGO block, which can only be used in one design at a time, a 'service' can be used by several applications at once (much like a letter in a crossword puzzle)." (vendor white paper, 2006)
  • "A pertinent analogy for SOA is LEGO, the popular building blocks play set. Rather than build separate, custom applications for each department or enterprise (as was done in the past) today’s businesses, operating in an interconnected world “flattened” by the Internet, need standard blocks of functionality that fit with each other and can be easily integrated and configured." (article, 2006)
  • IBM also uses the LEGO analogy on its Website, but properly credits LEGO corporation at the bottom of the page: "LEGO is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site." (IBM has a huge legal department that insists on these things.)

Is LEGO block-building a valid analogy for SOA application building? I think it very adequately captures the essence of what SOA is about, though it's understood that SOA building is much more complex. 'Erector set' of course may better describe it, because it involves some nut-and-bolts work rather than simply "snapping" components together.

Perhaps we could pull some definitions together and conclude that the 'enterprise' is a series of interconnected businesses that can be snapped together on demand, like LEGO blocks, to serve specific market needs as they arise.

Topic: Enterprise Software

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • SOA is around us

    You can find another analogy applicable as well: http://roman-rytov.typepad.com/miles/2006/12/soa_is_around_u.html
  • LEGO

    Just try to build a nice fortress with LEGO blocks. Then after you finished it, you want to change one little Lego block somewhere in the middle of the wall. You won't be very happy, I suppose. Not to mention creating a new window or a door. And, o my dear, make the cellar a few feet deeper.

    I don't think the Lego analogy is appropriate... At least I hope so!

    Jack van Hoof
    • +1 very appropriate

      I think you just described SOA.
      Erik Engbrecht
      • Appropriate

        Yes Erik, after all the analogy with LEGO isn't that bad at all... ;-)
  • what makes a lego block

    The lego analogy is a valuable one. It is often hard to get business people to get enthused about SOA, even though it will directly benefit the business. The lego makes the concepts approachable.

    Joe - would like to see you post on SOA tactics. There is great info out there and in your blog about strategies for SOA, developing support for, trends, etc. But once you get in the front door and look high level at SOA, where do you start? One can talk about ESBs and such. But some common tactics used to actually implement SOA would be useful. Perhaps culling a number of case studies to find a list of tactics. Data integration space, enterprise applications space, web services ...
    My 0.02.

  • Enterprise IT and LEGO Block analogy- Giving false hope!

    While analogies and metaphors are a good way to explain complex systems care must be taken so as not to oversimplify the realities. The devil is in details applies here quite well. While LEGOs offer a great way to explain the component based development and deployment they fail to point out that in the real IT world systems are not all from one company-as is the case with LEGOs. Legos fit well as they are made by one company. On the contrary, IT systems are heterogeneous and one has to create a virtual LEGO before a SOA can be developed. Now here is the problem. The development environment for creating virtual SOA (a Lego equivalent)are not all interoperable from various vendors and in in this era where COTs development is in vogue, most organizations do not have the internal expertise to leverage from SOA virtualization. We have outsourced all our development and the outsourcer will make sure the benefits from an SOA flexibility are never realized by users as long as we have abdicated key responsibilities to save a few bucks in the near term.

    So lets get real, the potential of technology like SOA is real, our ability to gain benefits are impeded by poor "bean counting" management philosophy.