Saturday, 4 August 2012

Discussion on Systems Architecture


Scene :- Two friends Shuchi and Pratik meeting each other in CCD @ 6:00 p.m. in the evening.

Pratik : Hey Shuchi, you are late again !

Shuchi : Sorry yaar, was clarifying few doubts from the professor. Why didn’t you attend the lecture today ?

Pratik : I was preparing for a presentation in the HR summit tomorrow. Did I miss something important ?

Shuchi : The answer to that is Yes and No. Yes because it was a pretty simple, relaxed and interactive session; No because you can easily get a hang of it. The lecture was a on Systems Architecture, something we all have read during our engineering days but none of us remember much. 

Pratik : Systems Architecture .. ? yes I can recall only few things , single tier , 2 tier … am I right ?

Shuchi : Yes . I’l run you through it . It won’t take much time. But for that you need to order a coffee for me . 

Pratik : Haha .Sure , that I would have done anyways. You carry on.

Shuchi : In Information Systems, we basically deal with what is to be processed , i.e., data and how to process the same; i.e., through application.

Pratik : So where is the tier architecture relevant here?

Shuchi : Have I said that I have completed?  You are always so impatient. The single tier is a centralised model – the data and the applications are on the same server. 

Pratik : So you mean to say that there is no need to separate data from application ? 

Shuchi : Exactly. You can take example of mainframe systems where presentation, business logic and data access are interwined in one monolithic mainframe. We all know software packages like MS Access, MS Excel,  just to name a few. They all have the same in common that they access files directly. This means that the file you want to work with must be accessible from a local or shared drive. This is the simplest of all the architectures but also the least secure. Since users have direct access to the files, they could accidentally move, modify or even worse delete the file by accident or on purpose.There is also usually an issue when multiple users access the same file at the same time: In many cases only one can edit the file while others only have read-only access.So 1-tier architecture is simple and cheap, but usually unsecured and data can easily be lost if you are not careful.

Pratik : So can you site advantages of this model ? Here is your coffee by the way.

Shuchi : Yes, as I already said, the pros that you can take back from this single tier model is,  there is no client-site management and data consistency is easily achievable. But as I already told you, it has multiple drawbacks  – since the structure is single tier, presentation , business logic and data-model are interwined which might result in very slow update and poor code reuse and maintenance. For your reference, I’l show you this rough diagram overview : 



Pratik : What about the two tier one ?

Shuchi : In two tier architecture, data is stored in the server, application stored on individual machines which are connected through LAN. The client computer usually can’t see the database directly and can only access the data by starting the client. This means that the data on the server is much more secure. The advantage is that, it has convenient graphic user interface, but at the same time, the disadvantage is that it slows down the application.



Pratik: I think that implies the client-server solution also allows multiple users to access the database at the same time as long as they are accessing data in different parts of the database. One other huge benefit might be that the server is processing data that allows the client to work on the presentation and business logic only. This mean that the client and the server is sharing the workload and by scaling the server to be more powerful than the client, you are usually able to load many clients to the server allowing more users to work on the system at the same time.

Shuchi : You are not as dumb as you look , Pratik … hehe !

Pratik : Ok , now I am getting a hang of it , let me now guess the 3 tier model. The application is partitioned adding one extra layer is it ?  

Shuchi : Right! This involves one more layer called the business logic tier, service tier or middle tier (layer). In the client-server solution the client was handling the business logic that makes the client “thick”. A thick client means that it requires heavy traffic with the server, thus making it difficult to use over slower network connections like Internet and Wireless.By introducing the middle layer, the client is only handling presentation logic. This means that only little communication is needed between the client and the middle tier making the client “thin” or “thinner”. An example of a thin client is an Internet browser that allows you to see and provide information fast and almost with no delay.As more users access the system a three-tier solution is more scalable than the other solutions because you can add as many middle tiers (running on each own server) as needed to ensure good performance (N-tier or multiple-tier).Security is also the best in the three-tier architecture because the middle layer protects the database tier.There is one major drawback to the N-tier architecture and that is that the additional tiers increase the complexity and cost of the installation.



Pratik : Phew , that was quite a nice session. By the way,  your coffee has turned cold madame. Shall we order another one ?

Shuchi : Yaa , as they say , a lot can happen over coffee !!






  

2 comments:

  1. Thank you Sir :). It was a nice experience doing this simple task of 'writing a blog'. Don't know why I never thought of trying this earlier. Would want to make it more creative and humorous next time :)

    ReplyDelete