dxBus - the trading bus developed by Devexperts is designed to provide high speed fault-tolerant market and trade communication between client corporate information systems and the external information systems of stock exchanges and information agencies.
Enterprise Messaging System dxBus consists of the following top level components:
- Meta data,
- Message processing servers,
- Protocol adapters,
- Client libraries, Administration console.
Meta data: The trading bus allows for enlarging and modifying the range and structure of messages that connected systems can exchange. Java or XSD can be used as the description languages. The bus is supplied with a cross-compiler that allows for changing the format.
Message processing servers: The trading bus core is a server cluster dealing with message routing and delivery control. The same servers allow the bus to control the components and transfer the information to the monitoring system. Access to servers is provided via an open binary protocol.
Protocol adapters: In order to allow systems with limited programming ability and third-party firm systems to access the bus, these adapters can be used to change the binary protocol of the trading bus into any other protocol, or API. We provide the adapter for access to the trading bus based on the standard XML protocol.
Client libraries (API): In order to provide the easiest access to the trading bus services we supply the API with a Java class library implementing all of the abilities of the protocol. We also supply API to provide the access to the component control and collection of monitoring information. If necessary, we can develop API variants and meta-data compilers for other programming languages.
Administration console: The trading bus is supplied with a user-interface for component control. The interface also allows for changing of the bus settings.
Delivery algorithm: The bus has flexible settings for the type of message being delivered.
- Subscription access in publish/subscribe mode;
- Access in request/reply mode;
- Guaranteed delivery confirmation to sender;
- Repeated request option for a specified period;
- Special ways to describe market data for maximum efficiency.
Component control: The message routing setting tools are packaged together with the trading bus. The trading bus is equipped with a content-based routing mechanism as follows:
- <Receiver> and <Sender> field routing;
- Derived field based routing;
- XQuery-based policies or callouts to external services for message routing.
The possibility of server consolidation into a cluster is implemented to provide system fault tolerance, as well as load distribution between system instances.
In this case all the trading bus clients can connect to any server, or all of them simultaneously. The server selection algorithm for connection can be different and shall be specified separately. In the case of failure of any server, the trading bus continues the operation and the load from the non-effective server is distributed among the rest of the servers. The efficiency of the trading bus can be increased by adding more servers.
The trading bus provides the delay distribution specified in the specifications (max delay for 90% of messages, max delay for 99.9% of messages) depending on the delivery type, the load amount and the type of equipment used.