Banking on SOA
At Wachovia Bank, Tony Bishop and his boss, CIO Susan Certoma, made a huge bet on SOA. Now, theyre on their way to completing the platform for innovation the company needed.
Starting in 2004, she also made sweeping changes to how IT and the business worked together, repurposing CIB’s central architecture group into a robust 50-person team with a product management orientation that would build and evangelize an initial set of components and services. Those services would then be available to business unit developer teams, which report to divisional information officers and form the bulk of Certoma’s 900-person technology group.
Simultaneously, Certoma set out to strengthen IT’s connection to the business and change IT’s mindset. “We wanted technology to become an advisor to the business, not an order-taker,” she explains.
The first step was a comprehensive strategy-mapping exercise to understand where the business was trying to go and how technology could help, according to Tony Bishop. “The five-month mapping process included business, operations, and technology people … who really understood the day in the life of the investment banker,” Bishop recalls.
For each business and product line, Bishop says, the team mapped the systems supporting the value chain and then asked, “Where do you gain competitive advantage by being able to build horizontal systems and services?”
Based on the three-to-five year business road map, the technology team then began mapping pieces of the business itself to different services, the infrastructure that would be required to run those services, and the accompanying SLAs. “Then we further mapped it down to components … both business functions like a pricing engine and infrastructure functions like an app server,” Bishop adds. “We mapped the dependencies and the reuses across hundreds of systems.”
The end result, Bishop explains, was a detailed road map for building components and services, plus a set of standard designs and best practices for future development based on the core platform.
A multilayered approach
At the heart of Wachovia CIB’s architecture is a multilayered, loosely coupled stack
of services and components. Business
services and frameworks (such as those for sales, trading, and order processing) occupy the
top of the stack and can be reused
across the business units.
These services are supported by underlying infrastructure frameworks and plumbing services such as logical data repositories that support federated queries, metadata management, a prebuilt desktop framework, app servers plus grid and fabric servers, along with in-memory data virtualization services and a service bus.
“It’s a multitenant model with components and abstraction,” Bishop explains. “You can get to a business or data service through multiple access channels and get consistent execution levels.”
One challenge, Bishop notes, was using both open and de facto standards, and then creating a lifecycle in which components could be reused and managed in a best-practices manner. “A lot of our stuff isn’t Web services—that’s an implementation protocol that hasn’t yet matured,” he says. “We’ve been leveraging mature technology, like Java and .Net, not getting caught up in the buzz.”
After a service or framework has been developed, Bishop explains, “we harden it, certify it as a solution stack, build our own customer pieces on top, and then work with the business developer teams to integrate with their business logic.”
Getting developers to work with the components has been a major push, Bishop says. “We’ve had to educate people about what’s already built, get them to think about how they build in a componentized environment, how to reuse, how to deploy, how to make it so it’s like a software package they just bought—it’s a mindset shift”
To this end, Bishop’s team created “our own version of a SourceForge concept, with a version control system and basic workflow management component.” The system enables developers to check in and out different versions of components based on a questionnaire and profiling from a service catalog.



