I ordered some stuff through the internet a week ago. The packet was sent through the Dutch postal service. They have a track and trace website, that shows where your parcel is at that moment, and where it has been. And that website made me realise the postal service is much like a service bus. I’ll compare it to a single service, to emphasise the differences. Let’s have a look, shall we … ?
Single service: a courier
Just like with a single service, sending a parcel with a courier makes it pretty obvious what route the parcel will travel. You tell the courier where the packet should go in their own terms, by filling in their specific form for sending a packet (comparable to a WSDL). You also know the courier will put the parcel in his car, and drive directly to the destination you entered. There are no stops in between and nothing is translated into internal codes to process the parcel.
Service bus: the postal service
When sending a packet through the postal service, you drop it of at the nearest postal office, or even a mailbox. You put the address where the parcel is supposed to go on the envelope (again with the SOAP), but you don’t do that in a way that is specific to the postal service you would like to use. You do use the normal address conventions (which you could compare to the SOAP protocol). You don’t know which stops it will make, and where it will go.
I saw my parcel first went to a sorting centre in the far east in our country where it was stamped for internal processing. Those stamps don’t mean anything outside their company, because it is only used for internal routing. Next, it was sent to the south-west for another round of sorting and internal handling. From there, it went to the third and final sorting centre, close to where I live in the centre south of The Netherlands. It probably was stored there for the night. The next day, the parcel was put in the truck of the driver who eventually brought it to my house. The sender doesn’t know where the parcel went, but they know it was delivered. As will the next…
I used WebServices/SOAP/XML to make comparisons because I know something about them. I could have used other protocols or standards also, but I wanted to stick to one.
I know not all couriers work the way I described them nor does each and every postal services. And yes, traffic can be of influence to the route the parcel travels. But I had to dramatize to get my point across, ok? ;)