Saturday, 4 August 2012


Below is an Excerpt from the conversation between me and my friend Novo about system architecture. Novo works in power sector and he was surprised about the IT industry and the volume of data flowing in the industry. He invited me to have a discussion on the systems and its architecture with a belief that I am master in it, but then truth. I only know. Any how I tried my best to answer his queries.

Novo: Hi Macha!!

Me: fine da. How about you??

Novo: good da. For the past two days I am totally confused about system architecture as I have to deal with a project which involves lot of consumer data and applications that are used to view and analyse this data. Help me in this regard.

Me: Novo, Today with the rapid developing facet of industry, be it IT or non-IT data gathering, data collection and data analysis is critical and important. As the data associated to an industry is huge and complex there requires a methodology to handle data and the applications associated with it effectively. Hence system architecture is a conceptual model which requires our attention in that matter concerned and it is a model to organize the data and applications effectively.

Novo: what we did in the past da, before this system architecture was introduced as industries flourished in the erstwhile also?

Me: In the past, we had accounts book and bill books which is used to store the transactions in an organization or in a department of the organization. There were also many data books like employee salary book, expenses book etc. Data was organized manually and the industry flourished earlier using this concept. But then advancement of technology and rapid shift in industrial and people patterns, it is very difficult to use the old methodologies. Hence people used the advancement in computers and the advent of internet helped them to organize their data in systems. This urge brought us the concept of “System Architecture”.

Novo: Ok da, can you tell me how system architecture works

Me: Sure da, System has various levels/tier and I will talk about the single tier architecture first.
Single-tier architecture is the notion of having the user interface of a web application, the middle ware and the data access, all contained in a single machine. 

The application layer and the data layer are present in the same machine and the user logs in to the system and analyses the data he/she required. In a nutshell it’s like a box which has all the elements in it like movies and the player with which you open the media file, all resides in your local machine.


Novo: What if data is huge and interrelated and has to be coordinated?

Me: Yes macha, hold on we are having two, three and multiple tier architecture for this purpose and I will explain each one of you to my best of knowledge.

Let me first explain you two -tier architecture.
The two-tier architecture is like client server application. The direct communication takes place between client and server. There is no intermediate between client and server.

 


 Here the communication is one to one. Let us see the concept of two tiers with real time application. For example now we have a need to save the employee details in database. The two tiers of two-tier architecture is
  1. Database (Data tier)
  2. Client Application (Client tier)
So, in client application the client writes the program for saving the record in SQL Server and thereby saving the data in the database.

Novo: What happens to the performance of the system if there is more number of users?

Me: Yes da, performance will have its impact if the number of users and this system is more convenient when the number of user accessing them is minimal.

Because of this issue, we have three tires and multiple tier architecture.
Three tier architecture having three layers. They are 
  1. Client layer
  2. Business layer
  3. Data layer
The data layer and client layer remains the same as in two tier architecture, but we have an additional concept of business layer here.
Business layer: It is the intermediate layer which has the functions for client layer and it is used to make communication faster between client and data layer. It provides the business processes logic and the data access.

 



The advantages are
  1. Easy to modify without affecting other modules
  2. Fast communication
  3. Performance will be good in three tier architecture.
Let me also explain you about the multi tire architecture.
This is the most scalable application architecture (over two-tier and three-tier). This architecture refers to 4-, 5-, or even higher-tiered architectures. It is the most complex type of architecture, splitting the application and database management tasks into many discrete components. For example, take the three-tier architecture and change it so that the application logic is separate from the database management system–this gets you to four-tier architecture. With this structure you can more easily change one of the tiers without compromising your entire application. To get to 5 tiers you could move some of the application logic to the client to optimize performance.

For instance, you would only need a web browser like Google Chrome or Mozilla Firefox to be installed in the client and all the required information can be accessed from any part of the world. This consists of essentially four layers - web based client, web server, business logic server and the central data server. Through the web based client you can inquire about the information required which gets relayed over to the web server via the Internet (a form of WAN - Wide Area Network). The web server converts the request to a language which the business application/ logic server can understand. Now data transaction takes place between the business application server and the data storage server, required computations are done and answers sent to the web server. The web server then relays this data back to the web client through the WAN. 

The advantage is improved efficiency in this system and the major disadvantage is the complexity and high cost involved in building this system.

Macha, I have done. Hope you have understood.

Novo: Yes da, I have understood. Thanks a lot for your help and now I am confident in taking up the project in my office. It’s nice to know all these as I was using all these applications without understanding the logic behind it and now I could relate to the applications with the various levels of architecture to understand them more easily.

Me: Cool, da. Don’t forget to treat me once your project is completed. I am leaving now. If you require any clarifications give me a call

Novo: Sure da, Bye. I will catch u tomorrow.

2 comments: