Whilst I was writing the EntArch paper, I was looking for stories that would illustrate the problems. One of the big (real big!) problems is the standards to adopt – not the actual standards themselves, but how to get them agreed, how to get people to adhere to them and how to roll them out fast enough so that they aren’t seen as a delay in the process.
Whilst thinking about how to describe an integration backbone, I came up with the following text:
To try and paint a picture of how an integration backbone works, let’s try this example. Imagine a railway turntable where trains arrive from different directions, but that each track has a different gauge. The turntable lifts the body of the train from its existing gauge (leaving the wheels) and moves it to a set of wheels waiting at the next gauge. Every time a train arrives at the turntable, this approach is repeated.
To put this matter in real terms, the gauge of trains in Ireland today is 1600mm, in the UK it’s 1435mm. Were we to create the equivalent of a Channel Tunnel to link the mainland and Ireland, we would need to lay new track at one end or the other to allow a train to pass through, or create the turntable-idea that I note above. Both are probably impractical and although standards on railway gauges were imposed in 1846, it was by then too late to solve the problem as the railways were already built.
In technical terms, we’re in the same place. Some standards do exist, but not enough. Imposing them now is far too late for any system already built that does not conform to the standard (and that means almost every system we have, even ones in the same department). So, what is needed is a device to do the heavy lifting and make the necessary “gauge changes” every time they are needed.
Ideally, there is a defined standard for incoming and outgoing messages (see the pages earlier covering standards), so there is only one change needed per query – from the outward standard to one of the various inward standards.
Sticking with the railway analogy for a little longer, when the Union Pacific and Central Pacific railroads were joined in 1869, the 2,000 mile journey from coast to coast that had previously taken up to four months was reduced to a mere six days. Standards and integration drive significant customer benefit!
There are, occasionally, compromise methods that can be used to forward the integration path – Britain’s own railways had competing standards early on, the Brunel gauge of 7’ ¼” and the Stephenson gauge of 4’ 8 ½”. The incompatibility was solved by adding a third rail to hundreds of mile of track to allow trains of either gauge to pass – a complicated but workable solution. Far better though, surely, to agree a standard and stick to it.
As the older systems retire, they are built using the new (outward facing) standard and the integration backbone does less work. But that will take time. Until then, the backbone is a vital part of putting services online, of offering joined up services that are transparent to the customer and of buying time to replace the legacy architectures.
What worries me is that everyone will build an integration backbone with different standards and then I’ll need another integration backbone to link the integration backbones. Agh!
P.S. Anyone who doubts the idea that there are places out there where they lift carriage bodies up and down, swapping between gauges, need only do a bit of research on trains between Russia and the rest of Europe during the time of the Tsars (there are still places where it happens now I believe). Lots of stories about why the Russians adopted a different gauge – some to do with them wanting invading armies not to be able to use their own rolling stock and others that are far more bizarre. I owe my Uncle, Paul, for that bit of research.