Issue 3.1
 
    First Up   Peer to Peer   Ask the Expert   Poll
     
   
 









 
Banking on .NET
Accelerator Speeds Coding that is Common Currency of Application Function

By David Spies, Fidelity Information Services

"Architecture." It's apt that we technologists have appropriated this word. It conveys intent - and reminds me that we can get terribly attached to what we've built, just as someone might forget that a house is an investment as well as a home.

I'm responsible for the design of Fidelity Information Services' (FIS) Empower! loan origination application suite used by mortgage banks and lenders. After more than two decades, I've found it's imperative to revisit software architecture periodically, and even let go of successful design to embrace the technology that will support the next generation of computing.

Change for the Better
At the same time, Microsoft Windows 3.1 was coming to the fore. Although there were good user interface-based (GUI) operating systems prior to Windows 3.1, this was the platform that put the last nail in the coffin of DOS. Just like everyone in the software development community, we began plans to move all our applications into a GUI environment. There was plenty of clamor within our organization to get a GUI product based upon Windows 3.1 into production.

However, we had learned Microsoft planned to release a new operating system based upon a 32-bit architecture, rather than Windows 3.1's 16-bit architecture. We decided that it would be in our best interest to forego Windows 3.1 and develop for Windows 95. Although we did experience some sales pain in making this decision, it turned out to be the right thing to do, technologically. It also helped catapult us from the position of software provider to very small lending organizations, to premier vendor to the top 200 lenders in the U.S. mortgage industry.

Of course, the Internet's immediate popularity soon prompted debate over “thin” vs. “fat” clients that continues today. We chose to take a more conservative approach to embracing the Internet – it just didn't seem reasonable to rush back to the same dumb-terminal format that characterized mainframe applications. We didn't feel the technology available could support our type of application effectively – and stories of failed implementation within our industry have proven our decision to be sound.

Today, the Internet has evolved to offer a ubiquitous network; XML affords a ubiquitous data exchange format; and Web services and SOAP offer a standard protocol that's widely accepted. We decided this is the right time to make a move toward developing a distributed application – a concept that eluded us in the past, and that now has taken form as service oriented architecture (SOA).

Combining these widely accepted technology standards with new financial services business process standards put forward by the Mortgage Industry Standards Organization (MISMO), along with widespread compliance requirements, we anticipate that larger banks will seek new architectural features in their loan origination systems. We believe SOA will provide lenders and banks a more flexible foundation for the products and services they offer.

That said, we value each and every one of our customers, and they have been happy with the current version of Empower! It is important to us that we help them as much as we can to adopt the new system upon its release. Therefore, we have adopted five commitments to ensure our success incorporating SOA into our software, and in turn, our customers' success in adopting the next version of our application.
  1. Focus on standards.
  2. Dedication to consistent application architecture and function.
  3. Focus on direct and indirect benefits to customers.
  4. Public commitment to specific benchmarks or milestones.
  5. Commitment to platform adoption.
Focus on Standards
FIS's commitment to technical and mortgage banking industry standards has been vital to customer acceptance.
Our focus on technology and business standards has two benefits. It provides for an application that is extensible, scalable and easier to integrate with enterprise and trading partner systems. It also improves data integrity and availability. In addition to trimming data entry, we're looking to streamline procedures that span the enterprise.

We're reengineering Empower! to a service oriented architecture to better facilitate both benefits. The fundamental concept of an SOA is a system assembled from independent, reusable and well-defined collections of functionality (or "services"). Bringing these services together into a coherent whole creates an application – that is, interactions among the services. We and our customers then extend the system through the addition of new services. We can distribute these operational systems across machines to improve performance, availability, and scalability.

There are additional benefits, too. By using a standard data exchange format and protocol, we can better ensure data integrity. And a recent study within our industry showed that costs can be trimmed by $200 per mortgage loan by using MISMO industry standards for data exchange.

We've chosen to use the Microsoft Windows .NET application development environment for our work. Our existing application had been written in Delphi, which bears a number of similarities to components of the .NET framework. When we saw development accelerator tools from Microsoft and Avanade could speed up a lot of basic coding and provide service frameworks, my decision was made.

After deciding on the development environment, application architecture and other details during the inception phase of this new generation of Empower!, I invited 40 of our customers' CIOs to review our proposed new system, and explain its support for technical and industry standards. Their approval was unanimous, with a few questions raised about the present version of the application. It was exactly the response I'd hoped for.

Consistent Application Architecture and Function
Deciding to standardize on the Microsoft .NET application development environment was easy. However, I felt we also needed the expertise of consultants who had extensive experience using it, to speed the project and establish as much consistency as possible.

Our choice was based on the tools they offered to do so. Avanade's ACA .NET application development framework, a layered structure and prescriptive application model, lets my team focus on business logic instead of the application framework and architecture. Its services framework supports customers' n-tier infrastructure, and aspect-oriented programming capabilities speeds our work with pre-coded functions to “decorate” services and initiate specific actions.

Coincidentally, Microsoft was working with Avanade on Enterprise Library, a set of frameworks for exception handling, logging and instrumentation, cryptography, security, caching, data access and configuration. Together, Enterprise Library and ACA .NET gave us pre-tested, consistent “plumbing” and predictable, high-quality execution, and a services framework that has made development of an SOA much easier.

Focus on Benefits to Customers
From our customers' perspective, there were additional potential benefits to the .NET-based version of Empower!. Several had mentioned to me their difficulty finding and engaging staff to work with the programming tools our product had required – ones that were relatively easy to use, but not widely known.

Moving our software to the .NET platform will ease that challenge and give our customers access to a much larger developer support community than the one for the Delphi platform.

Commit to Specific Benchmarks or Milestones
In addition to our CIO summit, we will take advantage of other, public opportunities to show our customers and prospects our progress. Over the years, my team's software development process has evolved to include internal milestones and two very important external ones: the Mortgage Bankers Association spring and fall conferences.

FIS's Empower! user conference is another opportunity for us to engage with our customers. I plan to establish a customer steering committee to further shape our efforts. In the meantime, we've been meeting with several interested lenders who requested more frequent updates.

I expect my implementation team and my customers will be entering unfamiliar territory when our beta release of retail and wholesale loan origination is ready. To ensure that this benchmarking is productive, I'll select customers familiar with .NET development and who have the skills to support this very important juncture in our work.

Commit to Platform Adoption
Our commitment to the next iteration of the Microsoft operating system may be the least important to our customers right now. So it would be easy for us to imitate the competition and offer the semblance of a service oriented architecture – perhaps a Web-based interface on our application, giving our customers some shallow Web services capabilities.

When Windows 3.1 became popular, we faced a similar situation. But I knew that Windows 95 would support a much more sophisticated application. And we catapulted from a second tier vendor to the premier vendor of loan origination software in two short years.

I expect the same kind of success will result from development in the .NET environment. I've got my sights set on Longhorn, Avalon and Indigo. Using .NET to develop the next version of Empower! and create a service oriented architecture will pave the way for pretty seamless adoption of Microsoft's forthcoming operating system, forms and SOA technology.

For example, we're using Enterprise Library and ACA .NET to generate code that will take advantage of Longhorn's advanced security capabilities. We're using model view controller patterns in the presentation layer of Empower!, so that when Avalon is released, we'll have to update only the presentation layer and not the business logic.

This vision may not have much impact on our customers' business today. But I think it's one of the most crucial steps to gaining their support over the long term. It drove my search for tools such as Enterprise Library and ACA .NET, and for expert consultants. I'm confident it will pay off when our customers deploy a robust application suite that gives them the power to integrate systems and offer services they never thought possible.