Tuesday, September 23, 2008

System Architecture .......I am so very confused

The great Manu Mani Iyengar (A lazy fellow) asked me one day "Hardik yesterday our IT professor taught us, System Architecture. I unfortunately bunked the class and slept in my room. You know I am a lazy guy. Now the problem is I have to explain system architecture to the whole class on Monday. Punishment for bunking, you see. Can you please help me? But make sure that you make it as simple as possible as I am not very comfortable with IT jargon's". I tried my level best to explain AP (that's what I call him fondly) what system architecture is. Following is the conversation we had over a cup of coffee.

Me: I am sure you must be knowing what a hardware or software is ? Isn't it ? Like a PC and a MS Word.

AP: Come on buddy, I am not a fool.

Me: Fine. So what is an architecture? Architecture is defined as a representation – preferably a visual representation – of the hardware and software components that explains

• which software is running on which hardware box
• how are the various hardware boxes connected to each other

For instance MS Word or for that matter any other software application sits on a PC platform.

Are you with me or do I have to make it more simpler?.

AP: I am little confused on two terms you used just now. Application and platform.

Me: Just remember that nay operating system is a platform. And an application is a software that runs in a platform to perform a particular function. For example MS Words is an application
that runs on Windows XP and helps us create documents. Clear?

AP : Yes, one of my batch mate who attended the class told me to read about single tier, two tier, etc, etc. What are these ?

Me: Before I explain these terms, I would like to tell you about another concept that data should be separated from application.

Which actually means that when u create a document using the word processor, the document is the data which u can modify and the word processor used for creation of data is the application.
I hope you understood the difference between data and application?

AP: Yes I did. So what are these single tier, two tier, etc.

Me: Let me first explain you the single tier application. It means that both the data and the application resides on the same platform or the same machine. This kind of application is good for a single user or for personal use but when the number of users to access the same data increases, it wont really solve the problem.

AP: So how can multiple user access the data.

Me: That's where the two and multi layer application play a major role. Let me explain these to you. Two tier system is otherwise known as client server applications where data is separated from application and stored in a different platform. A copy of the application is available in the machine of each user that is the client machine where as data is stored in a server. These machines are connected with the server and with each other so that they can easily access data. This again is fine for a small no of people say around 100 people who are located in one building or campus but becomes a challenge when the no of users increases who are spread across the country.
Now coming to three tier architecture, it consist of three layers, presentation, database and application layer. Presentation layer consist of visual interface, application layer controls an application’s functionality by performing detailed processing where as database layer is where data is kept and is linked to the presentation layer through application layer.

AP: Fine and what about multi tier architecture ?

Me: In a multi tier architecture another machine called web server is placed between the application server and the user. So this web server converts the data traffic from the application server to a format that is universally understood by anyone who has a web browser like Internet explorer, chrome etc

AP : So is there any other architecture.

Me: This will do buddy. Hope you understood everything I explained.

AP: Yeah I did. Thanks buddy, you are an useful prodoct (Nothing wrong with the spelling, he always makes fun as I pronounce product as "prodoct")