Back-End Requirements
Platform and Operating System Requirements
The OpenGamma Platform is written in pure Java, and thus can in theory work on any system with a working JRE.
That being said, our preferred deployment platform is Linux, and we recommend that to new installations. As part of our ongoing development and testing, we regularly test the system on:
- Fedora 14
- RedHat Enterprise Linux (and CentOS) 5.4 and 5.5
- Windows Server 2008
- Windows 7
- Mac OS X 10.6 (Snow Leopard), 10.7 (Lion) probably works once Java installed, not tested though
Hardware requirements vary depending on application but a reasonable minimum for testing and evaluation is:
- For production level testing
- At least 4 physical (not hyper-threaded) 1.8GHz+ cores
- Development and initial evaluation
- Dual core machine recommended as necessary for realistic development
- Can run with heaps as low as 1GB, although 2GB is a reasonable minimum for development
- Other recommended system requirements (e.g. for VMs)
- 8GB RAM minimum (2-4GB is possible for evaluation on e.g. Laptops)
- 10GB Disk
Message-Oriented Middleware Requirements
Our current reference implementation is built against ActiveMQ, although any other JMS provider should prove easy to swap in. The system is designed to not be tied specifically to JMS either, most of the messaging is via abstract classes in the OG-Util project so it should be easy to use most other messaging clients, e.g. AMQP systems such as RabbitMQ, SonicMQ and proprietary systems like TIBCO, 29West, etc.
Database Requirements
OpenGamma's reference Open Source database, and what we use for the majority of our testing, is PostgreSQL 9.0. Testing and the demo database installation is performed on the embedded Java database HSQL 2.2.8.
The following table shows a summary of support OpenGamma currently provides for major databases and versions.
| Component | PostgreSQL 8.4 | PostgreSQL 9.0 | Vertica |
|---|---|---|---|
| Security Master | Yes | Yes | Planned |
| Portfolio Master | Yes | Yes | Planned |
| Position Master | Yes | Yes | Planned |
| Holiday Master | Yes | Yes | Planned |
| Exchange Master | Yes | Yes | Planned |
| Config Master | Yes | Yes | Planned |
| Function cost Master | Yes | Yes | Planned |
| Time Series Storage | Yes | Yes | Planned |
| Batch Risk | Yes | Yes | Planned |
Client Requirements
In general, OpenGamma client components are designed to be as light-weight as possible, to push as much processing as possible onto the back-end. Your custom applications may do significant processing on the desktop, but OpenGamma components as a rule do not.
More important than CPU, disk, or RAM for OpenGamma client components is bandwidth and latency to the back-end components when running many custom views or streaming real-time results. Operation over WAN and VPN links is possible, and the OpenGamma client management components will gracefully degrade in this situation, but it's not ideal. Full-time remote sites warrant a custom installation with some OpenGamma Platform components on-site at the remote location.
Web Client Requirements
The OpenGamma Web Client is a web front-end onto the OpenGamma Platform designed using modern technologies for fairly recent, standards-compliant browsers. While it may work on browsers not tested, performance may be seriously degraded. Based on our experience, we strongly recommend Google Chrome, Safari, or Firefox 4+ for the best experience when using the most complex parts of the web client.
The following table shows a summary of our experience supporting different common browsers and versions:
| Browser | Version(s) | Supported? | Notes |
|---|---|---|---|
| Google Chrome | 8+ | Yes | Likely to work with older Chrome versions, but Chrome auto-updates rather quickly and <9.0 versions are rare |
| Firefox | 3.6+ | Yes | New development will not work with Firefox 3.5 and lower, but some existing developer-only screens will still support 3.5 and below. |
| Safari | 5+ | Yes | |
| Internet Explorer | 6 | No | |
| Internet Explorer | 7 | No | |
| Internet Explorer | 8 | Yes | May be some performance issues if spark lines are turned on in the analytics view |
| Internet Explorer | 9 | Yes |
Web Client on Mobile Devices
OpenGamma does support Mobile Safari (iPad and iPhone) with most of our UI, although when using the analytics viewer, you may find performance poor unless you disable 'sparklines' on the toolbar. Also, because the analytics viewer uses an embedded scrollable area, it requires two-fingered dragging to scroll it. We hope to address this with Mobile Safari specific markup in the near future.
There is no reason that the client should not run correctly on other mobile browsers (e.g. Blackberry Playbook, Android 2.x and 3.x, etc) but they're not currently tested. We'd be interested to hear how the UI performs on those platforms.
