Connor, my ambidextrous five year-old, broke his arm last week. He has a plaster cast around the bottom half of his left arm. He’s quite happy with it, and it hasn’t stopped him doing most things, until yesterday.
Yesterday he came crying to Karen.
Karen: What’s wrong, darling?
Connor: I’ve got sore eyes!
Karen: How did that happen?
Connor: My nose was itchy and I went to scratch it with this hand. (Holds up his cast)
He still had red mark between his eyes this morning.
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:
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:
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:
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.