We are looking for an individual/firm with experience of betting exchanges, primarily Betfair. Please only apply if you are familiar with Java and Java Message Services.
Task
Write an application (publisher) that retrieves live market data from the Betfair exchange via the Betfair API and passes the data on via an internal Java Message Service. No graphical user interface is required.
Introduction
The publisher is used to provide live market data from the Betfair exchange. The application must use a publish- subscribe protocol. After a subscriber has subscribed to a set of different markets the publisher provides updates whenever the price in the market changes. The idea is that the application is an adapter to the outside world. It connects to the outside world and transforms the proprietary betfair protocol into the internal message standard. To the outside world the publisher is using the Betfair API, internally it will use the Java Messaging Service to communicate to the subscriber. A specified recovery procedure must be implemented in case the publisher crashes and restarts. This is using a database table.
Normal use
A subscriber sends a MarketData message with SubscriptionRequest = Subscribe to the publisher, specifying the securities it is interested in (SymbolList) and the type of price it is interested in (DataRequest). The publisher sends an immediate Price message with the current price it has in memory. The publisher sends ongoing updates in Price messages as prices change. Internally the will be some sort of loop in the publisher as Betfair doesn't send updates, but responses to requests. The subscriber only wants to recieve a new message when there have been changes to the previous message. The subscriber sends a MarketData message with SubscriptionRequest = Unsubscribe when it is no longer interested in price updates. The publisher then stops sending price updates.
Additional information: Submitted on 05/12/2008 at 12:34 EST Added attachement.