4

Service-Oriented Architecture (SOA)

 1 year ago
source link: https://blog.bitsrc.io/service-oriented-architecture-soa-31c88eeeeb1b
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Service-Oriented Architecture (SOA)

Evolving from monolith toward a distributed system

Published in
11 min readJul 14
1*Mj2vb19Rw9arugKK3x6VgA.png

In the first years of my career, Service-Oriented Architecture (SOA) rang my bells, as many seniors and architects were talking very much about it. And the buzz was quite strong, but not as strong as microservices which is also promoted by the DevOps movement. At that time, I understood very little about this topic as I was still a junior developer, trying just to sort out some delivery problems on a project while preparing for my certification in Java. One thing I’m sure about is that N-Tiers were intensively used at that time.

Even though many architects were trying to move some system’s architecture toward SOA style, the term “monolith” was not known yet, as far as I can record from my memory, so the move was to transit from N-Tiers to SOA, by breaking down the system into components and compose them as services to be served through network calls.

Let’s describe what is a monolith and what is N-Tiers architecture before going into the details of SOA.

Related articles:

Monolithic Architecture

The term “monolith” had probably emerged when people talking about microservices for the need to distinguish between them. The Monolithic Architecture style describes the way we build an entire application as a single cohesive unit. That means all components (UI, data access, business logic) are bundled together and in the same process.

1*fHC6sGjmBPqvF8cZuiKH0A.png

Monolith — Single Application to hold all components

Back to the 2000s, all code of an application sits within the same repository, including the script to build, test and deploy the application. Before the rise of microservices, applications relied heavily on multi-threading to serve other client applications and web pages. The way to scale up in case of traffic increase is to add more resources on servers so that the applications can consume more RAMs and CPUs. That is exactly what we call vertical scaling.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK