Hey there,
We've had added slight architectural change in the past week which has
to do with how OMS and Tradebase interact, and how trades are being
added and recorded in Tradebase.
In the "old" model (what's shipping and available for download now)
the OMS would record the incoming FIX Execution Reports in the
database, and then one would have to go into Tradebase and go to
Trades -> Import Trades to add all the new trades to Tradebase.
But that's "2 clicks", you'd say! "2 clicks is slower than none!".
And you'd be right - which is why we listened, filed and implemented
RFE 455 (
http://trac.marketcetera.org/trac.fcgi/ticket/455 ) to enable
automatic import of trades into Tradebase. If we had a major marketing
department, we'd call it "Marketcetera No-Click Trade Recording (TM)"
(thankfully, we don't).
So there you have it - automatic trade recording from OMS into
Tradebase. If you'd like more details on the implementation, read on.
To tell you the truth, I never liked the initial approach of using
JdbcLog to record incoming execution reports - you needed to create
non-OMS related DB tables, it relied on Proxool (connection pooling)
which occasionally misbehaved, it coupled the OMS with non-OMS related
logic too much, and I always saw a specter of my old Stanford CS prof
telling me it was bad design.
The new approach is much slicker (or so we think). We decoupled OMS
from trade recording altogether - the OMS now just forwards the
incoming execution reports to another JMS queue, which (if it's setup)
is being picked up by the Tradebase using the ActiveMessaging
(
http://code.google.com/p/activemessaging/wiki/ActiveMessaging)
plugin. This way, people only using the OMS don't have to deal with
the database hit, and Tradebase users get automatic trade recording.
On the Tradebase side, you need to run the "poller" script to setup
JMS polling, and it automatically finds and registers all the JMS
processors. The next release of the appliance will have this system
built-in, so it'll be working out of the box.
Naturally, this allows you to have your own JMS listeners to subscribe
to these execution report messages as well, and makes integration that
much easier.
We'll keep the JdbcLog and necessary dependencies around for those who
choose to persist all the incoming messages into the DB, but as of
next release that will be an optional configuration.
Let me know if you have any questions, and would love to hear your
thoughts on this. If you want to see the code, the OMS changeset is at
http://trac.marketcetera.org/trac.fcgi/changeset/1564 and the
Tradebase at
http://trac.marketcetera.org/trac.fcgi/changeset/1561 .
Happy Trading
--
Toli Kuznets
http://www.marketcetera.com: Open-Source Trading Platform
download.run.trade.
_______________________________________________
m-etc-dev mailing list
[hidden email]
http://lists.marketcetera.org/cgi-bin/mailman/listinfo/m-etc-dev