Saturday, August 4, 2012

Gradual evolution of computer systems architecture



It has been exactly two weeks since I have joined VGSOM, IIT Kharagpur. I'm trying hard to cope up with the pace. There are so many classes, assignments, clubs-committees. Feeling super-active. In the last two weeks probably I have attained more classes than I attended in a single semester in my college. Slowly learning to come out of the comfort zone. Anyway last night I was busy chatting in FB with my old friends. Then Moumita ping me..


Moumita - Hi..how r u? How is ur life in VGSOM?

Me - Restless...u ?

Moumita -  I'm in little pressure. Can u do me a favor ?


Me - Sure..what ?


Moumita - I have a systems architecture internal assessment tomorrow and have no idea whatsoever. Do you know about this topic?


Me - Yeah. We also have a subject called MIS in this semester and  Professor Prithwis Mukerjee is teaching us.


Moumita - Excellent !! Tell me then.

Me - The basic form of Systems Architecture is  Single-tier Architecture. It means that the data and the application reside on the same machine.


Moumita - You mean, like a personal computer? Where our files and the software both are present?


Me - Exactly...like preparing a ppt with a MS Power Point. As simple as that.


Moumita - OK got it but suppose a number of users want to access a single application then what ?


Me - Good question...that's why we need Two-tier Architecture, commonly called as Client Server application.


Moumita - What is that ?


Me - Client is the user machine where application resides and in Server common data is kept. And these machines are connected together by LAN.


Moumita - So the problem resolved..nah ??


Me - Some extent !! Its fine for 10-15 users but using this architecture becomes a huge challenge when hundreds and thousands of users are involved. Because high bandwidth will be required to cater to such a large number of users.


Moumita - So what is the solution?


Me - Three-Tier architecture. Here user interface remain on the client machine and complex business logic is stored at a central location known as the application server


Moumita - Hence, any kind of changes to the application can be done once at the central server only and not at each location. Can you give me some examples.

Me - An ERP product like SAP or Oracle e-Business Suite is a suitable example of a well designed three-tier application where the database server exists at the back, an application server runs the ERP software in the middle and the ERP client software resides on every user’s machine.


Moumita - That's too neat but I can still see another hurdle coming up in this type of architecture also. The ERP client software needs to be installed on each and every user’s machine.

Me - To counter this problem, an additional machine called the web server has been placed between the application server and the user. Here the client software on the user machine has been replaced by the web browser which cannot communicate with the application server directly but needs an intermediate server for this purpose. This need is fulfilled by a web browser which converts the data traffic from the application server to a recognizable format.

Moumita - Ok.. I got the idea but how safe is that ?


Me - Firewall servers ensure the safety and security of company data by denying access to any unauthorized data.


Moumita - Just one last question can you tell me whether multiple business applications can reside within a company ?

Me - Yeah.. Oracle RDBMS from Oracle or DB2 from IBM are such kind of business application. There exist one main application which caters to most of the business needs along with other compatible small applications. And all the company data resides in a single database application.

Moumita - I think I have consumed a lot today. Thanks for this excellent knowledge transfer session. Will catch up later.