February 10, 2008   Sign In |  About ebizQ |  Contact Us |  Join ebizQ Gold Club
Keith Harrison-Broninski
IT Directions
Keith Harrison-Broninski cuts through the hype in his hands-on guide to where enterprise technology is really going.

« Mediaeval middleware | Main | SOA Disasters Waiting To Happen »

November 13, 2007
Stress-Oriented Architecture In my last post, I discussed the similarities and, more importantly, the differences between architecture of a very old-fashioned kind - mediaeval cathedral-building - and architecture of a more modern kind, namely SOA.  In this post I'd like to take the analogy a little further.

Most cathedrals were built before the basic principles of physical dynamics were worked out.  It was not until the 18th century that mathematical physicists such as Poisson and Cauchy developed the ideas that enabled structural engineers to predict stress patterns in a large body.  Until then, architects - or master masons, as they were known - relied on knowledge handed down orally, from one guild member to another.  This knowledge amounted effectively to rules of thumb, albeit highly sophisticated ones.

Hence, even the supreme achievements of mediaeval architecture were constructed without a true knowledge of what actually held the structure together.  The trial and error of centuries had established that certain approaches were valid, and that these approaches scaled well.  This was enough to construct masterpieces such as Chartres.  But they didn't really know why it worked.

Recognizing this, the master masons took steps to ensure the safety of their structures: they employed a technique that modern engineers call "similar redundancy".  Basically, they built more columns, buttresses, arches and so on than they probably needed.  Similar redundancy works well if you are confident in the validity of your approach.

Skipping over the next few centuries to the modern day, engineers in fields that demand high system integrity (such as aerospace, for example) now prefer a technique called "dissimilar redundancy".  This technique involves first identifying the separate functions of a system (raise the ailerons, decrease the pressure, turn on lighting, etc) - then commissioning a solution for each function from several different manufacturers, who are not permitted to discuss the matter amongst themselves at all.  In this way, it is hoped that any fundamental error in one design will not be propagated into the other designs.  All the designs are used together in the production system, so that each function has a main operating solution plus a number of "dissimilar" backup solutions.  Dissimilar redundancy is a stronger technique than similar redundancy.

Turning to SOA, what is the relevance of this discussion?  In an enterprise computing environment pre-SOA, there are generally a number of competing "sources of truth" - for example, different ERP systems, front-end operational systems, data marts, data warehouses, and so on.  It is common to shield senior management from this complexity via a layer of reconciliation activity inside the organization, that attempts to understand the differences, or at least choose a set of figures for presentation to the board.  Nevertheless, one can safely say that most people working on business systems - and certainly all accountants - accept that a "single source of truth" is a complete myth in enterprise life.

With SOA, this starts to change.  The underlying systems are generally still there, of course, but the reconciliation is more likely to be done by IT staff than by managers and accountants, as part of the design of an SOA infrastructure.  Which service do we use to present "total revenue per region per quarter" on a dashboard?  Service XYZ123, from system XYZ.  Or the mean result of XYZ123 and service PQR678 from system PQR.  Or the median result of 10 services ... Or ...

Whatever solution is chosen, the people who really understand what to do about reconciliation (namely, managers and accountants) are out of the loop in daily working practice, even if they were involved in the initial design.  Effectively, dissimilar redundancy has been dispensed with, since the new solution treats the various sources of truth not as alternative implementations, but as part of a single implementation.

Further, even similar redundancy is often dispensed with!  It is quite possible to build an SOA infrastructure in which key services have no parallel implementation (running on different servers, using different middleware, etc).  This is not good practice, of course, but in a large enterprise with thousands of services, it can easily happen - and if it does, a single bug in such a service could bring down your entire operation like a house of cards.

TAKE AWAY

Next week I will be delving deeper into these issues as part of my keynote speech at SOA India 2007, and how to solve them via governance techniques based on Human Interaction Management.  I will also be running a workshop on the last day of the conference (you have to pay separately for this, but apparently, over 150 people have already signed up). If you're at the conference, come up and say hi.

You might also like to have a listen to the podcast that Elizabeth Book (Editor-in-Chief of ebizQ) and I just recorded, in which we discuss the latest version of the free HumanEdj, that provides software support for Human Interaction Management principles.  Elizabeth writes: "I am actually about to download this thing to use in my own office".  Why not follow her example?  And I am always interested in your feedback - do let me know what you think.

Posted by keithhb in Service-Orientated Architecture |Digg This|Add to del.icio.us

Comments Post a comment




Remember Me?

(you may use HTML tags for style)

We ask that you type your code (displayed below) in the text box.This code is an image that cannot be read by a machine. It prevents automated programs from submitting comments.


Code:



Most Recent ebizQ Blog Entries
ADVERTISEMENT
RSS Subscription

Blog Roll
This Work
Accountability:The opinions expressed in this blog are solely representative of the blog's author, and not of ebizQ

Subscribe to our Newsletters
ebizQ Weekly Gold Club Update
Live Webinar Updates
Updates from ebizQ Partners
ebizQ SOA Update
ebizQ BPM Update
ebizQ Security Update
ebizQ BI Update
ebizQ Open Source Software Update
Virtual Show Newsletter
Your E-mail Address:
BAM: The Killer App for CEP
Date: Feb 12, 2008
Time: 12:00 PM ET
(17:00 GMT)

I WANT TO ATTEND
Event Processing Market Pulse
Date: Feb 14, 2008
Time: 12:00 PM ET
(17:00 GMT)

I WANT TO ATTEND
Archived Webinars | Upcoming Webinars

Marketing Solutions | Feedback | About ebizQ | Unsubscribe | Privacy Policy | Site Map