Deutsche Bank

I worked for the convertible bonds department. I was involved in the design, development and deployment of their online trading system and web site. Java technology was used throughout the system.

Technical Architecture

The key components in the software architecture of the convertibles bonds trading system and web site were Tibco Rendezvous and the Castor open source XSD compiler. Castor was used to define the data model of the entire system; Castor generated Java Beans that were serialised into XML and passed between the web site and the back end systems (Imagine and Sybase database). Tibco Rendezvous was used to transmit the XML messages between JSPs, Unix processes and VB and C# clients on the traders' desktops. I designed a "contract style" messaging architecture; an XSD specified which subjects processes listened for and how messages were routed both to Rendezvous daemons and to java methods within a java object.

Distributed systems

A variety of distributed systems protocols (CORBA, DCOM, SOAP and RMI) were used to plumb other systems into the Tibco Rendezvous messaging system. I wrote a CORBA adapter that extracted pricing information from the Imagine trading system and an RMI adapter to an internal risk system. DCOM was used to develop a graph server (see below). Apache Axis was used to link Excel spreadsheets with Unix processes; Soap traffic was relayed back and forth over Rendezvous.

Graph Server

We went through a few iterations on the graphs for the web site. I designed and wrote a graph server which joined data from multiple databases and generated graphs. Initially the server used the JIntegra DCOM bridge to download data into Excel instances that generated graphs; this fitted with the way that graphs were specified (the traders provided spreadsheets). The graph server was subsequently converted to use JFreeChart.

Web applications

I wrote two Ajax style applications in javascript to assist in pricing bonds and viewing portfolios. Large amounts of javascript were written by hand - if only GWT had been available then!

Web infrastructure

The web site was hosted on a cluster of Solaris servers; I worked with the Unix system administrators setting up Apache, Tomcat and mod_jk and subsequently with the SSO group when the site became part of the DB wide cleartrust installation.

System infrastructure

I wrote the ant scripts that built the components of the system, checked them into CVS and released them from development into uat and then on to the production machines.