Advantages & Disadvantages of Service-Oriented Architecture

Instructor: Lyna Griffin

Lyna has tutored undergraduate Information Management Systems and Database Development. She has a Bachelor's degree in Electrical Engineering and a Masters degree in Information Technology.

In this lesson, we will explain Service Oriented Architecture and learn where it is most applicable. We will learn the attributes that give it its numerous advantages and disadvantages.

What is Service Oriented Infrastructure?

Service Oriented Infrastructure (SOA) is the organization of the components of a system according to the services they provide. The provider of the service and the requester are loosely coupled within the architecture allowing the services to operate independently of the platform on which they will be used. It is an approach to designing software in which components are arranged according to business processes.

These services are small functions which fulfill a specific task. They are well defined, self-contained, and fully functional programs. Think of the removable batteries we use in our devices. They may be used in a remote control, shaver, or children's toy. Their functionality and ability to provide power are not only independent of the environment in which they are implemented, but also unaffected by other connected components. They provide a service.

Organizations use varying computer architectures with each having their respective advantages and disadvantages. We will now examine the advantages and disadvantages of Service Oriented Architecture.


Services are Re-usable

Because the services provided or requested are complete, self-contained programs, they are characterized by their re-usability. Someone has already created the scissors. Why would someone else try to create their own if they needed to cut fabric? Services are re-used many times in different applications irrespective of the other interacting components in that system. Let's take a currency converter for example. Not only do financial websites use them, but popular blogs and websites add these services to make their content diversified, giving the user space to do different things.

Services are Easily Maintained

One of the advantages of SOA is the elimination of the complexities associated with interacting services within an environment. When it comes to updating, upgrading, and maintaining the services in the SOA environment there are no complications resulting from interactions with other connected and interacting services. This is because the program is complete and self-contained. In environments with complex components, this makes things easy.


SOA services are complete and self-contained programs. This makes it easy for testing, debugging or any form of maintenance.


Normally, services in a SOA are available to any requester that needs them. For this reason, SOA services are made available via public directories where they can be searched for and discovered. Consumers, therefore, are always able to access the services.


Different organizations have different levels of complexity in their architecture. So, the ability of services to be successfully run on different servers within an environment increases the scalability and availability of the service.

High-Quality Services

Servers, as we have seen, may have many applications to which they may be applied. As such, there will be no functional redundancy. Data is always consistent and the service codes are constantly maintained resulting in continuous high-quality applications.

Platform Independence

One of the main advantages of SOA services is their public availability to any system that needs them, independent of the platform on which the system runs. This platform independence allows the integration of different requested services from different vendors to run harmoniously, regardless of the platform.

Increased Productivity

The world is constantly changing and technology is changing and evolving, trying to keep up. Services that have been versatile in their applications need to be constantly improved. Developers using the concepts of previous services need not create every application from scratch, but can adapt and reuse old concepts and techniques when evolving into new services and technology.


Increased Overhead

Any time a service is called, made active or interacted with, the overhead on the host machine increases as each parameter involved in the service has to be validated. This results in reduced overall performance of the machine.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account