Great Software Architecture Diagrams of Our Time - Part 1: The Bus

10 PM June 24, 2003

Every discipline has its diagrams: statisticians have their curves, particle physicists have their dots and wavy lines and software architects have boxes and arrows. Software engineers in particular,1 has a few basic drawings that are used over and over again and I’ll be examining these in the coming weeks.

The first of these irregular articles is The Bus.

The Picture

The Bus is used to show complexity being reduced by moving from point-to-point communications to a sharing a common medium for all communication. Typically, The Bus offers some real advantages, but is oversold.

A full Bus consists of before and after diagrams. These are reproduced below in genuine imitation whiteboard style.2

!/pics/blog/003_arch1_before.gif! Figure 1: Before Using The Bus

The purpose of the “Before” diagram is to convince the reader that point-to-point connections between each element in the problem space is too difficult and too complex. The “Before” picture is omitted in situations where The Bus is the assumed solution to the problem.

!/pics/blog/003_arch1_after.gif! Figure 2: After Using The Bus

The “After” diagram shows a dramatic reduction in complexity and clutter. The reduced number of lines implies reduced costs and better manageability.

Applicability

The Bus is applicable whereever two or more communications mechanisms exist in parallel. For instance:

  • Cabling:* showing how a building’s disparate wiring systems—such as telephone, Ethernet, RS-232—can be replaced by a single Cat 5 cable.
  • LAN Protocols: Appletalk, Novell IPX, NetBios and IP can all be migrated to a single IP network.
  • Interprocess Communciation: a mish-mash of hand rolled protocols and RPC can all be replaced with CORBA (See slide 8 and following here).
  • Enterprise Communications: separate telephone and data networks can be replaced with a single, VoIP capable IP network.

The most recent incarnation of this is the “Enterprise Service Bus” (see section 3 of this pdf document).

The Pitch

There is often a genuine benefit associated with moving to a common communications medium:

  • Cabling:* only one type of cabling to pull through to each desk. Cost savings in planning and provisioning. Some amount of future-proofing.
  • LAN Protocols: only one type of protcol to manage and route. Cost savings in network equipment and management.
  • Inter-process Communication: only one type of protocol for developers to learn. Cost savings in training.
  • Enterprise Communications: reduced cabling, provisioning and administration costs.

The Lie

This diagram promises to remove all communications barriers between disparate technologies, and in doing so, it lies. One layer up from the amalgamated layer is not integrated. One layer up is still as point-to-point as it ever was.

In other words, The Bus doesn’t solve all the communications problems, just those in certain layers:

  • Cabling:* Even though all equipment is using the same kind of wire, each network still runs in parallel—your Cat-5 cabled RS-232 terminal won’t talk to your Cat-5 cabled analogue telephone.
  • LAN Protocols: All computers are talking IP, but that doesn’t guarantee that, say, your Windows and Solaris boxes and trade useful information. For that you need interoperable applications, such as FTP, SMTP or telnet.
  • Inter-process Communication: All applications might communicate with CORBA, but every type of service still has its own interface definition and each client must be written to use that specific interface.
  • Enterprise Communications: Telephone calls and data might pass through the same routers and switches, but telephone calls still need to be handled by special telephony aware equipment.

Conclusion

The Bus is a powerful tool that every architect should keep in their back pocket. However, if you use it, ensure that your audience understands the limits of the solution you are proposing.

Feedback

Where have you seen the The Bus before? Did it lie? Would you use it?


1 Actually, marketing is worse. If you want a good belly-laugh, have a look at the “Marketing Diagrams” templates in Microsoft Visio 2002. It contains enough nicely shaded pyramid diagrams, quadrant analyses and timelines for five white papers.

2 Sorry, only the black pen was working. All the others ran out.

By alang | # | Comments (3)
(Posted to Software Development)

Comments

At 07:34, 30 Dec 2003 Ian wrote:

Excellent! very very true. I'm always amazed at the diagrams that make it seem so simple, you'd think it wasn't possible. guess what? ..

(#)
At 09:22, 24 Feb 2006 Gourav wrote:

Did'nt someone say truth is always simple, clear and acceptable? Well, this page is one of those rare evidences of truth.

(#)
At 15:34, 25 May 2006 Joe Weitekamp wrote:

Its always occurred to me that many bus technologies (ie EAI backbones) allow one to simply move the point to point tangle to within the bus. (Hopefully) the components moved to the bus no longer know exactly who they're communicating with or how (ie, endpoint and transport abstraction), but the point-to-point tangle still exists. It now lives in the bus' logical channel configuration. It got more consistent and more malelable, and maybe even dynamic, but it's still there.

Unless one starts to share logical communication channels within the bus, a la pub/sub, the tangle still exists. More than a little re-architecting is necessary to achieve this, if it can be achieved at all.

(#)

Add Comment




(Not displayed)






(Leave blank line between paragraphs. URLs converted to links. HTML stripped. Indented source code will be formatted with <pre> tags.)




© 2003-2006 Alan Green