patterns & practices Speeds .NET Framework Adoption and Time to Market for Custom House

 

Company Overview

Custom House is the largest independent foreign exchange broker and payment solutions provider in North America. Over 45,000 clients entrust their global foreign exchange management to Custom House.

Custom House has been providing customers with superior foreign exchange solutions since 1992. Trading specialists around the world actively monitor the world currency markets 24 hours a day, seven days a week.

In 2004, Custom House will handle over 10 billion dollars from over 75 trading offices operating in Australia, New Zealand, the United States, and Canada.

Partner Profile

SchemaSoft Software, Inc. (SchemaSoft) is a custom software development services company with a well-honed software engineering methodology, and an established reputation among the world’s top application vendors such as Microsoft, Apple, and Adobe. SchemaSoft’s .NET division specializes in application architecture and .NET migration strategies. With over 15 years' experience delivering on-time, on-budget projects, SchemaSoft helps companies reduce cost of ownership through decreased time to market and savings from high-performance systems.

 

Situation

Custom House was in a race with competitors to differentiate its e-business solutions. Prior to installing the .NET Framework and Visual Studio .NET, the Custom House computing environment consisted of foreign currency exchange programs that were developed primarily using 4GL databases and Perl CGI for Web access. Early versions of these applications were developed in approximately one man year. However, 10 years of extending, upgrading, enhancing, and maintaining the applications had made further enhancement next to impossible. Applications were becoming more costly to maintain and support for the old tools was waning. Custom House determined that continuing to develop in this environment was not an option.

Together with SchemaSoft, Custom House did a comparative analysis of J2EE and .NET Framework technologies. The analysis showed that the .NET Framework would provide better development productivity, faster time to market, lower cost, and better performance and security. Integration with existing office systems as well as concerns over long-term licensing, maintenance, standardization, and complexity of the software environment all contributed to the selection of the .NET Framework. Additionally, the .NET Framework and Visual Studio .NET provided built-in features and functions for the development of secure applications and facilitated the adoption of automated software builds and continuous integration. Custom House's choice of Microsoft SQL Server as the preferred database also contributed to their decision.

Custom House treated the following concerns about the .NET Framework as risks: the perception that the .NET Framework was new and relatively unproven, the learning curve for the staff would be steep, and the reliability of the new approach may not measure up. SchemaSoft provided examples which shortened the learning curve for in-house developers. They also provided reviews of developed code, consulting in best practices, and mentoring for development staff. As a result, none of these perceived risks materialized.

 

Solution

Custom House, in partnership with SchemaSoft, developed a new online system for foreign exchange payment, called Vista, which is built on the .NET Framework. The team used Microsoft patterns & practices and test-driven development to reduce the development time by more than 50%.

VistaOnline Currency Trading and Foreign Payment System

Vista provides online currency trading and foreign payment functionality to Custom House currency brokers and their clients. Vista allows customers to request foreign currency payments in seconds without leaving their workstations. The new online system replaces a time consuming and largely manual business process with a highly automated and efficient process.

Vista includes back office functions such as a connection with live currency exchange rates feeds and integration with Custom House treasury and banking software. It also integrates with customer accounting software, so that accounts payable departments can efficiently process large volumes of foreign currency payments to multiple beneficiaries from Vista's single point of entry.

 

Solution Architecture

To create the solution architecture, the development team followed Microsoft patterns & practices because they support the key design drivers of security, reliability, and scalability. The team separated the presentation tier (Web server) from the business logic tier (application server) to improve security, reliability, and performance. The three-tiered architecture allows for better scalability as well. To plan for the hardware configuration for each tier, the team monitored server capacity for the existing network and database and used equivalent hardware.

The team chose the three-tiered architecture because it is a well-proven standard approach for enterprise applications. It provides an initial framework for the application’s logical layers. Logically, they designed additional layers deployed on the same tier (for example, data access layer on the application tier). This logical grouping helped them to encapsulate the functionality better and reduce system complexity and component interdependence.

The following Microsoft products and technologies were used as part of the solution:

  • Windows XP
  • Visual studio .NET
  • MSDN
  • Microsoft Office
  • .NET framework
  • MS Project
  • MS SQL server
  • SQL Notification Services
  • Server 2003 (for production servers)
  • IIS
  • IE and IE Web Controls

 

Solution Metrics

  • Number of developers to build application: resource profile averaged for past 2 years = 4
  • Number of months to build application: Version 1.0: 6 months; Versions 2.0, 2.1 and 2.2 combined: 9 months; Version 3.0: 4 months
  • Number of transactions or users: approximately 350 client users and 50 internal users; expected to reach 25,000 in a year.
  • Size of database: Approx. 4 GB
  • Number of servers required to run the application: 3
  • Number of client systems running the application: approximately 350, and doubling every 2 months.
  • Availability (uptime): 24 hrs./day, 7 days/week
  • Performance metrics: automated upload with 10 concurrent logins, containing less than 100 payment requests, is processed in 1.1 seconds per payment request. This performance exceeds the needs of users.
  • Amount of money saved: generation of new business approaching 20% of corporate revenue.

 

Results

350 clients worldwide, including several Fortune 500 companies, now use Vista and the number of clients is doubling every two months. No other product on the market can match Vista’s flexibility and performance due to the product’s innovative and flexible architecture. Product features improve customer efficiency and offer the maximum amount of customization.

Benefits to the Business

Custom House is deriving the following benefits from the new Vista system:

  • Increased business opportunities. Vista is a unique offering in the market that ideally positions Custom House to dominate small and medium-sized enterprise markets, while at the same time expand and develop new channels with Fortune 500 companies. Patent law firms, insurance companies, universities, and financial institutions are Custom House's fastest growing industry segments. Vista provides an entirely new revenue stream for the company, which is predicted to grow exponentially in the next few years.
  • Increased company revenues. Vista has enabled Custom House to move into larger markets, to increase company revenues by up to 20 percent, and to position the company as an emerging market leader.
  • Streamlined processes. Before the introduction of the system, customers did many transactions over the phone, which resulted in redundant and not very reliable documentation. Now, clients can do more themselves, and this reduces the load on internal staff. The new .NET Framework system has increased currency traders’ (internal end users) productivity and the overall capacity of the company.
  • New dynamic reporting capabilities. Vista offers the best dynamic reporting capability in the industry.
  • Lower system maintenance costs. Custom House estimates the cost of maintaining Vista is perhaps one-fourth the cost of maintaining their legacy applications.

 

Benefits to Customers

Custom House identifies the following benefits to customers who have switched from the old telephone-based system to Vista:

  • Faster order handling. Custom House estimates that the users of the new system can handle their foreign exchange payments three times faster and with increased security and more reliable documentation.
  • Audit trail to correct errors. When a transaction error occurs, the .NET Framework application provides an audit trail allowing Custom House to determine what went wrong and take corrective action. The ability to audit transactions was not available in the legacy system.

 

Advantages of Using the .NET Framework

Custom House identifies the following as the major advantages of using the .NET Framework:

  • Provides a very efficient, easy-to–use, and highly integrated development environment that covers design, development, testing, and deployment;
  • Provides a rich set of pre-built, ready-to-use functionality;
  • Provides a sound architectural model for the application, together with tools for integrating different components and application into one system;
  • Increases the productivity of developers thereby improving time to market.

 

Benefits of Using patterns & practices:

Microsoft patterns & practices became a cornerstone of the project. Test-driven development organized the development team's process and cut development time by more than 50%. The extensive use of application blocks and patterns saved a significant amount of work, while providing proven solutions of very high quality. The parts of the project written “outside” of those patterns were also influenced by the style and “micro-patterns” found in the code. Junior people on the team were able to become very productive in this environment.

Specific patterns and practices used include:

  • Layered architecture
  • Four tiered distribution
  • Brokered with .NET Remoting using client activated objects
  • Data Transfer Object with DataSet
  • Singleton
  • Observer
  • Test Driven Development (TDD)
  • User Interface Process Application Block version 2.0
  • Exception Management Application Block for .NET
  • Data Access Application Block for .NET.

 

SchemaSoft pioneered the .NET development for Custom House applications and they convinced Custom House to use the .NET Framework. Developers were educated on the concepts through SchemaSoft mentoring, Microsoft-provided online reference materials, and .NET reference books. Microsoft patterns & practices code was used in its entirety without modification. This ensured that Microsoft-provided updates to such code could be immediately integrated and used, if desired, without integration issues.

 

Benefits of Key Patterns & Practices

The following patterns & practices were the most beneficial for this project:

  • User Interface Process Application Block Version 2.0. The development team used the MVC pattern to abstract control flow from user interfaces. The pattern allowed them to make UI code transparent, easy to maintain, and easy to change.
  • Exception Management Application Block for .NET. Unified exception handling throughout the system saved a lot of time in development and debugging, and allowed them to rapidly add extra reporting of run-time errors during later stages of development and deployment.
  • Data Access Application Block for .NET. Use of this application block provided easy access to DB Queries simplifying development. The Data Access Application block also provided performance improvements.

 

Benefits

The greatest benefits of using Microsoft patterns & practices materials in the project were:

  • Increased development productivity. Patterns & practices contributed to the ability to achieve rapid delivery (conservatively at least 2 times faster) to market.
  • Increased reliability of the code. Use of best practices and proven code reuse increased code quality and educated developers. The resulting production code is very reliable. Custom House has had no unscheduled outages due to application failures in over 18 months of continuous operation.

 

For More Information:

For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234 in the United States or (905) 568-9641 in Canada. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to: www.microsoft.com.

For more information about SchemaSoft Software, Inc. products and services, call 604.682.3404 or visit the Web site at: https://www.schemasoft.net. [Note: since this case study was publlished, SchemaSoft Software Inc. has been aquired and their web site is no longer available.]

For more information about Custom House Global Foreign Exchange products and services, call (250) 995-2440 or visit the Web site at: www.customhouse.com.

© 2004 Microsoft Corporation. All rights reserved.

This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

 


Top of PageTop of Page