… A services bus is a mechanism for registering, managing, and serving up a list of services. If a service has a way to advertise itself, and if an application has a way to find services that match its needs, then a services bus can connect the two, and allow an application or a user to consume a service without knowing who wrote it, in what language, or what server its running on.
This is very useful, and in some ways, fundamental to integration. However, it is only one aspect of integration. The services bus compliments the message bus and the shared data repository service. It does nothing to supplant it. On the contrary, I would posit that a services bus, without shared domain data or a mechanism for retrieving it, is fundamentally crippled.
So, the next time someone says “Use Web Services for Integration”, think to yourself: “that’s part of the story, but not all.”
After all, a barber shop quartet sounds much better if all four vocalists are in the room.
Some nice quotes here on the differences between Service Buses and Message Buses. Read the article in full for the full breakdown.