Why SOA?

A service-oriented architecture is an information technology approach or strategy in which applications make use of (perhaps more accurately, rely on) services available in a network such as the World Wide Web. Implementing a service-oriented architecture can involve developing applications that use services, making applications available as services so that other applications can use those services, or both.

The Layered Approach to SOA


Another key concept in SOA is the layering or classification of service types. If you consider

how a “top-down” implementation approach would be tackled, you can get a better

understanding of these layers.


Step 1: Business challenges and processes

The Benefits of Adopting an SOA


Who specifically benefits from an SOA? The short answer is the business, for example,

through cost savings, revenue growth, and increasing customer satisfaction. The longer

answer is that if done right, everyone across the entire organization will benefit, even

your partners and customers.

It’s important to define the key benefits you expect from an SOA project, then use

Defining SOA Projects


First, what exactly is an SOA and how is it different from traditional software development

approaches? SOA can be defined at the high level as:


An architecture where services are defined and orchestrated using open standards,

allowing for a pluggable service infrastructure that removes single vendor lock-in

SOA management

SOA management

As covered in the first section, an SOA needs a robust active management framework or else it gets out of hand. SOA management is realized through the governance concept, which controls the different aspects of SOA. Security is another aspect that has to be enforced in an SOA-enabled environment because of its open nature. Details of SOA management are discussed in this section.

SOA governance

Basic SOA architecture

Basic SOA architecture

Now let's take a look at some more complex, technical subjects, such as the role of the enterprise service bus (ESB), business processes, their choreography, and the role of Web services.

What constitutes a basic SOA architecture?

SOA concepts

SOA concepts

Now let's take a look at some SOA concepts to better understand what SOA is.

Definition of a service in SOA

There are a lot of different definitions of services, but I think these do the best job of explaining what a service really is.

From Web Services and Service-Oriented Architecture: The Savvy Manager's guide (see Resources for a link):

The value of SOA

The value of SOA

So why is everyone so excited SOA? What does it provide, and how can it help? Should it be used in all cases? Let's answer these questions one at a time.

What's the best fit for SOA?

SOA fundamentals in a nutshell

Introduction to SOA

If you're still learning about SOA, you might want to read this introduction for some basic information before jumping into the tutorial.

Defining “Service Oriented Architecture”

An Analogy: Transportation

Imagine for a moment that you have a goal to get from your house in Cleveland, Ohio, to a hotel in Denver, Colorado. How might you accomplish this? Perhaps you will drive in your car to off-site parking near an airport. You’ll park your car and ride a shuttle bus to the airport where (if you successfully get through security) you board an airplane for Denver. When you get off, you walk to the taxi stand and take a taxi to the hotel.