Marketcetera Architecture
TracNav menu
-
Marketcetera
-
Overview
- Photon
- ORS
- Tradebase
- OrderLoader
- Virtual Appliance
- User Mailing List
- Download
- License
- Reporting Bugs
-
Documentation
- Marketcetera Platform Configuration
- ORS Guide
- Photon Installation and Configuration
- Photon Guide
- Photon Scripting
- Tradebase Guide
- OrderLoader Guide
- Configuration Files Guide
- Configuring Market Data Feeds
- Order Limits
- Excel Integration
- .NET Support
-
Support
- Support
- User FAQ
- Developer FAQ
-
For Developers
- Architecture
- Building Marketcetera Platform
- Building Photon
- Building Tradebase
- Building Appliance
- Building MarketceteraCOM
- FIX Overview
- Developer Mailing List
- Developer Notes
- Contribute!
- Reading List
- Third-party Dependencies
- Exchange Simulator
- JavaDoc
- Blog
Marketcetera platform consists of the following modules:
- Photon - a light-weight GUI for entering and monitoring orders, built on top of the Eclipse Rich Client Platform.
- OMS - an Order Routing Server for accepting orders from GUI or Order Loader and routing them to an exchange.
- Order Loader - for batch loading of large numbers of orders.
- Tradebase - Web-based trade and position reporting application, built using Ruby on Rails version 1.2.3.
- .NET API - Libraries for connecting to Marketcetera Platform via Microsoft .NET technologies
Currently the Marketcetera platform is built on top of Spring Framework with an embedded ActiveMQ message queue middleware. Queues (i.e. point-to-point connections) and topics (i.e. publish/subscribe connections) are both used to communicate amongst the pieces of the Marketcetera platform. In general, queues are used to communicate messages going "toward" a broker or exchange, and topics are used for response messages going the other direction. This way we can guarantee that instructional messages--such as orders and cancels--are delivered once and only once, and informational messages--such as execution reports--are distributed to all interested parties
OMS stores all of the trade information in a database for later use in the Tradebase web-application. Currently the OMS and Tradebase are configured to use the MySQL database out of the box, but we are database agnostic and can be easily reconfigured to use any other database, such as Oracle or PostgreSQL.
OMS Architectural Overview
All of the Marketcetera applications are configured to be started through the Spring Framework.
The OMS uses an embedded ActiveMQ JMS broker for all the communication between stages (we use a SEDA framework to communicate between various parts of our application).
The diagram above describes all the stages in our OMS system. For more information see the Developer Notes section.
You can browse the source code, or see each individual section on information how to check out and build/modify the source code.
