What I Understand About SOA

I am reading a lot about technology these days. Being a graduate in English Literature, I have to really make lots of efforts to understand techie stuff. Thanks to the umpteen articles on the web that have been facilitating my learning.

In this post I shall talk about the concept of Service Oriented Architecture (SOA) which happens to be the latest buzz in the software industry.

The concept of SOA is quite interesting. Let me explain this concept using an example which is not related to software. Please note that the example I am going to give here is just for the sake of explanation and makes no sense in the real world.

I am sure all of you must be having washing machines at home.

Every washing machine has an inbuilt clothes dryer. The clothes dryer is specific to the washing machine and cannot be used for any other purpose.

If the dryer fails to work you need to contact the service center and get it repaired. The service representatives dismantle the entire washing machine to fix the dryer.

Now just imagine if the following is possible, how would you feel about it?

The dryer in your washing machine can be dismantled and can be used as an all purpose dryer.

That is to say if you want to dry your clothes you fix the dryer in your washing machine and if you want to dry your hair you simply unplug it from the washing machine and used it as a hair dryer.

Here the dryer can be used as it is and can also be plugged into the washing machine.

If the dryer stops working, you just take the dryer to the service center and get it fixed or replaced immediately.

This idea may not be feasible. However just ponder over this example.

I am sure you would love to have the all purpose dryer. You just need one device that can provide you the drying service for anything all the time. When you have to make a change you make it in one place.

This is what SOA is all about.

SOA thrives on the concept that you need to package components in such a way that you can reuse it. In this concept components are not interdependent. They are independent of one another.

SOA propagates Loose Coupling so that each component can function independently. This way changes can also be made quickly and efficiently without touching other components.

If you apply the concept of SOA, you need not build anything from scratch. You can build on existing material.

Say for example in the coming years the different parts of the washing machine are made independent of one another. You get a washer, rinser and dryer separately in the market, which you could you for washing and drying purpose. So if you have to build a washing machine you need not manufacture the parts. All you need to do is build a framework and plug-in all these components separately.

If this happens, what you are doing is buying all these services and making them work together to serve your purpose.

Here are a couple of articles that will help you get started with SOA:

SOA for beginners

SOA for Dummies – Chapter 1

%d bloggers like this: