RxGateway Module Overview
The RxGateway module is a critical component of the RxFixTerminal trading system, serving as an interface between the LMAX broker and the internal microservices. It facilitates message dispatching, FIX communication, state management, and REST API interactions.
Key Components and Responsibilities:
- Broker Communication (LMAX Integration)
- RxQuickFixApplication
- Manages FIX protocol communication with the LMAX broker.
- Sends and receives trading messages.
- RxQuickFixDispatcher
- Processes incoming and outgoing FIX messages.
- RxKafkaEventPublisher
- Publishes relevant trading events (e.g., market data, execution reports) to Kafka for consumption by other services.
- RxQuickFixApplication
- Core Gateway Functionality
- RxGatewayApplication
- The main entry point for the gateway service.
- RxSessionControllerThread
- Manages trading sessions and FIX connections.
- RxGatewayStateManager
- Maintains the state of the gateway, ensuring stable connectivity and order processing.
- RxParametersDesk
- Likely a configuration manager handling trading parameters.
- RxGatewayApplication
- REST API and Internal Messaging
- RxFixRestController
- Exposes REST endpoints for interacting with the gateway (e.g., sending trade requests, retrieving market data).
- RxParamsRestController, RxDicRestController, RxServiceRestController
- Handle different REST functionalities such as parameter management and dictionary lookups.
- RxRequestMessageSender & RxMessageSender
- Manage internal message sending to RxFixRestController.
- RxFixRestController
- Integration with Other Modules
- Kafka
- Sends and receives:
- Market data
- Execution reports
- Trade signals
- Sends and receives:
- RxGUI
- Communicates with the gateway via REST API for user-driven actions.
- RxModeler & RxTrader
- Processes trading signals and orders.
- Kafka
Summary
The RxGateway module acts as the central hub for managing FIX-based trading, routing messages between the broker, internal services, and Kafka. It ensures real-time market data processing, execution reporting, and stable connectivity through FIX, Kafka, and REST APIs.