Problem solve Get help with specific problems with your technologies, process and projects.

How service-oriented architecture enables unified communications

Service-oriented architecture (SOA) is enabling new business process integration between voice and data networks by turning common tasks into reusable Web services applications -- opening up new opportunities for unified communications (UC) to improve workflow and the way enterprises do business. Learn more about SOA and how everything fits together in this tip.

Service-oriented architecture (SOA) is enabling new business process integration between voice and data networks by turning common tasks into reusable Web services applications -- opening up new opportunities for unified communications (UC) to improve workflow and the way enterprises do business.

The emergence of SOA

Traditionally, application development within corporations has been a really slow process. What typically happens is that the company realizes a business need and requests that the IT department develop an application that will automate whatever the task of the moment is. By the time the IT department has studied the requested application's criteria, written the code, tested the new application, and trained the users in the new application, the better part of a year may have passed. By that time, the business needs that the application was designed to address may have changed completely. Although this probably sounds very pessimistic, it actually happens frequently.

More on SOA
SOA defined

10-minute podcast: What is SOA?
When business needs change prior to a project's completion, the programming staff may be given a new set of criteria to work with, or the project may be scrapped completely. In either case, a lot of time and money is wasted, and the end result is a lot of frustration for the programming staff and missed opportunities for the company as a whole.

An emerging trend may change all that. Service-oriented architecture (SOA) is based on the concept of reusing code. The basic idea behind this concept is that common tasks are coded as Web services. As a company's needs change, new applications can be constructed quickly by linking together existing Web services. For example, if applications typically need to retrieve customer contact information from a database, a Web service can be constructed that does nothing but retrieve customer information. Another Web service might be built to check customer account balances.

The idea of creating reusable code is nothing new. In fact, when I started programming in the mid-1980s, writing reusable code was already a common practice. At that time, though, reusable code existed primarily in the form of subroutines and functions. Web services are different in that they exist as standalone programs that can be called by any application.

How SOA enables business processes for VoIP and UC

Obviously the use of SOA can speed application development time, allowing the IT department to respond more quickly to changing business needs. You may be wondering, though, what SOA has to do with unified communications (UC). When SOA was first introduced a few years ago, it had absolutely nothing to do with UC. At the time, telephony was for the most part limited to PBX systems. These PBX systems were completely separate from the company's computer network and almost always ran proprietary software.

Today, integration of voice traffic onto the data network -- and the shared protocols involved -- makes it possible to build business applications that interface directly with a company's phone systems.

VoIP has been around for a few years now, but to date not many business applications support UC involving phone and data. One of the reasons for this is that developing an application that interfaces with a VoIP system has traditionally required the development staff to have a specialized knowledge of signaling protocols and other intricacies of the VoIP system.

SOA is starting to change this, though. Companies such as BlueNote Networks are starting to offer SOA packages for common telephony-related tasks. This makes it possible for developers with no specialized telephony knowledge to create applications that interact with a VoIP-based PBX system.

For example, suppose that your company ran an online store. You could use SOA to develop an application that would make it easier for your online customers to get help when needed. When a customer clicked on the "help" icon, a Web service could retrieve his contact information from a database. Contact information could be routed to another Web service that initiated a phone call to the customer. Yet another Web service could patch the call through to your support staff. Because of its complexities, an application like this would normally be very time-consuming and expensive to develop. Web services could speed the development process considerably, however, while giving you the flexibility to make changes to the application on an as-needed basis.

I expect that Web services and service-oriented architecture will become the de facto standard for application development. As SOA becomes more heavily adopted, I fully expect to see more applications take advantage of UC.

About the author:
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Windows 2000 Server and IIS. Brien has served as CIO for a nationwide chain of hospitals and was once in charge of IT security for Fort Knox. As a freelance technical writer, he has written for Microsoft, CNET, ZDNet, TechTarget, MSD2D, Relevant Technologies and other technology companies. You can visit Brien's personal Web site at

Dig Deeper on Unified Communications ROI

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.