Not long ago, I posed a question to the Stack Overflow community – (is there a) “Good Visio Template (or alternative) for SOA/Distributed Systems?”. Surprisingly, there was only one response!
Since then, I have been recently introduced to, of all things, a Java based tool called the ‘Quick Sequence Diagram Editor’ which can be used to produce really useful UML Call Sequence Diagrams. Using this tool, you can effectively call out the interface definitions of your distributed services or service library.
The tool uses a pseudo code syntax to produce (render) the sequence diagrams. Services (or classes) are declared first , and then subsequent code calls out the service behaviour (request/response, arguments). It also supports inline annotations (comments) as well as conditional (branching) IF/ELSE logic.
Code is evaluated/rendered as you add the code so that it is impossible to model a sequence with invalid object names.
From the site, here are the principal features:
- The diagram changes as you type.
- Diagram code is instantly checked, errors are pointed at.
- Diagrams can be exported and zoomed.
- Long diagrams can be paginated.
- There are constraints imposed on diagram specifications, so one cannot model something that is impossible to implement.
All it requires is Java (for your platform), the downloadable is an executable .jar file which consumes the specification files (which can be used with other UML document tools as well).