What is Service-Oriented Architecture (SOA)?
Learn about the basics of SOA, including definitions, business benefits, and common examples
SOA, or service-oriented architecture, can best be defined as "services" that provide a platform by which disparate systems can communicate with each other. These services are essentially groups of software components that help a company seamlessly carry out important business processes. SOA implementation makes interoperability between heterogeneous applications and technologies possible.
The rise of SOA technology and integration in recent years is placing it as one of the most important applications for communicating between different systems — or in this context, services.
To gain a better understanding of SOA architecture, we must define what a “service” is. Like objects and components, services represent building blocks that allow users to organize information in ways that are familiar to them. These building blocks combine information about users and their behavior in a seamless fashion to present a relatively simple interface.
A service is commonly characterized by these four properties:
It logically represents a business activity with a specified outcome.
It’s a black box for its consumers.
It may consist of other underlying services.
To further simplify this concept, an SOA service is the mechanism that satisfies a customer’s wants or needs through a negotiated contract. Therefore, SOA is a collection of different services.
To better understand what service-oriented architecture is all about, consider this quote from industry expert David Sprott:
“SOA is not just an architecture of services seen from a technology perspective, but the policies, practices and frameworks by which we ensure the right services are provided and consumed.”
How SOA Apps Provide a Cohesive Platform for Overstock.com: An Example
Communication of services can involve something as simple as passing data, or it can involve a coordination of an activity between two or more different SOA services.
One way to illustrate the SOA method is by taking a look at a large online retailer like Overstock.com.
In order for Overstock customers to make a transaction, different programs must work together seamlessly. The various steps in the ordering process can involve various programs developed at different times, each using their own unique platforms and technologies.
For instance, there might be one program that tracks inventory, which is different than the interface (i.e. the Internet) the customer uses to shop. Then, there’s likely an entirely different program for their shopping cart and another for processing payment.
SOA services tie all of these various programs together so that an online shopper can quickly find out if what they’re looking for is in stock and get it shipped to their doorstep with just a few clicks of their mouse.
The 6 Defining Concepts of SOA
In October of 2009, a manifesto was created about service-oriented architecture. This manifesto states there are six core values of SOA:
Business value is more important than technical strategy.
Strategic goals are more valuable than project-specific benefits.
Intrinsic interoperability is greater than custom integration.
Shared services over specific-purpose implementations.
Flexibility is given more importance than optimization.
Evolutionary refinement is more important than pursuit of initial perfection.
Understanding SOA: The Transportation Analogy
Another way to think about SOA is through the analogy of transportation.
Imagine that you have to travel from your home in Atlanta to a business conference or trade show in San Francisco. What are the various steps you might take to get there?
First, you’ll have to drive to the airport, then take a shuttle to the airport terminal. Next, you’ll board the plane for San Francisco. After landing, you take another shuttle from the gate to the main terminal, where you have to flag down a taxi or call an Uber to drive you to your hotel. When it’s time for the conference to start, you walk to the nearest train stop, hop on, and ride it to the conference center.
All of these various transportation methods worked together to accomplish your end goal of attending the conference — your car, the shuttle bus, airplane, train, and even walking. There were many individual “steps” you had to take to arrive at your final destination on time, and there were likely other ways you could have gone about it.
For instance, instead of driving to the airport, you could have walked to a train station or bus stop and gotten to the airport this way. Or you could have driven completely across the country, thus eliminating your need for any other type of transportation altogether.
However, by combining numerous transportation methods you were able to get to the conference faster and probably cheaper than if you had driven the whole way.
In this analogy of SOA, the various modes of transportation can be viewed as the different “services” used to reach an end goal. Just like the cars, bus, train, and plane all worked together to help you accomplish your goal of attending the conference, combining different units of software applications (services) can help business achieve new milestones in the most efficient manner.
How Can SOA Benefit Your Business?
Do you have additional questions or would you like to explore how implementing SOA can benefit you and your company? Contact the SOA consulting experts at Innovative Architects today. Our business process integration consultants can help you knock down information “silos” and implement an interconnected IT system that will help your company operate more effectively and efficiently.
Check out these related articles to continue learning: