TIMESCAPE ENTERPRISE SOLUTIONS WHITE PAPER Increasing development productivity with TimeScape, Microsoft.NET and web services This white paper describes some of the major industry issues limiting software development productivity. It then describes how web services, the.net Framework and TimeScape combine to address these issues and successfully deliver enterprise data management functionality in timeframes that meet and in many cases exceed business expectations. November 2003
Table of contents Table of contents...2 Introduction...3 The need for web services...4 What is the.net Framework?...6 TimeScape enterprise data management...8 Example case studies... 10 Summary... 13 Page 2
Introduction The financial markets form a very fast moving industry, one where technology requirements are constantly changing and evolving in order to meet market needs and maximise profitability. Almost all institutions within the financial markets are under increasing pressure to deliver products and services to clients in shorter timeframes, with fewer resources and under tighter budgetary constraints. Given the pressures outlined above, Xenomorph has designed its TimeScape enterprise data management suite to address many of the industry-specific issues found in financial markets. For example, TimeScape enables easy consolidation, comparison and analysis of multiple sources of market and reference data. TimeScape also facilitates rapid development of tactical business functionality by traders and risk managers, whilst providing an easy and scaleable migration route for IT to deploy business functionality across the financial enterprise. Whilst TimeScape addresses many business and technical issues that are specific to financial markets, the underlying process of software development across all industries remains a relatively immature one. A key example of this immaturity is that many low-level technical issues such as data formatting, networking and integration can often greatly exceed the effort expended on delivering the business functionality desired. Issues such as these inhibit development productivity, and in so doing cause costs to rise and valuable commercial opportunities to be missed. Web services, and related initiatives such as the Microsoft.NET Framework, hold the potential for increasing development productivity by successfully addressing many of the low-level technology hurdles currently faced by software development teams. In addition to these productivity benefits, web services can also deliver competitive advantage through the provision of highly sophisticated, highly interactive web experiences to business partners and clients. This paper illustrates how clients can benefit from the addition of web services and.net interfaces to the enterprise data management and analysis functionality of TimeScape. The resulting data management environment enables clients to deliver business functionality more productively and at lower cost than ever before. As a result, technologists are able to spend more time on business delivery, and commercial objectives can be achieved ahead of the competition. Page 3
The need for web services Development productivity The overriding aim for corporate software development should be to deliver business benefit in the form of reduced costs, competitive advantage and increased profitability. Whilst this should be the objective, the reality is often different. From a business user s perspective, software development can at times seem to be almost an aim in itself. Business users can often become frustrated at how much effort is expended by systems staff on discussing abstract technical issues such as data models, systems architecture and integration, with the actual business functionality seemingly being relegated to a lower priority by development teams. In fairness to the teams involved in major software development projects, issues that may superficially seem simple to the non-technologist can present major technical hurdles before business functionality can be addressed. Issues such as agreeing a format for exchanging data, how to integrate and communicate with other systems and how to reuse existing software libraries can become major obstacles to development productivity. Web services have the potential to transform these significant technical hurdles into relatively minor background considerations that enable the development team to focus on delivering business functionality in timeframes that meet and in many cases exceed business expectations. What are web services? Web services bring the concept of simple, rapid, building block development and deployment of applications and systems closer than ever before. The technical definition of a web service is A programmable application component accessible via standard web protocols Expanding upon this technical description, the main features of web services are that they use Internet standards for communication (HTTP, SMTP) Internet standards for data formatting (XML) As a result, little effort needs to be expended on data communication and compatibility with existing networks and security policies can easily be built in. Additionally, the XML markup-language provides a universal and self-describing format for conveying and exchanging structured data. Put in other words, XML contains not only the data, but also the meaning and context of the data being communicated. The most common protocol for the implementation of web services is SOAP (Simple Object Access Protocol). Due to this open, standards-based approach web services based on SOAP can be Developed in any language on any platform Accessed in any language on any platform Using web services based on SOAP, development teams can choose the most appropriate programming language or languages for each project. Page 4
As is shown in Figure 1) below, web services can be consumed directly by a client and also be used to augment existing user experiences delivered in HTML. Moving on from traditional client-server access, peer-to-peer access allows clients to exchange data with other clients and indeed one web service can consume others to deliver more sophisticated, composite functionality. Figure 1) Web services as development building blocks Another key aspect of the productivity that web services bring to software development is that they are self-describing in nature. Web services based on SOAP can Describe themselves and the functionality they expose (WSDL) Publicise their presence and availability over the Web (UDDI) Many programming languages, and as a result many systems, do not make it easy to see what functionality is available, where it can be found and how it can be used. This is a major inhibitor to code reuse and development productivity. Web services address these issues through adherence to common standards such as WSDL for defining the specifics of the functionality and data being made available from a particular service, and UDDI for publicising a description of the service to the web. UDDI publicises a rich directory of web services available over the web, allowing clients and partners to interact with and combine different services to meet specific business needs. In summary, web services based on SOAP allow developers to produce extremely powerful business applications, more simply, with shorter timeframes, higher flexibility and less effort. In doing so, developers are able to spend less time on fundamental technical issues and more time on delivering business benefit. Page 5
What is the.net Framework? Introduction One of the key things about web services is that they enable much richer webbased applications than is possible within the box of a web browser. Web services enable the client to process, aggregate and present data on the client. Microsoft have essentially taken this on to the next stage with the Microsoft.NET Framework, allowing developers to combine the best of the web services (universal access to information and functionality) with the best of Microsoft Windows (rich, powerful applications). What is the.net Framework? It is a set of technologies that Combine and leverage existing applications and functionality Make information available anytime, anywhere Simplify development and deployment The following sections illustrate the main aspects of the.net Framework. Web services The Microsoft.NET Framework is Microsoft s vision of the future platform for web services. The.NET Framework has been designed from the ground-up around the concept of simple development of powerful web services and their consumption within a highly productive application development infrastructure. Common Language Runtime The Common Language Runtime (CLR) is a fundamental part of the.net Framework. The CLR exposes a massive set of standard programming services to developers, with the aim of addressing painful technical issues such installation, registry management, DLL management, object lifetime and garbage collection. Multi-language development The CLR provides a means by which multiple programming languages can be used and combined in development under the.net Framework. The CLR allows easy code reuse and choice of the best programming language for each task undertaken. Multi-platform development Taking this platform independence of web services a stage further, the insulation provided by the CLR means that.net components are future proof since they themselves are not tied to any particular platform. For example, code written in the.net Framework for 32-bit deployment is ready to run on 64-bit Windows. Page 6
Figure 2) An overview of the Microsoft.NET Framework ASP.NET ASP.NET is the logical extension of Microsoft Active Server Page (ASP) development of html-based applications. ASP.NET code is compiled for high performance, is strongly typed, supports multiple language development and code can be cleanly encapsulated behind each web page. ASP.NET also supports a control based, fully event-driven execution model for far simpler web site development. Windows forms As a richer alternative to browser-based applications, Windows forms allow rapid development of Windows client applications within the.net Platform. Windows Forms offer full support for web services, ADO.NET and easy, language neutral user interface development. ADO.NET and XML data access ADO.NET is an evolution of Access Data Objects (ADO), Microsoft s core technology for accessing data. ADO.NET addresses issues such as state, disconnected and connected data access, scaleability and is designed explicitly for XML compatibility. ADO.NET also introduces new and powerful data objects such as DataSets. Easy installation and deployment Installation of.net based software packages will ordinarily require nothing more than copying files to a location on disk. Issues of registry management and DLL version management have been addressed, greatly simplifying the issue of systems deployment for developer and infrastructure manager alike. Rich development tools and user applications Visual Studio.NET provides an excellent Integrated Development Environment (IDE) for software development within the.net Framework. In addition to these very powerful development environments, many of Microsoft s end user applications, such as the Microsoft Office System, are being designed with access to web services for non-technologists as a key aim. Page 7
TimeScape enterprise data management Introduction Whilst the benefits of web services and.net will improve development productivity across all industry sectors, Xenomorph has itself been designing its TimeScape data management and analysis solutions to address key issues affecting development productivity that are particular to financial markets institutions. Key data management issues Many financial markets institutions face major issues including Trading needs that evolve and expand in extremely short time frames Commercial pressures to automate process and reduce costs Regulatory changes demanding high quality market and reference data The need to exchange data across both internal and external systems The operational risk and control of spreadsheet proliferation Ever more sophisticated trading and risk management techniques Increasing complexity of new financial instruments The competitive need to bring new products to market quickly If not managed correctly, these issues can lead to greatly increased cost, increased risk and lost trading opportunities. TimeScape overview In order to address these issues, financial institutions require a data infrastructure that supports A centralised, consistent framework for data management Connectivity to existing data, databases and systems High performance analysis of time series data Business users being able to build and prototype business functionality Open, consistent programming APIs for rapid application development Rapid integration of proprietary analytics and new instrument data structures A flexible data model capable of supporting any class of financial instrument TimeScape has been designed explicitly with these requirements in mind, providing an open, highly flexible and customisable data management infrastructure that delivers business benefit to all users from the moment it is installed. Page 8
TimeScape technical architecture TimeScape is currently split into three main functional sections. TimeScape Pricing Services is an extensible, scaleable and fault tolerant calculation architecture that allows proprietary financial products to be brought to market rapidly, and meets the need for near-real time portfolio repricing and sensitivity analysis. TimeScape Data Services combines powerful data management and analysis functionality with the data retrieval speed and modelling flexibility of the Xenomorph XDB object-relational database. TimeScape Connectivity Services provides a means by which existing data, databases and systems can be exposed server-side into the TimeScape architecture, allowing clients to leverage their existing data architecture without data duplication. Figure 3) The technical architecture of TimeScape In summary, TimeScape combines the best of Xenomorph s proprietary expertise in high performance data management and analysis with the latest technologies that form the Microsoft.NET Framework, including Windows Server 2003, Microsoft Application Centre 2000, MTS, MSMQ and COM+. Page 9
Example case studies Introduction Web services and.net access to TimeScape means that all of the functionality and data available within TimeScape can now be exploited over the web, as illustrated in the diagram shown below. In addition, all of this data and functionality can be made entirely consistent with that used within trading and risk management departments within the institution, thereby creating a consistent, auditable data management infrastructure that spans internal departments, partners and clients. Figure 4) Enhancing existing services with TimeScape Enhancement of existing client portals and web sites As is shown in the diagram above the data, statistical analysis and pricing functionality of TimeScape can be used to make existing trade execution and research services more dynamic. This allows users to perform sophisticated what-if analysis of data underlying the transaction or trade idea being proposed. As a result, clients are less likely to seek advice from other competing on-line services and more likely to transact upon the trading strategies being proposed from within the institutional portal. Cross platform access to data with SOAP and web services As described earlier, web services can be consumed using any programming language on any operating system and running on any hardware platform. This kind of open, standards based access can be extremely useful with attempting to integrate data from a mixed architecture comprising corporate mainframes, UNIX servers and Windows. In this way it is possible to collect data from existing legacy systems in a consistent and simple manner, and allow these same systems to access new sources of data almost as soon as they are populated within TimeScape. Page 10
Thin-client data management with ASP.NET Combining TimeScape functionality with web development under ASP.NET, means that thin-client data analysis applications can be designed and delivered far more easily and quickly than ever before. Given the consistency of functionality between TimeScape s Excel and.net interfaces, spreadsheets used by traders and risk managers can be used to rapidly prototype business functionality for scaleable, server-side deployment over the Web. Rapid development of trader applications with Windows forms Where functionally-rich Windows applications are required, Windows forms now allows rapid development of TimeScape-enabled trading and risk management applications. In addition to extremely easy GUI design, TimeScape-enabled trading applications developed using Windows forms and.net can be used both locally on the corporate network and remotely over the web, offering new opportunities for remote monitoring and control of trading and risk management processes. Figure 5) Services exposed through TimeScape Mobile access to data, trading and risk functionality One of the key aspects of the.net Framework is that business functionality should be available anywhere and at any time, not just on workstations within corporate networks. The.NET Compact Framework, a subset of the.net Framework, has been designed to facilitate the rapid development of applications for mobile devices such as mobile phones and PDAs. Through the.net Compact Framework, TimeScape data management functionality can be deployed on devices to make your data management environment available in all locations at all times. Page 11
Faster time to market with new strategies and products One issue still outstanding at many financial institutions is that it is often technically difficult to bring new financial products to market in small enough time frames. This is often due to systems limitations in supporting an ever-changing financial data model, linking it to pricing analytics and propagating these changes downstream through related trading and risk management systems. Throughout TimeScape, functionality relating to financial instruments is exposed as a range of services accessed simply through the name of the instrument. This highly decoupled design is consistent with that of web services and means that new financial products can be added to existing web applications without any client-side code changes. As a result, the time for the full enterprise-wide integration of a new financial product/pricing model is reduced to a matter of a few hours or days, which facilitates the rapid and profitable innovation of new products in a very structured and controllable manner. Page 12
Summary Web services and the Microsoft.NET Framework address many of the low-level technical issues that can limit software development productivity. Whilst web services are a very welcome addition to field of software development in general, financial markets is one of the most demanding arenas for software development professionals to work in. Within financial markets, data and its management is a vital cornerstone of operations across all institutions, and in this respect Xenomorph have addressed many industry-specific issues through the design of its TimeScape enterprise data management solutions. Through the combination of TimeScape, the.net Framework and web services, Xenomorph believe that financial markets institutions can greatly increase development productivity, reduce costs and respond more rapidly to everevolving commercial opportunities. 2003 Xenomorph This document can be found at www.xenomorph.com Xenomorph, TimeScape and TimeScape Pricing Services are either trademarks or registered trademarks of Xenomorph Software Limited. All other company, product or service names referred to in this document are used for identification purposes only and may be trademarks or registered trademarks of their respective owners. Page 13