How can i create columns to group items into?

0 votes
asked Mar 8, 2017 in To be sorted by anonymous
edited Mar 8, 2017

I am trying to create a diagram that is showing high level coverage of the prodcuers / messaging / consumer design within an application. I would like for the producers to be in a vertical column, the exchanges/queues to be in another column and the consumers in a final column. The diagram is a left to right direction diagram and i would like this to be preserved. 

 

I have tried to use box in order to do this but i am getting syntax exceptions that i am not sure how to resolve. Could you provide some advice please?

EDIT: error is:

sytnax error?

box "Producers" #5fddd6

agent "eia" as producer1

did you mean:

agent- "eia" as producer1

 

@startuml
title Queue design document
 
box "Producers" #5fddd6
  agent "eia" as producer1 #LightGreen
  agent "epa" as producer2 #LightGreen
  agent "mft" as producer3 #LightGreen
  agent "EP" as producer4 #LightGreen
  agent "eps2" as producer5 #LightGreen
end box
box "Messaging" #bb7068
  agent "exchange.ia.in" as ex2 #LightGrey
  agent "exchange.bi.support.dead-letter"  as ex4 #LightGrey
  agent "exchange.epa.out" as ex5 #LightGrey
  agent "exchange.eps.creditTransfer" as ex6 #LightGrey
 
  queue "queue.eiacore.mft" as q1 #LightBlue
  queue "queue.epa.req.MT103" as q2 #LightBlue
  queue "queue.epa.req.MT192" as q3 #LightBlue
  queue "queue.epa.req.MT202" as q4 #LightBlue
  queue "queue.epa.req.MT199" as q5 #LightBlue
  queue "queue.epa.req.cdttrftxinf" as q6 #LightBlue
  queue "queue.epa.req.fitofipmtcxlreq" as q7 #LightBlue
 
  queue "queue.eia.rsp.swift.main" as q9 #LightBlue 
  queue "queue.eia.rsp.error.main" as q10 #LightBlue 
  queue "queue.eia.rsp.sepa" as q11 #LightBlue 
 
  queue "REQ.SWIFT.LQ" as q12 #LightBlue
  queue "queue.ia.events" as q13 #LightBlue
  queue "queue.eia.rsp.clearing" as q14 #LightBlue
end box
Box "Consumers" #6fc65f
  agent "epa" as consumer1 #LightYellow
  agent "eia" as consumer2 #LightYellow
end box
 
producer1 --> ex2
producer1 --> "#" ex4
ex2 --> "rk.ia.swift.mt103" q2
ex2 --> "rk.ia.swift.mt192" q3
ex2 --> "rk.ia.swift.mt202" q4
ex2 --> "rk.ia.swift.mt199" q5
ex2 --> "rk.ia.sepa.cdttrftxinf" q6
ex2 --> "rk.ia.sepa.fitofipmtcxlreq" q7
q2 --> consumer1
q3 --> consumer1
q4 --> consumer1
q5 --> consumer1
q6 --> consumer1
q7 --> consumer1
 
 
producer2 --> ex5
ex5 --> "rk.epa.swift,\nrk.epa.ar.mt900,\nrk.epa.ar.mt910,\nrk.epa.ar.mt940,\nrk.epa.ar.mt950" q9
ex5 --> "rk.epa.error.main" q10
ex5 --> "rk.epa.sepa" q11
q9 --> consumer2
q10 --> consumer2
q11 --> consumer2
 
 
producer3 --> q12
ex2 --> "rk.eiacore.mft" q1
q1 --> consumer2
q12 --> consumer2
 
 
producer4 --> "rk.ia.event" q13
q13 --> consumer2
 
 
producer5 --> ex6
ex6 --> "creditTransfer.clearingResponse" q14
q14 --> consumer2
@enduml

1 Answer

0 votes
answered Mar 8, 2017 by plantuml (295,000 points)
Are you trying to create a sequence diagram ?

You should begin with a simpler diagram, with only 4 or 5 elements.
commented Mar 8, 2017 by anonymous
actually its not technically a sequence diagram its more of a topological diagram really. If all the boxes are removed the diagram will work and you will see the producers on the left, messaging information in the middle and consumers on the right. i just want to re-inforce this visually by using boxes.
...