XML Europe 2001 logo21-25 May 2001
Internationales Congress Centrum (ICC)
Berlin, Germany

Model Driven Architecture in the Financial Services

Supporting Enterprise Architecture Methodologies at KPMG with the Use of Extensible Markup Language (XML) Tools and Technologies.

David vun Kannon <vunkannon@kpmg.com>
 PDF version    Latest version   

ABSTRACT

Representing enterprise object models in XML is a key leverage point for Model Driven Architectures in the financial services. The key idea of our work is that code generation is essentially a transformation from one representation of an object model to another. To accomplish these transformations of representations, it is important to choose a tool that is appropriate. The most appropriate transformation tool available today is XSLT. This presentation talks about our our approach application development, including the use of UML state charts, use case diagrams and sequence diagrams to create detailed user interface components.

Table of Contents

1. Introduction

The frequent use of the word architecture in the world of information technology presupposes an appreciation of the need to plan large projects, and not begin haphazardly wherever chance allows. This same appreciation used to be represented by the use of the word engineer. The earlier errors can be caught, the easier and cheaper it is to fix them.

Just as architects communicate their vision of a building through a set of blueprints, information architects have adopted a visual language, Unified Modeling Language (UML), the Unified Modeling Language, to communicate a system model in a visual way. The graphic nature of UML is a strength when the language is used to communicate ideas to humans. Our sense of sight is our strongest sense, after all.

Unfortunately, computer systems do not share our strong visual sense. This has impeded the use of UML models is directly specifying technical deliverables such as source code or other deliverables meant for consumption directly by a system or application. The Object Management Group (OMG), the Object Management Group, which controls UML, has created a standard XML representation of UML to address this problem.

The business benefit of this UML in XML, called XML Metadata Interchange (XMI), is that it allows resources to be shifted from later, costlier stages in the software development cycle into the earlier, cheaper modeling stages. Previously, there was not a reliable, non-proprietary link between modeling and later stages of development. This often meant that models quickly became irrelevant to the actual process of software development.

2. Motivation

One way to accomplish this leveraging is to use modeling tools such as Rational Rose to capture as complete a set of requirements as possible, and to shadow the implementation process, keeping the design documents up to date. Rose includes tools that allow code generation automatically from models. This automatic code generation is very important to leveraging the design documentation and keeping it relevant.

Unfortunately, Rose's internal code generation is "one size fits all." It is a "black box" solution that cannot be customised or tailored. Further, it does not take advantage of all the information available in a well-kept model. It also does not guarantee a consistency of implementation across different tiers of an application.

To address these and other issues with the bundled code generation capabilities of Rose, we have developed our own code generation technology that is more flexible and open. This technology is an application of XML to the area of object modeling and code generation.

3. Methodology

The key idea of our work is that code generation is essentially a transformation from one representation of an object model to another. A typical three-tier business application is made up of a User Interface layer, a Business Logic layer, and a Persistent Storage layer. The User Interface is the appearance of the application, collecting user demands and relaying results from the layers that perform the work. The Business Logic operates on data as directed by the user. The Persistent Storage layer maintains the memory, or state, of the system over time.

In each of these layers, there are representations of the objects in the underlying model. User interface forms, for example, capture the attributes of object instances. Data structures in the programs of the Business Logic receive the information captured by the interface, and tables in a Persistent Storage database store that same information for later use. So the object model shows up in each layer.

In addition, the shuttling of data between each representation in each layer has its own representation of the objects, a transmission representation. There is also a certain amount of programming that just moves data out of one representation into another representation, without actually performing "useful work" in the sense of pushing forward the business goal of the application.

All of these representations and transformations are tied directly back to the object model of the application, which in turn should relate directly to the object model of the business.

4. Analysis

To accomplish these transformations of representations, it is important to choose a tool that is appropriate. The tool (Visual Basic scripting) that Rose offers is inappropriate. The most appropriate tool available today is Extensible Stylesheet Language Transformations (XSLT), the transformation language component of Extensible Stylesheet Language (XSL), the eXtensible Stylesheet Language.

To make use of this XSLT technology, it is first necessary to bring the UML model into an XML representation, such as the OMGs XMI. Our work at KPMG uses a representation similar to XMI, and we can transition to XMI when it becomes available in tools.

Once an object model has been brought into XML, it is possible to apply transformations to it. We have created stylesheets that create the following different kinds of representations automatically: XML Schema and Document Type Definition (DTD)s for transfer syntax, Java and Visual Basic source code, Structured Query Language (SQL) table definitions, Lightweight Directory Access Protocol (LDAP) object schemas, HyperText Markup Language (HTML) forms and Active Server Pages (ASP) scripts. These diverse targets can be woven together into applications quickly.

Another recent development has been the creation of a set of tools to transition legacy data representations, such as COmmon Business Oriented Language (COBOL) copybooks, into the UML object model representation. The further refinement of this capability will vastly improve the documentation of legacy applications and improve the coordination of new development with current systems. This is the start of the "round trip engineering" part of code generation, the backing out of an object model from pre-existing source code. The next phases of our work will focus on round tripping, and ways to bring metadata from existing sources into the object model so that it can be leveraged in as many other ways as possible.

5. Further Work

There are many areas still to be explored, and we expect that the use of our tools and technologies on working engagements will reveal others. We are actively pursuing the use of UML statecharts, use case diagrams and sequence diagrams to create detailed user interface components. We are attempting to leverage sequence diagrams in source code generation. We also look forward to building application instrumentation via LDAP. Any one of these would be a significant advance over the state of the art in what is possible to create automatically from the object model. Together, they form a qualitatively different way to approach application development.

6. Application to Financial Services

KPMG has applied this methodology to important projects within the financial services industry. In each case, the key technical deliverable was the transfer syntax definition, whether DTD or XML Schema.

The first project was the design of a message architecture for the Global Straight Through Processing Association (Global Straight Through Processing Association (GSTPA), ). This consortium addresses the needs of cross border securities trading and settlement. After the execution of a securities trade, numerous instructions pass back and forth between the parties detailing the process of exchange of monies and securities. In a cross border environment this process is complicated by concerns over multiple languages, currencies and legal jurisdictions.

The next project was the design of the eXtensible Business Reporting Language (XBRL) specification. XBRL is the eXtensible Business Reporting Language, a language designed to enhance business and financial reporting. All forms of accounting and financial data can be represented using XBRL. The goal of the consortium sponsoring XBRL was a language that could represent financial facts for any business around the world, operating under any set of accounting principles.

Most recently, KPMG worked with the Research Interchange Markup Language (RIXML) consortium to create the RIXML specification. This language covers the area of investment research, documents written to provide an investment opinion or outlook on specific instruments (stocks, bonds, etc.), companies, governments, industrial sectors, geographic regions or markets and economies in general. A huge amount of research of an amazing variety is produced every day, and it must be routed, filtered and consumed by those companies which invest money in the financial markets. The first version of the RIXML specification deals primarily with the metadata attached to investment research documents. Subsequent versions may introduce markup to the text of the documents directly, perhaps by leveraging other markup languages such as News Markup Language (NewsML) for the text, and XBRL for the data.

Glossary

ASP

Active Server Pages

COBOL

COmmon Business Oriented Language

DTD

Document Type Definition

GSTPA

Global Straight Through Processing Association

HTML

HyperText Markup Language

LDAP

Lightweight Directory Access Protocol

NewsML

News Markup Language

OMG

Object Management Group

RIXML

Research Interchange Markup Language

SQL

Structured Query Language

UML

Unified Modeling Language

XBRL

eXtensible Business Reporting Language

XMI

XML Metadata Interchange

XML

Extensible Markup Language

XSL

Extensible Stylesheet Language

XSLT

Extensible Stylesheet Language Transformations

Biography

David vun Kannon
KPMG Consulting Inc.
Financial Services Consulting
New York
New York
USA
Email: vunkannon@kpmg.com

David vun Kannon - David vun Kannon is a senior manager in the Financial Services practice. He is responsible for the information architecture for projects developed within Financial Services that highlight the technology expertise of KPMG Consulting and the close relationship we have with our strategic partners in Electronic Commerce applications for the Financial Services line of business.