The IT world is all abuzz about the latest big thing to hit the industry – SOA (pronounced as one word ‘so-ah’ and rhymes with boa). You may even have heard of it as well. Unlike many past hot topics SOA, which is an acronym for Service-Oriented Architecture, may actually live up to its hype.
What is SOA?
It’s more of a software design philosophy than anything else. It’s not a standard, although some of the major standards bodies such as OASIS (the Organization for the Advancement of Structured Information Standards) are working to standardize the definition of what actually constitutes a service-oriented architecture.
In short, a service-oriented architecture is a group of services where each service provides a specific, self-contained function. These services are openly available in a SOA framework for use by other programs. Let’s use a non-technical example to illustrate.
You go to the bank and ask the teller what your savings account balance is. The teller replies that you have $3,239.43 in your account. That is a ‘service’ the function of which is ‘get account balance’. I’m sure that most of you would not stand in line waiting for a teller just to find out your account balance. You would most likely get this information from an ATM, on the phone through an IVR or over the Web.
Regardless of the method you use to find out your balance, the service, getting the dollar amount in your account, is the same. In a SOA approach this ‘account balance’ service would be a single, stand-alone function that is used by the ATM, IVR, Web server and even the teller’s computer application to get the information. Why is this such a big deal?
Putting the account balance function in a single service provides some major advantages. It makes this function maintainable, standardized and reusable. Consider the alternative, where every system that needs to have account balance information contains its own version of this function. What happens if the account database changes? Each separate version of code would have to be located and modified to reflect the change. Under SOA only one program has to be modified. This not only saves time, but a lot of money as well.
For more information on this topic, or for any questions, please email brian.spraetz@nice.com
What if the bank decides to change the authorization process for getting balance information and now requires a new type of PIN to be provided? Under SOA, modifying the service to accept the new PIN automatically implements the new business process across all applications. This standardization provides a very high degree of process consistency across the organization, one that is built into the supporting technology.
Finally, what if the bank chooses to offer an entirely new method for getting your account balance, through your cell phone for instance? That same account balance service is easily reused when this new program is created.
In fact, SOA is very much about reuse. Not just new technologies but older, existing ones as well. This helps to extend their useful life and preserve prior technology investments. This reuse aspect of SOA also makes it much easier to create entirely new programs built from the underlying services.
SOA also works to remove the obstacle that technology often presents in business today. Instead of forcing you to adapt your business processes to technical constraints, for example a legacy A/R system that can’t interface with a Web server, SOA puts your business processes first. Process drives the technology, not the other way around.
What impacts will SOA deliver to the contact center industry?
With SOA it becomes much easier to break down the silos of information that exist between the various systems in the contact center such as workforce management, quality management, interaction analytics, and performance management. Being able to easily share information and functions across these systems removes the technological hurdles to implementing effective and efficient processes.
The open nature of SOA also provides greater choice and flexibility when evaluating new systems to purchase and when deciding whether to retire current systems. Your center may just need to upgrade the quality management system, but you’re happy with the current workforce management product and are not looking to replace it. In a SOA environment that’s not an issue.
Finally, SOA not only promises to break open the information silos within the contact center, but for the rest of the enterprise as well. Opening up the valuable information and intelligence in the contact center to other departments improves overall business performance, and it promotes the view of the contact center as a strategic business asset.