The communication system adds a transparency layer on the network connection between the FastFix client and server platforms. It includes functionality to exchange data between the FastFix client platform and the FastFix server platform.
S2 can provide information about existing systems. From our perspective, the best option would be a non-OSGi component for client-server communication, and a message broker in the server, like ActiveMQ or similar, for queuing purposes. We have been performing a study to rate the most efficient communication protocols to send events from client to server. These are the results, with 1000 messages and 3 fields each:
TCP Messages sent through pure TCP sockets, serialized with Protocol Buffers. 1,5 secs 666 messages per second
STOMP Messages sent through JMS broker, with STOMP protocol. Messages serialized with JSON 2,02 secs 495 messages per second
REST Messages sent through HTTP requests, serialized with JSON. 7 secs 142 messages per second
SOAP Messages sent through web services 21 secs 47 messages per second
XMLRPC Messages sent through XML-RPC 66 secs 15 messages per second
see [Component Specific Error Types]
Wiki: Component Limitations
Wiki: Component Specific Error Types
Wiki: Software Architecture (incl. "big pictures")