Message Flow

The picture shows the message flow in the system. The server (light blue) shall have two server sockets (one to the left and one to the right). Input client and output client have one client socket respectively and connect manually to the server. A typical scenario is given below which starts with a single line messages (top left):

message-flow image, made with Delphi
Message-Flow Graph

complete traditional message flow picture
Message-Flow 01 Blue

Because single line messages received at input side are passed on unchanged to potentially several connected clients a tree like/cascading network of (identical) servers can be established with the help of a server coupler component. (The server coupler has two client sockets and sends everything to the output that has been received at input.) Make sure no feedback is introduced, e.g. by connecting to the wrong socket.

In the usual case a Switch or Bridge component is used to connect servers.

A Switch makes use of the normal input and output socket. A Switch implementation is available as a Delphi application (also in the form of a Windows Service).

In contrast, there is a whole hierarchy of implementations of the Bridge concept. The server application always uses a client socket (tcp or http or internal) in order to establish a connection to the Bridge.

It is possible to receive multiline messages at the server input socket. These multiline messages are not passed on to clients. The normal use of a multiline message is a list of input messages.

A message at input side can be prepended by one or more request (of report/output). This makes a Request/Response pattern possible through the input socket. But input messages can only be sent to the input socket, input messages are not processed when sent to the output socket.

Improved Message Flow

If the output client does not need to request info, because it is up to date and can compute the new state when it receives a single line message, the message flow picture looks like so:

picture of streamlined message flow
Message-Flow 02 Blue

In this situation, only a tiny amount of data is flowing through the system.

message map