Saturday, 4 August 2012

System Architecture---Explained in Layman's Term

Yesterday I was chatting with my inquisitive Little brother Karthik, who studies in class X.
Karthik: "Hey, Software Engineer!!!!!!Tell me something about called "System Architecture", Just got the term from one of my friend, and I am not sure what it means actually!!!! And please don't tell me that you have forgotten that and need to recapitulate the topic!!!!!!You Engineers are very famous for doing that!!!"
I ignored the punning included in last part and enthusiastically replied "Ya, sure. Try to understand the word "Architecture". An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structure of the system which comprises system components.  Similarly, when you hear "System Architecture"-what is that which comes to your mind?"
Karthik: "The internal base structure of my machine, of course!!!!"
Me : "Yes, in a broder way- we use distributed application structure that separates the database and the data handling system from the front end application or the client application that uses the data."
Karthik: "well, sounds ok !!!What are the types of System Architecture?"
Me: There are 3 types so far. Single Tier, Two Tier and Multitier, my dear!!!!!The Single Tier architecture will ensure that both the Database handling and Front end are written in the same program , may or may not be in the same machine. Confused? well let me draw a diagram for helping you out!!!"

Single -Tier Architecture
                                  
                                   
              
                                                               
Karthik: "Nice work,bro. So, I guess two-tier would be that the Database and the front end application will reside at two different places, right?"
Me: "You are a fast learner ,indeed, Karthik !!!!Yes, it is!!!
Two-Tier Architecture
                                        
Karthik: “I am .Now , can you come up with an example of Multi-tier architecture?"
Me: "Sure. Let me tell you that it's kind an extension of 3-tier Architecture.Suppose , I write a program ,which finds everybody's Social Security Number ".Now ,data handling part or the server application which interacts with the database of the marks and grades resides on the server and the application resides on the client. By the way, Client is the machine we will be using mostly. So, while data retrieving , we will be shooting database query through the server, to the clients. So, in this case, the program interacts with the server, to get the complete piece of information. The server , in turn returns the complete list of people and their Social Security Number .So, we can say ,the whole procedure is divided in two phases:
1.Server Application and 2.Client Application
Now, considering the huge population of India, and Social Security Number is the call of the day(Thanks to Mr. Nilekani ) do you think following the same procedure would help us to detect the Social Security Number for everyone? No dear!!!! So, to finetune things, we have another layer in between : The Business Layer. Here, my program will interact with the Business Logic Layer, which , in turn will fetch the data from Database. Here, the business Logic Layer has all the rules to fetch the correct number, and so , instead of fetching a whole chunk of data, it would return only the Number we are looking for!!!!! This single number takes up a lot less bandwidth than it would have taken otherwise. Again, I am here to help you out with my presentation skill!!!!

Three -Tier Architecture
                                 

Any Maintenance Activity for the application now became simple as the changes were only needed in the application server.”
Karthik: “But I have heard about Security issues like Hacking…so is it really secure ?”
Me: “It’s safe my brother (smiling). Firewalls are installed which act as watchdogs and deny access to outsiders.”

How Firewall Works
                                            
Karthik:  “Ok, seems like your 4 years of learning was not a total waste!!! Now…..”
Me: “Enough for today , Karthik!!!I am getting late for my classes and will catch you later.
Karthik: “Ok ,one last thing. As we all know that engineers forget things very easily and you left Engineering long time back, how come you remember all those stuffs?”

Me: “Well, thanks to our Prof. Prithwis Mukherjee and his innovative way of learning. For more information, you can visit this link http://www.slideshare.net/prithwis/bis02-systems-architecture.
Well, see you Karthik. Bye”.
Karthik:  “Bye, brother,thanks a lot!!”