Skip to content

System architecture

DragOnFlow is made from a set of components that communicate through a message hub called Orb.

  • Orb – Handles the communication between all the components, it also provide queue and load balancing allowing multiple copies of a component to run.
  • AmlVmWs – Handles communication to web clients via Rest & SignalR, it also provide API to interact with the system programmatically.
  • Connectors (e.g. telegram, WhatsApp, LHC…) – converts the internal messaging language to external systems, for example WhatsApp connector handles the communication with WhatsApp API and renders messages to appear correctly on the user phone, while also handle the conversion of messages from the user to the inter messaging language.
  • VmProcessor – Gets a message and based on a set of rules and diagrams constructs a reply

Installation options

All components interact via a message hub (using GRPC). This allows a flexible architecture, however, it is also possible to have multiple copies of the entire system and use load-balancers. (database must be shared)

Each physical server contains a single Service-Manager, which is starting the bots, connectors …, it also acts as a watch-dog restarting misbehaving processes.

User interacts with the system via connectors, each channel has a designated connector (e.g. WhatsApp, Web, Telegram …).

Installation can be locally on premise or on a cloud provider

Use a cloud provider

DragOnFlow is Installed on a virtual server(s) provider (e.g. Azure, Linode ...)

Install on premise