Microsoft .NET
Customer Solution Case Study
/ / Fidelity Information Services Saves 18 Months, $4 Million in Migrating Loan Software
Overview
Country or Region:United States
Industry:Financial services
Customer Profile
Fidelity Information Services—Empower Division, headquartered in Jacksonville, Florida, is a subsidiary of Fidelity National Financial, a Fortune 500 company.
Business Situation
Fidelity wanted to boost the scalability, flexibility, and Internet capabilities of itsflagship loan origination software, Empower, in order to address larger markets.
Solution
Working with Avanade and Microsoft® Services, Fidelity migrated Empower from a Delphi platform to a service-oriented architecture based on the Microsoft .NET Framework.
Benefits
Revenue projected to increase by up to U.S.$30 million
Scalability up by 100 percent, to 10,000 users
Cost per loan to decline by $200
Time-to-market cut by 18 months and $4 million / “By reengineering Empower to a service-oriented architecture, we’ve made it possible for our clients to easily integrate it with their existing infrastructure, add new services, and connect with partners.”
David Spies, Senior Vice President and Chief Software Architect, Empower Division, Fidelity Information Services
Fidelity Information Services wanted to make its flagship loanorigination software, Empower, fully Internet enabled and more scalable, as well as make it easy to integrate with a customer’s other systems and easy to customize with new and additional services. To meet those objectives, Fidelity worked with Avanade and Microsoft® Services to migrate the Delphi-based solution to a service-oriented architecture running on the Microsoft .NET Framework. Today, Empower supports a range of Internet-based front ends, including smart clients, Web browsers, Web services, and external services. The .NET-connected Empower is expected toboost revenues for Fidelity by up to U.S.$30 million, and its development has already shaved 18 months and $4 million off the time and cost of developing on an alternative platform.

Situation

Fidelity Information Services, a subsidiary of Fidelity National Financial, processes nearly 50 percent of all U.S. residential mortgages and has clients in 60 countries and regions. The company provides application software, information-processing management, outsourcing services, and professional IT consulting to financial services and mortgage companies. Its flagship mortgage-processing product is Empower, the world’s market-leading mortgage loan origination software. The software covers virtually every aspect of the home-purchasing and loan-servicing life cycle, from loan application through secondary marketing, and includes connections to loan servicing, appraisal, title, credit, and other services.

When Fidelity Information Services first brought Empower to market, the company had been very cautious in its approach to the Internet and so deployed Empower as a traditional client/server application. “At the time, we didn’t feel that the technology was available to support our type of application effectively on the Internet,” says David Spies, Senior Vice President and Chief Software Architect for the Empower Division at Fidelity Information Services. “Stories of failed implementations within our industry proved our decision to be sound.”

But as Internet technology evolved, the company’s clients increasingly expressed interest in being able to access their data and services over the Internet and intranet. The time was right for Fidelity Information Services to create a distributed application version of Empower.

“But we couldn’t get there with the technology we had,” says Spies.

That technology was based on the Delphi development environment. Fidelity Information Services had used Delphi to write the scripting language, forms designer, and workflow designer that its clients used to customize the solution for their company-specific forms and workflows. But an increasing portion of Fidelity’s market lackedthe resources to work on the Delphi platform, so the technology was becoming a marketing liability. New features were coming out for Delphi after they were available on competing platforms, and Spies and his colleagues were worried about the future of support for the environment.

Spies and his colleagues also thought that Delphi was unsuited for the Internet-based version of Empower that they wanted to create. Although a simple Web-browser interface would be appropriate for some remote users, Spies and his colleagues wanted to create a smart client application that would provide more features than a traditional browser—such as being able to work in offline mode—yet take advantage of the Internet for continual updating.

Fidelity also wanted to give itscustomers a loosely coupled service-oriented architecture (SOA) that allows disparate applications to securely “talk” to one another without needing to know the technical details of the applications with which they exchange data. Because the SOA approach makes a solution more adaptable than those with traditional, hard-coded integrations, it would give Empower the flexibility to accommodate therange of engines, workflow processes, and updates that clients might choose to use with the solution.

The SOA approach was especially important because it would help Fidelity Information Services penetrate a particularly attractive potential market: the top 25 financial institutions. Those institutions often maintain legacy mainframes, such as the AS/400. A SOA approach would allow them to pull data from the mainframe for use with Empower. Fidelity felt that Delphi could not easily support this architecture.

Solution

Fidelity Information Services knew that it wanted a service-oriented architecture and that it wanted a more standardized and powerful platform than Delphi, but it had choices to make. The company considered but rejected the Java 2 Platform Enterprise Edition (J2EE) in favor of the Microsoft® .NET Framework version 1.1, an integral component of the Windows® operating system that provides a programming model and runtime for Web services, Web applications, and smart client applications.

“Because we are a Microsoft shop, that is, we develop using Microsoft technologies, the .NET Framework was a natural fit for us,” says Spies. “There were similarities between Delphi and components of the .NET Framework that we knew would make it easy for our developers to adopt the Framework. The object model, for example, was very similar. Java would have been a total paradigm shift. When we saw the available accelerator tools for Microsoft .NET development, our decision was made. Our development effort would have taken 50 percent longer with Java than it did with the .NET Framework.”

Nevertheless, in August 2003, when Fidelity Information Services decided to embark on the re-creation of its solution using the .NET Framework, its developers had no experience in that environment. To ensure a smooth development process, as well as to gain the knowledge transfer that Fidelity wanted in order to maintain and enhance the solution using in-house expertise in the future, the company turned to Microsoft Gold Certified Partner Avanade and to Microsoft Services.

Fidelity Information Services first considered simply porting its Delphi code to the .NET Framework, rewriting the syntax to support the Framework. But after conducting an analysis with Avanade, the company decided that the way to create the new SOA approach, as well as to take maximum advantage of the capabilities of the .NET Framework, was to rewrite the solution using the Microsoft Visual C#® .NET 2003 and Visual Studio® .NET 2003 development systems.

“The .NET Framework has functionality that’s very important to our clients—for example, in the area of security,” says Spies. “Given the demand in our market for secure applications, it was in our interest to take maximum advantage of that Framework functionality, to provide security that’s inherent within the application rather than tacked on. Rewriting the application with the .NET Framework in mind, and using the highly productive Microsoft tools, was the way to go. It would also give us a solution that we could work with for many years to come.”

To facilitate knowledge transfer during the implementation, Fidelity Information Services and Avanade instituted a series of small, four- to six-person teams, each including at least one Avanade developer. That person was a conduit for Avanade’s expertise with Microsoft .NET connection software who passed information to the rest of the team and called upon additional Avanade resources when appropriate. Another key Avanade resource was Avanade Connected Architecture for .NET (ACA.NET), which extends the Microsoft tool set to further speed development, increase reliability, and reduce costs.

To help kick off the project, Fidelity Information Services turned to Microsoft Services for a formal training session on the .NET Framework. Microsoft Services consultants also provided a pair of architecture design reviews, in October 2004 and June 2005, to offer specific guidance on how to create the .NET-connected version of Empower.

Microsoft conducted the initial design review after Fidelity Information Services and Avanade had been in development for the new solution for a year. During the four-weekreview, the Microsoft Services consultant helped the development teams with a range of security-related issues, including defining the principal user object and setting up user controls for security resources. She advised the teams on the use of enterprise templates to enforce security policies on projects as those projects were added to the solution. This first review also covered data input/output issues, such as data paging, to facilitate throughput.

The second Microsoft architecture design review examined in detail one of the most important components of the solution: the “feature product and pricing engine,” which is used in the mortgage industry to provide pricing for various mortgage products. By providing guidance on creating this engine, the Microsoft Services consultant helped Fidelity ensure the scalability of the solution.

The consultant also advised on ways to ensure that the engine could be easily migrated to the next version of the Windows operating system, Windows Vista™ (formerly code-named Windows “Longhorn”), as well asto the forthcoming Microsoft connected services technologies code-named “Indigo” and presentation system technologies code-named “Avalon.” Fidelity Information Services also took advantage of its relationship with Microsoft by load testing the solution at the Microsoft Technology Center.

The new, .NET-connected version of Empower implements the SOA approach by including a variety of front ends (smart clients, Web browsers, Web services, and external services) that are all capable of connecting toappropriate subsets of business logic in the application tier, which then interact with acommon loan database and document repository. The solution uses .NET Remoting and Web services to interoperate among component services. (See the “Solution Architecture” section later in this document.)

Benefits

Thanks to its migration of Empower to the .NET Framework, Fidelity Information Services expects to improve the performance, availability, and scalability of its solution, boosting the solution’s attractiveness to top clients and increasing corporate revenue. Already, .NET-connected technologies have enabled the company to speed time-to-market and cut development costs.

Increased Client Acceptance May Boost Revenues by U.S.$30 Million

The .NET-connected version of Empower addresses the market-limiting factors that Fidelity Information Services experienced with its Delphi-based product, according to Spies.

“By reengineering Empower to a service-oriented architecture, we’ve made it possible for our clients to easily integrate it with their existing infrastructure, add new services, and connect with partners,” says Spies. “They can distribute these operational systems across machines to improve performance, availability, and scalability—Empower will support up to 10,000 users, double the number it supported previously. They also can integrate it with a legacy mainframe or Web site.”

Some of these capabilities mean lower costs for Fidelity Information Services clients. For example, Spies notes that, by using a standard data exchange format and protocol, Empower can better ensure data integrity andtrim $200 off the cost of processing eachmortgage loan. Other capabilities can help the company’s clients to earn higher customer satisfaction ratings from their customers. For example, because a pricing engine used in Empower can also be used by a client’s consumer Web site, a client—e.g., a bank or other lender—can ensure that its potential customer sees the same rate information on a loan application generated through Empower and on marketing information contained on the Web site.

Beyond the benefits of specific capabilities, there is the inherent benefit of being part of the .NET-connected community. “Our clients want us to be on the .NET Framework,” says Spies. “They were concerned about acquiring the resources and expertise to work with our Delphi-based tools and software. There is an immense community of developers, products, and resources for the .NET Framework that they can take advantage of.”

The new version of Empower will be a more compelling offering to the top 25 financial services companies, according to Spies. “Because the .NET-connected Empower addresses the concerns and meets the needs of the largest companies in the industry, we expect to be able to make several sales per year into this segment that we couldn’t make before.” Because a single sale could bring Fidelity several million dollars, the business impact of the .NET-connected Empower could be up to $30 million per year in additional revenue for the company.

Faster Time-to-Market Saves $4Million

Although the revenue impact of Empower has yet to be determined, Fidelity Information Services has already seen savings of $4 million by bringing the .NET-connected Empower to market faster, and for less money, than it could have otherwise.

Spies estimates that the Microsoft architecture design reviews—by pointing his company’s developers on the right track on a variety of key issues—cut development time by up to 18 months, accounting for the $4 million in savings.

In addition, Avanade estimates that it is saving Fidelity another three months, thanks to its use of ACA.NET as well as the .NET Framework, Visual Studio .NET, and related Microsoft technologies.

“Because the .NET Framework contains an enormous amount of functionality in its class libraries and other components, much of the structure for Empower is already built,” says Bob Erickson, Senior Practice Director, Avanade. “Similarly, Fidelity gets the benefit of the ACA.NET Framework, which is based on up to 15,000 hours of development. All of the ACA.NET components we use are components that don’t have to be created anew for Fidelity.”

Solution Architecture

Because the Fidelity Empower solution must be customized by each Fidelity client to suit its range of users and business processes, the solution must be tremendously flexible. The solution uses a service-oriented architecture to provide that flexibility, including a range of presentation tier alternatives, application logic components, and databases.

The Technologies

Empower is based on a variety of Microsoft and Avanade components and technologies. (See Figure 1.)

Empower is based on key technologies of the Microsoft Windows Server™ 2003 operating system platform, including Windows Server Internet Information Services (IIS), Message Queuing (also known as MSMQ), Windows Management Instrumentation (WMI), and the Active Directory® service. Windows Server is the foundation of Microsoft Windows Server System™ integrated server software.

The solution relies on Microsoft .NET Framework components including the Common Language Runtime (CLR), which runs the code and provides services that make the development process easier. Components of the .NET Class Library that the solution uses include Microsoft ADO.NET for database access and Microsoft ASP.NET for the presentation layer.

The solution also makes use of Microsoft Patterns and Practices application blocks, which are reusable subsystem designs that address common technical challenges across a range of scenarios. In particular, the solution uses the User Interface Process (UIP) Application Block and Updater Application Block 2.0. The UIP block pulls the control flow and state management out of the user interface layer into a user interface process layer. Empower uses the UIP block to aid in the decoupling of the presentation tiers so that, for example, an ASP.NET Web Form will be pushed to the Web-based user while a Windows Form will be pushed to the smart client user. The Updater block detects, downloads, and applies client application updates from the document template repository, keeping the smart client application up-to-date automatically.

Avanade’s key technology contribution to the solution is the Avanade Connected Architecture for .NET (ACA.NET), which extends the features of the Microsoft .NET Framework and Visual Studio .NET. ACA.NET provides components for enhanced security, caching, and logging, among other features. Caching, for example, is crucial for optimizing performance with a data-intensive application. But caches can quickly become out-of-date as the product details they contain are updated or changed. Forms that pull information from that outdated cache will be invalid. The caching technology in ACA.NET enables cache coherency—the ability to maintain cache validity with a complex, changing database. The ACA.NET cache validity service automatically scans the cache at an interval configured according to how frequently the specific information changes. The service then replaces outdated information with updates from the database.