Diploma Thesis Suggestion 2005

Overview

SunGard Trading and Risk Systems

SunGard Trading and Risk Systems provides integrated, enterprise-wide solutions for financial and energy trading, risk management and operations, as well as asset liability management and financial planning and forecasting. Serving over 900 clients, it offers Web-enabled solutions for achieving straight-through processing, and for managing market, credit and operational risk. Clients include financial institutions, energy companies, government agencies and corporations of every size, geographical reach and operational complexity. The Group also offers systems integration, project management and consulting services.

Introduction to ICS

ICS (Inter Connection Server) was originally created in the year 1999 in the Zürich office to integrate the various systems found at clients with SunGard products. It has since been developed by a small team into a lightweight EAI (Enterprise Application Integration) tool which greatly simplifies the management of data exchange between disparate systems. The purpose of ICS is to simplify the integration of different systems that would otherwise find it difficult to share data: it can be used to control where data comes from, where it should go, and how data might need to be modified in transit. The ICS framework has been written entirely in Java and has a component architecture which promotes reusability and extendability; it can be easily customized to fulfil new requirements.

What does ICS do



ICS reads from a data source, e.g. file, message queue, database, transforms the data if necessary and writes the data in a specified format to a data target, e.g. file, message queue, database. The transforming component implements a range of functions which can be employed to manipulate data, ranging from simple tasks such as the concatenation of strings to more complex functions such as date calculations and XML processing. ICS is also able to route data to various targets, depending on content.

ICS employs a GUI application called the Configuration Manager which is used to define so-called DataFlows. The concept of a DataFlow is that it contains sub-components that specify where data is consumed (reader), how data is transformed (transformer) and where data goes (writer), among other things.

The Configuration Manager is a stand-alone proprietary application that uses Swing elements to enable the user to define the content and properties of DataFlows. As ICS has developed over the past few years, so have the requirements regarding the GUI functionality increased. The current situation prescribes a “next generation” graphical workbench that should improve readability increase efficiency during configuration time.

There are multiple levels of where and how the ICS Configuration Manager application might be improved, which is subject of this diploma thesis. In general, there are two principal areas which are considered to be particularly interesting for a diploma team:

  1. Enhanced Transformer component “connect the boxes” style and/or underlying transformation engine
  2. Feasibility study to determine how easily the existing ICS component framework could be embedded into the Eclipse IDE to gain more flexibility than today’s ICS Configuration Manager.

Figure 2: ICS Configuration Manager

The bold box in the illustration above highlights the current Transformer editor.

Diploma Thesis A: Visual Transformer Designer and Execution Engine

The Transformer component as it exists today contains a palette of functions to manipulate data at the level of single record values. It is also possible to create so-called interlaced functions (stringing together of functions) which are executed sequentially (stack machine paradigm). The configuration of the Transformer component is done in the Configuration Manager.

Thesis A tackles the shortcomings of the current Transformer editor: awkward visualization and complex configuration of interlaced functions and, partly as a result of this, missing support for conditional (if-then-else) structures. The proposed solution is to revamp the Transformer editor and underlying transformation engine to allow a transformation configuration of the following form. The illustration shows a possible function sequence for one output field based on three input fields.

Conceptual Illustration

Figure 3: Transformer editor should be intuitive and based on the above concept

High level requirements GUI part

  • Rework the existing Transformer GUI editor to be able to visually compose the function routes for each output field per drag and drop
  • Functions are represented by boxes, the function routes are represented by lines
  • Input fields and output fields must be visible
  • Intermediate result reuse should be possible (function output to be used for multiple inputs)
  • Modifications to input and output record layouts must be possible (e.g. adding another output field) without breaking the existing configuration (refactoring functionality)
  • Configuration of complex functions must be possible (e.g. mapping function: requires a reading component and the reading component requires an input record definition)
  • The underlying transformation engine must be adapted and enhanced to handle conditional handling, caching of intermediate results, exception handling, etc., while keeping performance issues in mind.

High level requirements Transformation engine part

  • Rework existing Transformation engine or create a new one to support functionality described above

Diploma Thesis B: Configuration Manager as PlugIn for Eclipse

The ICS Configuration Manager is a GUI application which has been extended and enhanced over the years, predominantly by employing Swing components directly, i.e. without using GUI authoring tools. Also, current GUI components need to be revamped entirely to permit enhanced functionality (refer to Diploma Thesis A), which can be a very tedious task and requires profound Swing know-how.

A current trend seems to be the creation of common development environment frameworks into which specific functionality can be plugged (e.g. Microsoft Visual Studio, Eclipse). The content of diploma thesis B is to study the feasability of using Eclipse as a basis for a new Configuration Manager.

  • The ICS component framework already exists (model based on JavaBeans)
  • Using GEF (Graphical Editing Framework) and Draw2D (deployed together with GEF) it might be possible to efficiently create the necessary Model-View-Controller relationships. GEF is another plugin available for Eclipse. Although GEF is omnipresent in conjunction with Eclipse when discussing the creation of editing frameworks, the mention here is meant only as an option. Possibly there are other concepts and plugins available that could equally satisfy integration into Eclipse, or any other rich client framework.
  • The necessary panels for the ICS Configuration Manager are the typical panels found in most development environments:
  • Project and/or explorer panel (contains the project icon and a hierarchical view of its children, i.e. DataFlows)
  • Editor panel (record layout, dataflow, transformer, router, etc.). It is interesting to note that ICS components can be recursive: a dataflow component can contain a router component which in turn could contain a dataflow component, etc.
  • Properties panel (changes as ICS components receive focus)
  • Catalog panel (displays a list of components that can be added to the editor pane)
  • Message panel

Miscellaneous

Location

The SunGard Trading and Risk Systems Zürich office is situated at Tödistrasse 42, Zürich, tram stop Stockerstrasse, one tram stop after Paradeplatz.

Work environment

The ICS team uses the IntelliJ and TogetherJ IDEs in conjunction with CVS (version control) for SW design and development. Other IDEs are welcome. Deployment is achieved with ANT and emphasis is put on JUnit and regression tests for quality control. We have three workspaces to our disposal, so it would be possible (and preferable) for participants to work in Zurich.

Seeing that ICS is a fairly small software endeavor managed by a small team, participants would undoubtedly come into contact with all aspects of software development.

Language: Existing project documentation is available in English only. It would be desirableof participants to write their thesis documentation in English. Verbal communication language is (Swiss)-German.

ICS Development Team

There are currently two team members, both Inf. Ing. HTL Brugg-Windisch, 1997

Contact

Oliver Löwenstein

Tel. 01 286 63 64

Page 1 of 4SunGard Trading and Risk System