Marketcetera VMWare Appliance
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
Table of Contents
The Marketcetera Platform consists of a few server-side pieces with a few third-party dependencies.
To make it easier to try it out and avoid the hassle of initial setup and configuration of all the underlying components, and to stay true to our goal of Download-Run-Trade, we are offering the entire server-side piece for download as a preconfigured VMWare Appliance.
The appliance includes the OMS and the Tradebase applications, along with all the necessary third-party dependencies. It is setup to have everything start up at boot, so you just need to point Photon at it and use it immediately.
Watch the introductory video on how to setup the appliance.
What the appliance consists of:
- Operating System: Ubuntu Linux 7.04, aka Feisty
- Marketcetera Platform:
- OMS
- listening on default JMS queue oms-commands
- running an embedded ActiveMQ JMS broker, configured to listen on port 61616
- OrderLoader
- Tradebase - running on port 3000, connect via http://<applianceIP>:3000
- OMS
- Third-party Appplications:
| MySQL 5.0 | Database for OMS and Tradebase, configured to start at boot. We use database name marketcetera with logon of marketcetera/marketcetera |
| Ruby on Rails 1.3 | Necessary for the Tradebase web-application |
| Ruby | Necessary for Tradebase |
| Mongrel | Fast HTTP library and server for Ruby |
| QuickFIX for Ruby | Build of QuickFIX for Ruby from source (revision 1844) |
| Java 5 JRE | OMS and OrderLoader run on Java |
You will need to download and install VMWare Player and the Marketcetera Platform Appliance in order to run it. You will also need to expand the .tgz file (and the embedded .tar file) - you can do that either with WinZip or 7-Zip (open-source).
We have setup the appliance to use 384MB of RAM for better performance of all the underlying dependencies, so please use a machine with an appropriate amount of memory.
We also have a handy shortcut where logging in with the username ifconfig prints out the networking configuration of the appliance so that you can connect to it with Photon without having to logon at all, and the status username gives you a quick look into whether the OMS, Tradebase, MySQL and Mongrel are running. You can also run sanityCheck.rb from command line to see the same status output.
Appliance Configuration
The first time you run the appliance in VMWare, it may ask you if you want to reset some GUID because the appliance "has moved". If your VMWare Player asks if you "moved it" or "copied it", choose "moved it".
Choose the option to "keep" the existing GUID. Otherwise VMWare will reset your networking leaving you only with the localhost/127.0.0.1 interface.
Don't worry, you can fix it by following these directions, under "VMWare and Networking".
Just run the sudo /usr/local/bin/fixmac script to fix the networking, reboot the appliance and everything should work.
Most likely you will want to customize the appliance to fit your organization, and you must set your own SenderCompID to connect to the Marketcetera Exchange Simluator.
The Marketcetera Platform is installed in /opt/marketcetera and is configured by default to connect to the Marketcetera Exchange Simulator. You need to register with us and get your own SenderCompID, otherwise you will be using the default which will cause a conflict and prevent you from connecting to the simulator.
- Log in with user name marketcetera and password marketcetera
- Edit the file, /opt/marketcetera/platform/conf/oms.xml, modifying the defaultSessionID bean to pass as the second argument the SenderCompID to be the one you received, or set the socketConnect bean configuration to match your own market simulator.
Use the following command pico /opt/marketcetera/platform/conf/oms.xml to edit the file. You can find more information on how to use pico if needed.
- Restart the OMS using sudo /etc/init.d/oms restart
Root Access
We have enabled sudo access for the marketcetera user (remember, the password is also marketcetera).
%> sudo ls
You can also just become root by typing the following line and providing marketcetera as password:
%> sudo su
Changing Timezone
By default, the appliance ships with Pacific (PST) timezone. We understand that not everybody lives in California, so here's a handy way to change your timezone from the appliance command-line:
sudo tzselect
You navigate through the prompts selecting your geographic region and the timezone. See this writeup for more information on how to manage time in Unbuntu command-line.
And yes, we promise to have a GUI way to do this from an appliance soon.
Diagnostics
There are two easy ways to diagnose problems with the appliance.
First, you can login as the special status user to have the appliance automatically print connection details:
.
Alternatively, you can access the same information through Tradebase (remember you can get the IP address with ifconfig user at login prompt) and going to the
Server Diagnostics page.The diagnostics page shows the following:
- Time synchronization - If the appliance's clock is not synchronized, it may cause issues with connecting to a FIX destination if the lag is more than a few minutes.
- Network
- If the eth0 interface is not bound, that may lead to trouble
- Checks the resolution of a few hosts, such as exchange.marketcetera.com, marketcetera, and localhost
- Shows if the OMS, ActiveMQ, JMS Poller and MySQL processes are running
- Displays the OMS FIX connectivity information
- Logged on status
- Remote address of the FIX destination
- SessionID shows the SenderCompID and TargetCompID along with FIX version that is being used.
