Financial Trading
Scenario
Architecture, design and implementation of new global trading infrastructure.
Situation
This bank's Global Markets and Equities department has many
business critical systems for trading and settlement operating
in financial markets world-wide. Most of these systems,
developed with Microsoft Development Tools, have grown
independently and organically with business changes and
increasing volumes, and many of them had implemented common
services in an idiosyncratic fashion, and some were not
flexible enough to accommodate rapid change.
With the gradual move to 24*7 globally distributed systems,
the bank needed to migrate their existing systems and
development practices to an easily maintainable, scalable,
component-based distributed architecture. The scalability
requirements were such the design needed to accommodate
that web farm scenarios, running over the corporate network
and intranet. The aim of this project was to identify,
design and build the base services of such a framework,
as well as providing tools and administrative utilities
to ease the transition to such an architectural framework.
Charteris Role
Our role was to provide the architectural design and subsequent
detailed design and coding of all components, while the
testing and script coding were carried out by bank staff.
We were also responsible for day-to-day project management.
After an initial period of definition of requirements, they
were captured in a reusable UML (Unified Modelling Language)
framework, from which an architecture and design were
produced.
Next, the COM components that provide base services such as
security data access, system configuration, reporting,
data translation, error, trace and audit logging were
iteratively designed in detail and coded. Small sample
systems were also produced to demonstrate and test use
of the key components.
It was also necessary to build tools to administer and deploy
the systems based on the framework in a wide range of
system configurations worldwide. The team also produced
tools, standards and guidelines to help those developing
systems within this framework.
Solution
The project has resulted in a set of components, some of which
are reusable on every system, while others merely need
slight customisation for each new system, together with
a set of templates for other more system-specific components
such as specific business objects. The long-term outcome
is that more robust, standardised systems, can be built
more speedily, and can be more easily maintained; in addition,
there has been an improvement in software development
practice in this area of the bank.
Rational Rose 2000 Enterprise Edition was used for modelling. All
components were built in Visual Basic 6.0 and most server-side
components were built for deployment in MTS (Microsoft
Transaction Server)/COM+. The user interface was provided
by Win32 Visual Basic front-ends and server-side VBScript
Active Server Page scripts run from Internet Information
Server. Back-end data stores were held in SQL Server 6.5
and 7.0, Oracle 8.0, XML, CSV, and a company-specific
format based on XML. Data transformation and transfer
were via ActiveX Data Objects and SQL, and XML, using
MSXML 2.0 as a parser, and XSL. Testing was carried out
using TestManager and WinRunner.