Sunday, September 21, 2008

Systems Architecture ... What's that??

My brother Kiran is studying in class 10.The first day he bought his new books for the new session he was going through his text books. While he was going through his IT book he came across the term "systems architecture". He could not understand the concept. Hence he came to me for explanation. The following is the dialogue we had.
Kiran: I was just flipping through my IT book when i came across the term 'systems architecture'. I did not understand what is it all about?
Me: What made you feel so uncomfortable about it?
Kiran: It was full of jargon like two- tier; three- tier; multi- tier ..
Me: Hey hold on! The concept is not as complex as the language is.
Kiran: Then what does this term mean actually?
Me: What did you understand?
Kiran: That there are four types of architecture :
Single-tier
Two- tier
Three- tier
Multi- tier
Me: Yes you are right but what is this architecture all about?
Kiran: The structure of softwares and hardwares.
Me: Yes. A representation or model of:
1. On which hardware box will a particular software run.
2. How are these hardware boxes connected to each other.
Kiran: Yes but how will I know when and where what kind of architecture is used?
Me: A single tier architecture is where both the application program and database reside on the same terminal like your PC or my laptop.
Kiran: What is an application program and a database?
Me: Let me give you a simple example: You use Microsoft word on your computer. What is Microsoft word?Nothing but the application program. The data that you feed in forms the database. Like may be a list of your subjects and the marks you procured in them. This is called a single tier architecture. Wherein only one user operates.
Kiran: Ok.
Me: But you also have your school ftp server wherein all your class mates can access their marks with the respective subjects on the same ms-word file. All of your classmates have the application software i.e. ms-word installed in their respective PCs. And you all are accessing the database stored on the ftp server. So in this case you all are connected through the network to the ftp server. Your respective PCs are the client machines whereas the machine where the database is stored is the server machine. This is a two tier client- server architecture. So you can say a LAN is an example of two- tier architecture.
Kiran: What is a three tier architecture then?
Me: The 3-Tier architecture has the following three tiers:
Presentation Tier
This is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network.
Application Tier(Business logic/Logic Tier)
The logic tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.
Data Tier
This tier consists of Database Servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance.
Now, say you and your class mates want to know what your respective final grades are. The process that will follow by using a three tier architecture is as follows:
1. The student asks the client application.
2. The client application asks the server application.
3. The server application queries the data server.
4. The data server serves up a record set with all the student's grades.
5. The server application does all the calculations to determine the grade.
6. The server application serves up the final grade to the client application.
7. The client application displays the final grade for the student. Though this list seems long but actually the speed of the process is high and is less expensive.
Multi Tier has just another component added to the three tier architecture which is a web server. And unlike three- tier there is no need to have the software at each client machine. The web server converts the data traffic from the application server to a format that is universally understood by anyone who has a web browser. Example is a WAN. Now I hope it is clear to you what is a systems architecture?
Kiran: Yes, now I can relate it to all that I do regularly on my PC and the net.