MAE Communication Protocols

Index Home MAE > MAE Architecture > MAE Communication Protocols

MAE - > Architecture - > Communication Protocols

Communication Protocols

CommHub

The CommHub daemon is the communication hub - all communication goes through it. It accepts one command per line, so any data that includes a newline must be escaped.

There are four types of messages that can be sent:

Control Protocol

This protocol is used to initiate communication, authenticate, identify, provide status, and terminate communication a daemon.  CommHub uses this protocol to control the daemon - status check, suspend, resume, and stop.  Some utilities use this protocol to start and stop other daemons or check their status.

Database Protocol

Database access is abstracted, so commhub accepts database access messages and replies for dbbroker, which in turn communicates with the implemented database.  All CommHub commands bound for dbbroker begin with Db.

Message Protocol

A message is asynchronous and one-way with a target listener, request keyword, and attached data.  If the listener is off-line, the messages may be queued for later receipt.  A message listener must register (with msgbroker) to receive messages sent to it. All CommHub commands bound for msgbroker begin with Msg.

RPC Protocol

A RPC call is syncrhonous and two-way with a target listener, request keyword, and attached data.  When the request is complete, a response is returned.  If the service daemon is off-line or busy, the timeout response will be sent.  A daemon RPC handler must register (with rpcbroker) to requests sent to it. All CommHub commands bound for rpcbroker begin with Rpc.

HTTP User Updates (updater.js)

A JavaScript program runs in the browser (updater.js) that interprets all updates sent from UserGW into page updates. It accepts one command per line, so any data that includes a newline must be escaped.

See UserGW Update Commands for the full list.