It is produced using the free open source product GraphViz that is inbedded in Confluence.
It can be downloaded from http://www.graphviz.org/ if you want to use it on other projects.
This diagram is pretty complex but the GraphViz specification in this diagram only uses nodes, edges and clusters to make it all happen
These node instructions say that the following nodes (entity(ext) and service) should be just text written in Helvetica-bold with the text in purple and the "plaintext" underline drawn in cornsilk.
entity(ext) has quotes around it to make sure that the brackets are not parsed as commands.
node [shape=plaintext fontname="helvetica-bold" ];
node [color=cornsilk fontcolor=purple];
"entity(ext)";
service;
Nodes should be defined before being used in edge definitions. If an undefined node appears in an "edge" definition before its definition as a node, it will pick up the current node properties ( with defaults for properties not currently specified) and will ignore subsequent redefinitions.
The following specifications draws lines from product and order to eCommerce with the line and the text in "salmon". Each line is labelled with "OFBIZ-6110".
The samehead just removes the clutter if the 2 arrowheads overlap.
edge [color=salmon weight=0];
product->eCommerce [fontcolor="salmon", label="OFBIZ-6110", samehead=h2];
order -> eCommerce [fontcolor="salmon", label="OFBIZ-6110", samehead=h2 ];
The clusters constrain sets of nodes to be placed together within a box.
The placement of nodes is automatic which removes some of the effort in creating and maintaining the diagram.