This system should be written in Scala or Java (preference for Scala). It will use RabbitMQ, Storm, QuickFIX/[url removed, login to view] MongoDB
On machine A will run a process that receives simple FIX order messages from users. It will package each order and send it over SSL to a RabbitMQ queue on machine B.
On Machine B there will be a thread that will get market data from a simple tcp/ip connection (local) and put it into a RabbitMQ queue.
On the same machine there will be a Storm system with two RabbitMQ spouts: one for the market data and one for the incoming orders.
The Storm system for each order will wait till it has the relevant market data to process (paper trade) the order and then put the result in an outgoing RabbitMQ queue.
On machine A the same process will have another thread that sits on the processed orders queue. When it receives a result it will send it back to the user over FIX and it will store the result in a NoSQL database (mongoDB for example).
IMPORTANT Bidding information
1) If you're familiar with the above technologies you will know this is a relatively straight forward small/medium project and you should bid accordingly.
2) If you are not familiar with all the technologies but can demonstrate high competency, then please bid not as an expert but as someone who is learning these technologies, meaning a very high bid will definitely not be accepted.
7 freelancers are bidding on average $1811 for this job
Hello, I'm a Java, J2EE application developer with over 10 years experience. I'm very happy to get this project done for you. Contact me if you are interested. Thanks, Rick