One day Mickey was playing at the beach when Minnie came running to him
Minnie – Hey Mickey!
Mickey – Hi Minnie, How are you, What happened?
Minnie – I have been searching for you
Mickey – Tell me
Minnie – Do you know about SOA
Mickey – Yes, SOA = Service-Oriented Architecture
Minnie – Oh! That was so helpful. I am extremely grateful to you
Mickey – Stop that Minnie
Minnie – I need to explain about SOA in my class tomorrow. I need your help
Mickey – Alright Minnie, I know you understand with a story
Minnie – And here we go…
Mickey – Okay Minnie, tell me how did you reach here
Minnie – Can we discuss that later, I do not have all-day
Mickey – Sure, but please tell me, the story starts from there
Minnie – Okay, I drove my car to the nearest bus station, took a shuttle bus to the next stop, took a taxi to the beach, and reached here
Mickey – So you used each of these modes of transport i.e. car, shuttle bus, taxi in a way as you needed them to make you reach your destination
Minnie – Yes
Mickey – Also at each intersection of these modes, you had more than one option to take to reach one step closer to your destination
Minnie – Yes, Exactly
Mickey – In this example, we can call each transportation mode as “services”
Minnie – Okay
Mickey – And we could combine these services or use these services the way we needed to accomplish the task of reaching the beach
Minnie – Yes
Mickey – In the same way, we can combine and use individual software services in different ways or options as required to reach the goal. And this process or pattern is called SOA or Service Oriented Architecture
Minnie – So like the transportation modes, these can be different services, created by different developers using different technology stack, these can be used as required by the user in combination the way he wants to accomplish some goal
Mickey – Yes! Exactly
Minnie – Ok, I have started to understand this
Mickey – Now, here to reach the beach you could have started in your car from your home and could have covered the entire journey in your car
Minnie – Yes, of course.
Mickey – So this is like hard coding a single application to do only one thing
Minnie – Yes, but that option will be faster and safer
Mickey – Yes, so I am not saying we have to use SOA every time, It depends on the needs and circumstances
Minnie – Tell me more.
Mickey – Ok, there are 4 properties of the service in SOA
- It logically represents a business activity with a specified outcome.
- It is self-contained.
- It is a black box for its consumers, meaning the consumer does not have to be aware of the service’s inner workings.
- It may consist of other underlying services.
Minnie – Okay, so remember we learned about Microservices, How does it differ.
Mickey – Microservice architecture – a variant of the service-oriented architecture (SOA) structural style – arranges an application as a collection of loosely coupled services. You can say Microservices is a modern interpretation of service-oriented architectures used to build distributed software systems
Minnie – Okay
Mickey – So in more professional words –
Service-Oriented Architecture (SOA) is an architectural approach in which applications make use of services available in the network. In this architecture, services are provided to form applications, through a communication call over the internet
Minnie – Thanks Mickey, I will never forget this
Mickey – I am always here for you 🙂