A fast-growing lending company with widely distributed IT shops abstracts applications as services, links them via messaging bus, and gains new business agility. For half a decade, Countrywide Financial has seen its loan, insurance, and banking services businesses grow dramatically — and its IT systems increase in complexity — as customers, products, and markets have multiplied. To meet this increase in demand, Countrywide decided to embrace a flexible SOA approach, the long-range goals for which are a familiar refrain in enterprise IT: decrease complexity, improve scalability, and reduce overhead.Countrywide is divided into separate business units, each of which employs an IT staff that operates fairly autonomously. One unit, Countrywide Servicing Systems Development (CSSD), which primarily supports the company’s loan division, began its SOA effort in 2002.According to Peter Presland-Byrne, senior vice president of application development at CSSD, the unit chose the SOA approach because “applications support a business problem and so follow certain patterns” that lend themselves to two key attributes of an SOA: functional abstraction based on services and an emphasis on reusable components to provide those basic services. “We’re trying to look at the construct of the business model from a services perspective,” he says. As it began implementing an SOA, CSSD quickly discovered that many applications had embedded within them services that duplicated functions in other applications.“We needed to abstract the services, which is an ongoing process,” and to decide which ones to choose when there were duplicates, Presland-Byrne says. He anticipates the need to abstract services further in order to support Web services because such support “doesn’t come naturally” in an IBM iSeries midrange server environment, which is what CSSD uses.Deriving core services and having applications access common ones rather than implement their own is a key part of the SOA approach and requires a development culture that focuses on reuse, Presland-Byrne notes. To encourage adherence to the SOA, Countrywide reviews new software development to ensure it fits the SOA, provides consistent interoperability, and reuses existing services where possible. Countrywide originally looked at SOA as its central goal but later realized the central goal was reuse, which an SOA promotes. “If you truly support reuse, then you make SOA possible,” Presland-Byrne says. Countrywide also decided to use a messaging system as the connectivity mechanism between applications and data sources. Because Countrywide’s enterprise uses several technologies, including Java and Microsoft .Net, “messaging had to be agnostic” to ensure no proprietary dependencies were introduced into the system, Presland-Byrne says. Countrywide also relies heavily on IBM’s MQSeries and WebSphere MQ Integrator middleware for messaging and service handling, as well as Flashline’s development environment for managing services and software components.Although the messaging system is standardized across CSSD’s applications, Countrywide does not require consistent data models. Instead, it uses middleware to ensure a consistent information flow, mapping and translating data formats as needed. For CSSD, imposing a consistent data model was believed to be unrealisticm given that “the minute you bring in a third-party tool you lose the consistent data model anyway,” Presland-Byrne says. “The middleware we brought in could translate these different standards. That’s what integration tools are for.”More importantly, your “buffer” middleware — which contains the translation of business logic and data formats between services — must be kept separate from the service logic, Presland-Byrne says. Doing so allows separate applications to access the same service concurrently, without requiring you to touch the service code as the applications or data change. Plus, it allows you to run old and new versions of services simultaneously, either during a transition period or for different application needs. In both cases, IT can leave the services untouched. Given that most of Countrywide’s services are internal, the company does not rely heavily on Web services or associated technologies such as SOAP, although it does use Web services for a few applications accessed by customers and field agents. Countrywide has, however, tended to use XML as the semantic data standard for services and middleware because of its easy fit and wide popularity, Presland-Byrne notes.As its lines of business deploy SOAs, Countrywide is now examining how it can extend the approach to communication among units. That will require re-examining services and eliminating duplication, Presland-Byrne acknowledges. The company has already begun consolidating identity into one service that can be accessed via SSO (single sign-on) across the enterprise.Because each business unit was faced with different growth patterns and technology lifecycles, implementing a companywide SOA in one big bang was not possible in 2002. Now that each line of business has adopted the concept and has achieved similar levels of technology maturity, extending the architecture more broadly is something “we can now tackle,” Presland-Byrne says. More SOA success stories:British Telecom delivers value-added servicesGuardian Life Insurance uses SOA to get it right Massachusetts pulls health systems togetherTransamerica gives partners self-service access Software Development