I'm looking for a way to clearly diagram how multiple applications communicate via a service bus. The best I've come up with so far is a sequence diagram, but I really don't like that. Sequence diagrams necessarily relate some sort of sequence, and that's really not what I want. Furthermore, since every service communicates with the service bus and sequence diagrams place each service on a separate column, as the number of services increases, you end up with a lot of overlapping arrows.
For example, given 4 services
FOOpublishes messages of type publish and regen.
BARpublishes messages of type requeue.
BAZsubscribes to messages of type publish, regen, and requeue, and publishes messages of type transmit.
QUXsubscribes to messages of type transmit.
- Any service can publish any message type at any time (there is no implied sequence).
What kind of diagram should I use to clearly and unambiguously represent this information?
Here's the best I've come up with so far: