Service-oriented Architecture (SOA)

Service-oriented architecture (SOA) is an approach to building business applications driven by the need for integration across and beyond enterprise boundaries, lower IT costs, and business agility in a fast-changing world. Traditional enterprise applications often constrain business by their built-in business processes. Making changes to them requires considerable cost and effort. Service-oriented architecture, in contrast, is designed to better align with, and serve, the business needs.

Service-oriented Architecture; How SOA Works

In a service-oriented architecture, applications are composed of modular components—called "services"—each of which performs a specific task or function (for example, a credit checking function). Services are created from scratch or by breaking down or refashioning older applications and existing information. In other words, SOA allows businesses to leverage existing software assets, to lower IT costs.

What's more, those modular software building blocks can be "loosely coupled"—assembled and coordinated--to form a composite application that performs a more complex business process (such as order management). In fact, a service can be reused in multiple applications, including by applications external to the company that "owns" the service.

The key to SOA is Web standards, including XML, WSDL, SOAP, and UDDI. Each service has a standards-based interface. These common standards allow the services to discover, communicate, and interoperate with one another, independent of their underlying operating system, platform, or programming language. That means that, for example, services written in C# running on .NET platforms and services written in Java, running on Java EE platforms, can both be used in a common composite application.

As a result, services can be run on various distributed platforms and be accessed across the network. In other words, in an SOA a business process consisting of coordinated or orchestrated services runs on or integrates heterogeneous environments internal and external to an organization. In this way, SOA further leverages IT resources and lowers IT costs.

Just as important, because of this flexibility and reusability of services, they can be easily created and recombined to meet new business needs, providing business agility. In short, a service-oriented architecture makes it easier and faster to build and deploy IT systems that service the goals of the business—rather than constraining how the business operates. In other words, an SOA provides the best of both worlds. It reuses IT assets and enables IT to flexibly change to better support business change.

Service-oriented Architecture: Management Challenges

But the loosely coupled, dynamic SOA world introduces new challenges, specific to SOA management. By nature, service-oriented architectures span multi-vendor infrastructure — including different application servers, databases, and network devices. For an SOA to serve the business well, each of these must be monitored and managed to ensure reliable performance, including commitments to customers in the form of service-level agreements.

But in the heterogeneous SOA world, in which a service may be shared by several different business processes, there is no dedicated group of systems in which a business process executes as there was with traditional enterprise applications and their silos. Consequently, there is no inherent way to monitor what's going on in an SOA—to track and manage performance to find and resolve problems quickly.

Other issues arise as well. In addition to lacking IT visibility, there is no business process visibility, that is, no way to see IT processing in a business context to assess if SOA business processes are delivering the right level of customer service. And, finally, without monolithic application stacks, it is much harder to enforce consistent SOA security and compliance.

Progress Actional SOA Management Products

Progress® Actional® SOA Management products are designed to meet these challenges and reduce the risk of SOA adoption, throughout the service lifecycle. They are targeted to different business needs, allowing you to build and evolve a practical SOA solution for your business. For more information, see: