# SOA vs. Microservices: What’s the Difference?

URL:: https://www.ibm.com/cloud/blog/soa-vs-microservices
Author:: IBM Cloud Team
## Highlights
> [Service-oriented architecture (SOA)](https://www.ibm.com/cloud/learn/soa) is an enterprise-wide approach to software development of application components that takes advantage of reusable software components, or services. ([View Highlight](https://read.readwise.io/read/01fx80jf33bm9mywh4ak9bfv0v))
> SOA emerged in the late 1990s and represents an important stage in the evolution of application development and integration. Before SOA was an option, connecting a monolithic application to data or functionality in another system required complex point-to-point integration that developers had to recreate for each new development project. ([View Highlight](https://read.readwise.io/read/01fx80k6q49ec8ysk3fv8dc8d5))
> Like SOA, [microservices architectures](https://www.ibm.com/cloud/learn/microservices) are made up of loosely coupled, reusable, and specialized components that often work independently of one another. Microservices also use a high degree of cohesion, otherwise known as bounded context. Bounded context refers to the relationship between a component and its data as a standalone entity or unit with very few dependencies. Rather than being adopted enterprise-wide, microservices typically communicate via application programming interfaces (APIs) to build individual applications that perform a specific business functionality (or functionality for specific areas of the business) in a way that makes them more agile, scalable and resilient. Typically, Java is the programming language of choice to develop Microservices. Other programming languages may also be used, such as Golang and [Python](https://www.ibm.com/cloud/blog/python-vs-r). ([View Highlight](https://read.readwise.io/read/01fx80mr7td4fqw4vgcv0p7639))
> The main distinction between the two approaches comes down to ***scope***. To put it simply, service-oriented architecture (SOA) has an enterprise scope, while the microservices architecture has an application scope. ([View Highlight](https://read.readwise.io/read/01fx80n7h2nqznwz08gmqyktzf))
---
Title: SOA vs. Microservices: What’s the Difference?
Author: IBM Cloud Team
Tags: readwise, articles
date: 2024-01-30
---
# SOA vs. Microservices: What’s the Difference?

URL:: https://www.ibm.com/cloud/blog/soa-vs-microservices
Author:: IBM Cloud Team
## AI-Generated Summary
In this article, we'll explain the basics of service-oriented architecture (SOA) and microservices, touch on their key differences and look at which approach would be best for your situation.
## Highlights
> [Service-oriented architecture (SOA)](https://www.ibm.com/cloud/learn/soa) is an enterprise-wide approach to software development of application components that takes advantage of reusable software components, or services. ([View Highlight](https://read.readwise.io/read/01fx80jf33bm9mywh4ak9bfv0v))
> SOA emerged in the late 1990s and represents an important stage in the evolution of application development and integration. Before SOA was an option, connecting a monolithic application to data or functionality in another system required complex point-to-point integration that developers had to recreate for each new development project. ([View Highlight](https://read.readwise.io/read/01fx80k6q49ec8ysk3fv8dc8d5))
> Like SOA, [microservices architectures](https://www.ibm.com/cloud/learn/microservices) are made up of loosely coupled, reusable, and specialized components that often work independently of one another. Microservices also use a high degree of cohesion, otherwise known as bounded context. Bounded context refers to the relationship between a component and its data as a standalone entity or unit with very few dependencies. Rather than being adopted enterprise-wide, microservices typically communicate via application programming interfaces (APIs) to build individual applications that perform a specific business functionality (or functionality for specific areas of the business) in a way that makes them more agile, scalable and resilient. Typically, Java is the programming language of choice to develop Microservices. Other programming languages may also be used, such as Golang and [Python](https://www.ibm.com/cloud/blog/python-vs-r). ([View Highlight](https://read.readwise.io/read/01fx80mr7td4fqw4vgcv0p7639))
> The main distinction between the two approaches comes down to ***scope***. To put it simply, service-oriented architecture (SOA) has an enterprise scope, while the microservices architecture has an application scope. ([View Highlight](https://read.readwise.io/read/01fx80n7h2nqznwz08gmqyktzf))