Welcome to FlowZap, the App to diagram with Speed, Clarity and Control.

Workflow à fiche de routage

patterns

Ce workflow modélise des messages qui portent leurs propres instructions de routage.

Code FlowZap complet

user { # User
  n1: circle label:"Start Routing Slip"
  n5: rectangle label:"Record Routing Slip outcome"
  n9: rectangle label:"Monitor Routing Slip status"
  n13: circle label:"End Routing Slip"
  n1.handle(bottom) -> app.n2.handle(top)
  n5.handle(bottom) -> app.n6.handle(top) [label="Done"]
  n9.handle(bottom) -> app.n10.handle(top)
}

app { # App
  n2: rectangle label:"Receive Routing Slip event"
  n6: rectangle label:"Monitor Routing Slip status"
  n10: rectangle label:"Monitor Routing Slip status"
  n2.handle(bottom) -> service.n3.handle(top) [label="Next"]
  n6.handle(bottom) -> service.n7.handle(top)
  n10.handle(bottom) -> service.n11.handle(top)
}

service { # Service
  n3: rectangle label:"Validate Routing Slip conditions"
  n7: rectangle label:"Monitor Routing Slip status"
  n11: rectangle label:"Monitor Routing Slip status"
  n3.handle(bottom) -> database.n4.handle(top)
  n7.handle(bottom) -> database.n8.handle(top)
  n11.handle(bottom) -> database.n12.handle(top) [label="Success"]
}

database { # Database
  n4: diamond label:"Execute Routing Slip action"
  n8: rectangle label:"Monitor Routing Slip status"
  n12: diamond label:"Monitor Routing Slip status"
  n12.handle(left) -> service.n11.handle(left) [label="Retry/Rejected"]
  n12.handle(right) -> user.n13.handle(bottom)
  n8.handle(right) -> user.n9.handle(left) [label="Processed"]
  n4.handle(left) -> service.n3.handle(left) [label="Retry/Rejected"]
  n4.handle(right) -> user.n5.handle(left)
}

Modèles associés