TrueCredit: Charging Ahead with SOA
TrueCredit's pioneering work in service-oriented architecture software development allows the company to build fast, reliable applications.
Scott Metzger, chief technology officer at TrueCredit, says that when his company, which markets online credit services to consumers and large financial institutions, started using a service-oriented architecture in 2000 to develop software applications, people didn't really have a name for what he and his team were doing.
So, not surprisingly, as an early pioneer, TrueCredit's software team faced a series of software-oriented architecture challenges.
These included an underpowered hardware platform, the constraints of a homegrown applications development environment, and the hurdles of integrating its software programs with the applications of partner corporations—some of world's largest financial institutions, such as Citicorp, Chase and Washington Mutual's credit card division, also known as Providian.
Yet TrueCredit persisted, adapted and succeeded.
Along the way, there were many changes to the company's infrastructure, business practices and software development methods, but Metzger says pragmatically, "You have to embrace change to support the business."
But support the business he has. Metzger's team over the years has used the service-oriented architecure approach to develop a number of highly successful online tools, such as those available at TrueCredit.com, a Web site that allows consumers to check their credit report, learn about credit ratings and download advice on how to improve their scores, as well as a series of other personal finance tools including FreeCreditProfile.com and KnowYourLoanRate.com.
The company, a subsidiary of TransUnion, the national credit bureau, was able to quickly develop these applications—sometimes in as little as 90 days—using the service-oriented architecture, or SOA, approach.
"They look at the way they create their services," says Sandy Rogers, program manager for SOA, Web services and integration software at International Data Corp., "very much the way I envisioned SOA would be."
SOA is a software design framework that organizes the discrete functions in an enterprise application into standards-based, interoperable software units. These units, or services, can represent a chunk of data or instructions on how to perform an activity. These services can then be quickly combined and reused to meet other business needs, negating the need to build these functions into new programs and thereby speeding software development.
One of the biggest benefits of a service-oriented architecture approach, according to Metzger, "was from a reuse perspective. We had identified core business processes that we wanted to make available on different channels of business."
There was another big advantage: Credit rating and scoring products require the collection and analysis of data from multiple sources, such as the big three credit agencies—TransUnion, Equifax and Experian. But since the data and logic of a credit reporting application can be parsed in little pieces across a number of different servers, applications can handle lots of simultaneous users—in TrueCredit's case, up to 50,000 users—because the various pieces of the application work independently.
But building these types of applications isn't easy.
TrueCredit: Charging Ahead with SOA
TrueCredit offers consumers credit reporting, credit scoring and related financial services through a series of Web applications on both its own and its partners' Web sites.
Six years ago, the company was looking for a way to build credit reporting and scoring applications that could be used by more than one company. It started out using J2EE, the enterprise edition of the Java development platform; JBoss development tools; Resin application servers; and a homegrown communications protocol that allowed the components they developed to message each other. Its hardware platform at the time was based on 32-bit Intel Pentium processors from California Digital.
But within a few years, it was starting to run into some constraints. The company needed a larger memory module to support the 100 services it had developed, a more robust set of application development tools to develop components faster and more efficiently, and a way to monitor all the components that it had built.
"We got to the point where we were spending as much time maintaining our infrastructure as we were implementing functional business requirements," Metzger says.
The company set out to find a better application development platform. And, in 2003, it moved to BEA's WebLogic Java-based package.
The software suite, according to Blake Connell, a BEA product marketing director, includes a stack of products, including WebLogic Server, a Java enteprise edition-based applications server; WebLogic Integration, a tool that helps developers integrate software; WebLogic Portal, a way for people to easily access applications; and
WebLogic Workshop, a set of developer tools for building applications. The entire suite runs on BEA JRockit and other compatible Java Virtual Machines, which translate Java code to operating systems and servers.
TrueCredit had looked at other products, including IBM's WebSphere, but, Metzger says, it felt at the time that BEA was significantly ahead in areas that were important to TrueCredit from a software stack perspective, such as orchestrating the workflow of components.
WebLogic Integration has a workflow engine, which helps a company create a schematic of its components and diagram how and when those components are supposed to interact with other components.
This engine allows TrueCredit to define workflow processes inside its applications, many of which are forms-based—meaning that consumers request credit information from TrueCredit and its partners by filling out online forms that ask a series of questions. How a consumer goes from one question to the next is the workflow. WebLogic Integration can set up many of these processes.
"Rather than taking an approach of finding an application server from one vendor and a workflow system from another," Metzger explains, "BEA was furthest along in having all of those capabilities from a single source."
TrueCredit: Charging Ahead with SOA
While the WebLogic product has taken care of most of TrueCredit's platform challenges, the company faces other ongoing issues. One is how its applications work with the software of Citicorp, Providian and its other partners. "One of the largest hurdles," Metzger says, "is making sure that the contracts between us and the partner organizations are accurate."
A Providian credit card member might go to the Providian Web site and see offers for credit products and services. But TrueCredit is the engine behind many of these products. It's crucial that the Providian Web applications and TrueCredit credit reporting and scoring applications interact correctly.
For this task, TrueCredit has a formal requirements solicitation and documentation process where the company gets its partners to agree on the business requirements of each application.
The biggest challenge here, according to Metzger, is the "problem statement," a document that describes a problem and its roots, and outlines possible solutions.
Metzger says TrueCredit put a lot of effort into this process to get a clear way of documenting what the business requirements are, who's responsible for what, and where the data of record will reside for all the crucial data points in the application.
It's a back-and-forth conversation over the course of two to three months to define a business rule, such as how to deal with exceptions and how information should be presented on Web sites, says Jennifer Young, a TrueCredit product developer who works with the company's partners.
"It's not a trivial process," Metzger says. "It's a very consultative process."
In addition to finding a better way to develop products and services, TrueCredit also needed a more powerful hardware platform to handle the expected load on its applications. Just the size of all the components it was deploying—based on memory requirements—prompted the company to move from its 32-bit processors to 64-bit Intel-based servers from California Digital running the Linux operating system.
The easiest way to think of it, Metzger says, is that the more concurrent sessions you have—the more people hitting your applications at the same time—the more copies of components you need in memory to handle the requests. "From a memory perspective," he says, "we needed a bigger footprint to support the higher level of concurrency, the higher loads."
Another thing the company needed to do as it was moving to the WebLogic platform was monitor its components so that if they were stressed, or if one component failed, the software development team could isolate the problem and fix it.
TrueCredit turned to Acsera, a Sunnyvale, Calif., company that specializes in applications performance monitoring and diagnostics, and bought Acsera's Manager 5 product.
Acsera's president, Allen Bannon, says TrueCredit had developed a very large set of mission critical applications with SOA, but had to manage their performance.
Acsera's product is designed to provide 24/7 applications monitoring and diagnosis for J2EE applications built on a service-oriented architecture.
Unlike monitoring tools for traditional applications that just measure resources such as the central processing units, memory and disk performance, Acsera's tool monitors application response time and availability. It also monitors applications' business functions as well as software components, even if those components and applications are running on different servers.
A business function or process can be an online application form, in which a series of questions are asked. Each question may be a component and may lead a person filling out a form to different questions depending on the answers that are filled in. Acsera monitors the performance of the application and all of the components that provide the services for the process. "If there is a problem, we can narrow it down to where the problem is," Bannon says.
As companies move to a distributed architecture, he says, they need a new approach to applications performance monitoring: "The applications are mission critical, distributed and made out of lots of moving parts."
But SOA applications can and do fail. There can be bottlenecks and failures in the application components, in the database calls, or in connections between Web components and legacy applications.
"Failure in one of the components can wreak havoc with the rest of your SOA," says BEA's Connell.
And software project managers, no matter how much testing they do, can never really be sure how well their applications will react at peak loads.
If there are too many requests being made to one component, it will overload and bring the application down.
But, Bannon says, his tool monitors components and alerts system administrators to potential problems. Among the metrics Acsera reports are the overall system's response time and capacity, the application response time, the component response time and the business function response time.
Despite the challenges, Metzger says TrueCredit is satisfied with its service-oriented approach to software development.
The company has come a long way. SOA has cut software development time from six months in 2003-2004 to about 90 days today, and, primarily because of the company's 64-bit processors, it has increased the number of simultaneous users its programs can support from 25,000 to about 50,000.
It hasn't been an easy journey, but Metzger and his team have blazed a nice trail. As Bannon puts it: "TrueCredit was pioneering."
TrueCredit: Charging Ahead with SOA
TrueCredit Base Case
Headquarters: 100 Cross St., Suite 202, San Luis Obispo, CA 93401
Phone: (805) 782-8282
Business: Develops and markets credit-based products and services. TrueCredit is a subsidiary of credit bureau TransUnion, a private company that does not report earnings.
Chief Technology Officer: Scott Metzger
Challenge: Quickly develop new software-based product offerings using the code of existing applications.