Wednesday, 16 March 2011

Perfect Integration 10 - the missing link: envelope

With a common language, a common transport protocol, and the need to exercise the necessary translation and transformation on both levels in between, there is a growing need to be able to identify all "service requests" on a generic level too

Numerous and various requests will be made, in different formats, via different transport protocols. This certainly is not Utopia, but a pragmatic observation that is maintained in almost an evolutionary way: within successful companies IT systems, like people, are selected based on professional excellence (meaning specialist instead of generic properties).
Excelling in one area usually means being moderate in a few others, and being capable of good and generic integration is usually one of those. Intellectual supermodels, and good-looking scientists: they are either scarce or non-existent

When all those requests are being made in different ways too, it becomes nearly impossible, but at least very time-consuming and costly, to collect and streamline all the information. Whatever the flexibility on the messaging and transportation level may be, addressing all those variations must be made possible in a generic and structured way

In the ideal world, all service requests are sent in an envelope, like in the old-fashioned mail. Like in the old-fashioned mail, however, we already see standards on a national level conflicting with those of another country, so even there is no uniform envelope-definition on a global scale. However, the differences are minimal. Anyone can deliver a letter anywhere in the world, simply by reading the envelope - how cool is that? The wheel is there, extremely round, and has been for centuries, if not millennia

What needs to be on an envelope? Recipient is a must, Sender would be nice if you want to get feedback, some unique reference and a date timestamp would make it complete. Look at an envelope, and you'll see it all there: a recipient, a sender, and a unique address in 4 stages: country; zip; street and number. In fact, the country indicates how the address is exactly made up: can't use a UK address notation for an NL address, or vice versa. Just do in Rome as the Romans do...

The envelope will conceal any diversity and carry across anything. Its architecture and design is so splendid and loosely coupled, that it even allows for letter bombs. Of course those are lamentable, but it shows the awesome power of a simple yet sufficient and efficient mechanism.
There's only one but: global mail is just one way of delivering a message. There's also UPS, DHL, small couriers, troikas and rickshaws: they need "an envelope" as well.
Then, the big problem has to be tackled: what if your envelope isn't equal to my envelope? Yet again, the answer to that is in the FAQ

If you order a book at Amazon, they look it up. They put it in a brown carton, and put a barcode on top - Amazon's own envelope. At the doorstep of Amazon, e.g. UPS picks it up. They put the brown carton inside a plastic bag, and stick a barcode on it that is also humanly legible - UPS's own envelope. Across borders, national couriers take over. They probably just turn the plastic bag around and slap another barcode sticker on it - their own envelope.
So, history repeats itself: each envelope is wrapped in another one. What does the final recipient do? As he is the only one interested in the package content itself, he unwraps all envelopes. As he has no need for them in the future, he throws them away

Been there done that, haven't we? Let's compare that to our favourite mailman

  • You have a letter, which you put in an envelope
  • The envelope makes it to the mailbox
  • When the mailman makes it to the mailbox, he takes out his own envelope and wraps that around all other envelopes. That envelope is what people usually call a mailbag. He tags the mailbag so he knows who the sender was (this very mailbox), thus adding Sender, unique reference and date-time
  • At the post office or sorting center, he unwraps the envelope / empties the mailbag. The content gets sorted, and makes it into other envelopes: mailbags to carry them to the final destination
  • Those envelopes make it to distribution centres, are once more emptied, and sorted again into smaller portions, fitting a street or district / quarter
  • The mailman delivers the envelopes to their addresses, et voila, done deal

So, another mystery solved:

  1. An envelope will be the link between messaging and transportation, and survive transformation
  2. All attributes on an envelope are mandatory, well-defined and highly standardised
  3. If it's not your envelope, just wrap your own around it
  4. If you want to read its content, you'll have to unwrap all other envelopes

Next, in post no. 11: messaging, transportation and envelope collaboration bringing you 100% BPM, SOA or EDA

0 reacties:

Post a Comment

Thank you for sharing your thoughts! Copy your comment before signing in...