I'm working on a large project at the moment and I'm trying to document the communication protocol that sits on top of a message queue middleware.
The documentation is intended for another organisation that is going to be implementing a new back end to the client.
The messages format uses protocol buffers, so I'm less interested in describing the wire format.
I'm interested in documenting the interactions between the service and client. A typical interaction might be something like:
- Client subscribes to Channel1
- Client pushes RequestForStream to Queue1
- Service reads from Queue1 publishes StreamResponse (containing endpoint to subscribe to, Channel2) to Channel1 and if successful starts publishing notifications to Channel2
- Client receives from Channel1 and subscribes to Channel2
- More stuff...
How can I best document scenarios like this? Does anyone know of any examples of documented interactions with Queues and channels?
Edit: I am not writing a Message Queue. I am using a JMS-like middleware named Nirvana. I want to document the application built on top of the Message Queue system.
Edit 2: In UML how would I model a Queue or Channel? Would I show them on a sequence diagram?