Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Creating an SOA center of excellence for application integration

A well-built SOA Center of Excellence for application integration is crucial to service-oriented architecture. Here is a breakdown of how to build it.

Implementing a service-oriented architecture (SOA) is a giant step toward mastering application integration challenges. Building an application integration Center of Excellence (CoE) can help software architects avoid missteps.

"There is no SOA that is successful without a good CoE," said Gartner analyst Paolo Malinverno. "The CoE takes care of the known technical elements, process elements and data elements. Without a CoE, the SOA initiative is doomed."

Using custom point solutions is the main cause of integration problems. John Schmidt, Informatica vice president of global integration services of practice integration, noted that unnecessary complexity can arise if custom solutions are built inconsistently, one department at a time. "This creates a hairball with high cost to maintain and is difficult to change," said Schmidt.

A major retailer Schmidt worked at learned that the average cost of building an integration point between applications was $30,000. The retailer was building about 300 integration points per year, totaling approximately $9 million. The retailer was shocked after adding up the costs, because no one had ever looked at the overall price of integration before.

To address this expense, Schmidt's group was charged with creating a CoE, with the goal of reducing integration costs to $10,000. The CoE implemented a repository and workflow with new integrations that cut costs to $10,000 per integration within a year and to $2,500 in two years. By the third year, they slashed the cost of each integration to only $1,000 and development time to less than a day.

A major part of the reduced cost was the result of an extensive library of more than 1,000 interfaces cataloged in the system. "After a while, you get all of these usable building blocks, and there is not a lot of new stuff to develop," explained Schmidt. "Whereas when the interfaces were being individually developed, everything had to be reinvented."

The different roles in a CoE

The goal of the CoE is to help harmonize the company's existing business and IT processes with a new solution's architecture. The CoE contains, at minimum, an enterprise architect and a process architect, according to Malinverno. The enterprise architect is typically a lead developer who is familiar with how applications are developed within the company. The process architect is a business analyst who is familiar with how business processes work within the organization.

Without a CoE, the SOA initiative is doomed.

Gartner analyst Paolo Malinverno

Malinverno believes these roles shouldn't be outsourced because they require intimate knowledge of the company's inner workings. He explained, "A bunch of consultants don't understand the intricacies of the company."

Other roles within the CoE can include security specialists, data model specialists and administrators who catalog reusables and are familiar with the decision-making process. Malinverno believes these roles can be filled temporarily as needed.

Timing the CoE

A CoE may form organically as part of the move towards SOA. Malinverno said the ones that work best are naturally formed as a company goes through the initial SOA projects.

It may be OK to hold off on creating a formalized CoE if the company is planning a gradual transition towards SOA, said Venkat Kasthala, senior consultant at information technology solutions company Mindtree,

"SOA implementation should start off as pilot programs in different business units," explained Kasthala. "As the SOA implementation across business units gathers momentum and is accepted across the organization, it makes sense to build a CoE which can now bring in standards across the organization along with an appropriate governance model."

Why build a CoE?

Organizations create a CoE to ensure singular focus and to channelize the investments required to absorb new technologies, standards and processes into the broader organization and build capabilities around them.

"The CoE structure helps the organization in accumulation and distribution of best practices across the different units and also helps avoid the reinventing of the wheel on every new program and project," explained Neeraj Joshi, associate vice president and head of application development at Infosys. "It also ensures optimum utilization of resources, using a shared services model."

In the absence of a CoE, there is the risk that the skills and capabilities will get fragmented across business units or divisions and will never achieve the critical mass necessary for broad adoption. Also, duplicated efforts could lead to redundant investments and significantly bring down the envisioned ROI.

Building a successful CoE

In order to simplify the development of the CoE, the process can start out with the core personnel responsible for understanding the needs of IT architectures and business processes. Malinverno said that, as more projects are added, the CoE will typically grow to include more people. Once the SOA infrastructure has been well-established and reuse has become part of the organizational culture, this group often shrinks. "You don't need all of these people to build a library that is tested and in production," he said.

While a challenge, it's a best practice to measure the value this group delivers. "In today's IT department, they deliver an application, make sure it works and then move on to the next," explained Malinverno. "It is a shame, because applications have different value they deliver back to the company, depending on how they are used."

Another good practice is to keep this group at the center of new application approval procedures. If you are going to buy new applications, you need to make sure new applications integrate well with the architecture.

Leonard Fehskens, vice president of skills and capabilities at The Open Group, said it's also important to have influential organizational sponsors. He noted, "You need to find people who believe in both the need and the organization's ability to address the need, who will be listened to and who are willing (and have the time) to sell the idea." Fehskens also argued for the importance of having a committed source for funding the creation and operation of the CoE.

Forming an internal public relations team can also help build awareness and buy in from other members of the organization. Fehskens said it's crucial that stakeholders support the CoE charter and the plan for its creation.

"A successful CoE requires an ecosystem which will, out of necessity, be outside of their control," explained Fehskens. "The CoE's relationship with the ecosystem must be understood and accepted by the entire organization as bidirectional, in that the CoE will both provide something to and require something of the organization."

It is important to think about integration as a unified data platform. The glue that ties it all together is the metadata, which is the information about the data to enable integration through business analysts and designers.

For example, Schmidt said that one health insurance company tried to get an integrated assessment of when claims were paid. Three departments pulled up reports with three different numbers. One application looked at when claims were approved, accounting looked at when the check was cut, and the treasury considered a claim paid when the check cleared. "If you are going to use a definition across the company, you need to publish that definition in a glossary," said Schmidt.

Dig Deeper on Enterprise application integration