Service-oriented architecture: a way of life
Service-oriented architecture (SOA) mirrors the goals of knowledge management in synthesizing information from disparate sources into a meaningful view. It can integrate multiple functions into complex, end-to-end processes, both within and beyond an organization, more easily than other forms of integration. In addition, it allows for more flexible, rapid and inexpensive incorporation of new functions. Rather than connecting the functions through code that directly links one application to another, SOA relies on a standardized software interface to which many applications can connect.
From the user viewpoint, the experience is correspondingly improved. Rather than having to shift from one application to another in order to accomplish different tasks, the user can stay in a single interface—often a browser—and launch a process, submit content to a Web site or archive a record. The different services are activated as needed. The same unified effect can be achieved without service-oriented architecture, but requires much greater effort.
Catalysts for change
Enterprise decision-makers may conclude they need a new approach for a variety of reasons. "Sometimes when an organization needs to enhance the functionality of its applications, using current technology is either too expensive or too difficult," says Nikhil Shah, lead technical architect for the global technology practice at Kanbay. Kanbay specializes in systems integration for companies in the financial services industry, where connecting customers, data and processes is imperative.
"Now that the traditional vertical distinctions are being broken down in financial services, for example," continues Shah, "the companies need to pull information together about a customer's activities across multiple domains, such as credit cards, insurance and mortgages, to get a full understanding of that customer." Legacy systems are not well suited to providing a comprehensive view of the customer because they often do not interact well with each other.
"Customers who seek us out are not asking for a service-oriented architecture," concurs Paul Hernacki, CTO of Definition 6, an Internet consulting firm that develops collaboration and e-commerce solutions. "They are asking for a solution to their business problems."
Customers may find that they don't know where to get information, that they need better communication with their suppliers or that the cost of developing new products is too high. "It's when they try to implement a solution that they often find the architecture they have in place does not support their goals," Hernacki says. "They are often far away from what they need."
The biggest change an enterprise must undergo when it migrates to SOA is not the installation of the software, but creating a new vision of how enterprise applications are used. With SOA, it is important to take a more comprehensive view, looking at which other departments might use the same information or process. Designing the service to meet multiple needs allows for its reuse, capitalizing on one of the advantages of SOA. However, getting an overview of the interrelationships can be challenging.
Design tools that lay out the services in graphical form can be useful. "People may not initially understand why the design process is so critical," says Trevor Naidoo, managing director of business process management at IDS Scheer (ids-scheer.com/us). "When the business users see how the processes are aligned, they can take ownership for their parts, and see how those activities relate to others in the enterprise."
IDS Scheer's ARIS Platform for Process Excellence models and monitors business processes. Graphical tools such as ARIS are helpful in displaying activities and roles (for example, the role of an accounts payable clerk in processing an invoice). If business users can see that both the accounts payable clerk and the customer service representative need to see billing information, the case coordination among services becomes stronger.
Response from IT
Many organizations seek outside help in implementing an SOA because the initial effort is significant. In general, IT departments are receptive to the new architecture. "A few years ago, it was more of a challenge to talk about these concepts, but now they are well accepted," says Hernacki. A big incentive is that once the new technology is in place, meeting the needs of business users becomes much easier. "With SOA, the conversation is better," he adds, "because the IT department can tell business users that the project can be done more quickly and at a lower cost."
That forward-looking perspective does not always hold true, however. "We sometimes still see a point-to-point mindset," says Shah. "Rather than taking a broader view, the IT department may still be thinking about how to add a data field or two in order to solve the problem with minimal upfront effort." Along with the business users, the IT staff needs to move to a vision where they consider where the data might be used downstream, or what coordination challenges might arise later.
The selection of a particular technology for SOA is usually dictated by what is already in place. "If the company has an IBM stack, you work with that," says Shah, "or if they are already using an enterprise service bus, you build on that." The Microsoft (microsoft.com) .net technology is gaining in popularity with small to midsize companies, although Shah reports that some large financial services firms have also selected it as the basis for their SOA architectures.
Definition 6 leans toward the Microsoft platform. "Most users already have XP, Internet Explorer and other Microsoft products," says Hernacki. Visual Studio 2005 allows for rapid building and deployment of applications, and technologies like SharePoint portal service can render and display information. "But the beauty of SOA," he emphasizes, "is that it doesn't matter if the user has an Oracle (oracle.com) human resources system, and a backend inventory system from Microsoft. SOA allows the management of processes across all these applications with much less custom code."
Measures of success
Being able to keep a competitive edge in a fast-paced world is one of the rewards of SOA. "The biggest thing is that both the technical folks and the business users are looking for agility," says Naidoo, "because they need to react so quickly in today's competitive market." IDS Scheer is helping to build a repository of enterprise services models for SAP due to be released in the near future. "These services will be available ahead of time and can be selected from an inventory," he says, "and then strung together to form composite applications."
Refinements to existing applications will also help improve business performance. "A credit card system may easily allow a customer service representative to bump up a customer's credit limit," says Shah, "but you might also want a finer-grained application to perform a risk assessment to show that the increase was justified." SOA allows a secondary application to run along with the original one, without disrupting its operation.
Among the users that are moving most rapidly toward SOA are those with a significant number of external partners, according to Hernacki. "If an organization must be able to interchange data with a large number of providers, all of whom have their own technology, it makes sense to move quickly in the direction of SOA," he says.
Judith Lamont is a research analyst with Zentek Corp., e-mail firstname.lastname@example.org.