Thursday, May 22, 2008

The System Architecture as i see it…

When we are asked to explain System Architecture as a conversation, one of my many bitter experiences in life came to mind. I belong to a town near “Kaladi”, the holy land where Jagadguru Adi Sankaracharya took birth in 788 A.D. I used to visit the Advaitha Ashram for attending their classes and yoga sessions and accessing their huge library. That was the time I was doing my Masters in Computer Science. Once one of the monks, out of curiosity, asked me about my background and shot a pertinent question.

“I have a master’s degree in Vedanta and a visiting faculty of Sanskrit University of Kalady. I have never used a computer in life. What is a computer and what are those programs you are writing for?”

It was one of “The most difficult” questions I have faced and failed to answer in life… I can very well write an essay on it if it comes as a 15 marks question for my exam…but explaining it to a man who has never used a computer system is a challenge…

So I decided to explain System Architecture to a monk… conveniently making the monk technology literate.

Monk: You talk about some information systems…What does it mean??

Me: (In a single breath) Information system is a system that comprises people, machines, and methods organized to collect, process and disseminate data that represent user information.

(The monk was insatiable with my text book answer and decided to screw me…)

Monk: What are the components of an information system?

Me: We can segregate them as Hardware and Software. The Hardware part consists of computers, large servers, storage devices and connection network. The software part is the applications that process and distribute the data.

Monk: I often here the jargon Single Tier, Two Tier and Multi-Tier architecture…what are they?

Me: They represent the way in which data and application are kept in the system. It can be an integrated system, or Client-Server architecture…

Monk: Integrated systems means?

Me: See, when you have the data and application kept in the same computer, it is called an integrated system or a Single Tier system. For an example, when you use Tally in office, you can have a single computer with the software and the database installed in it.

Monk: Is that the way it is organized in large systems?

Me: Not necessarily. When it comes to a higher set of computers and applications, we will go for a Two-Tier System. In a two tier system, we can store data in one central database and applications can be run in individual systems connected to it through a LAN. This is called Client-Server architecture. Wherever there is an electronic communication, we have to have a protocol. The LAN uses TCP/IP protocol for the communication. The client machines take data from the server, process it and stores back to the server.

It has its own pros and corns. While it reduces the burden on the server machines, it requires higher data flow in the network. Another issue is when we have to make any change in the client application; we have to go around and do for all the systems. When I have a large network, it will become a strenuous task.

Monk: So how do you get rid of this problem?

Me: Here we can go for Three-Tier architecture. In Three-Tier architecture, we will have a Data Server, which stores all the data and an Application Server which do the processing of data. The client machines are installed with user interface applications. This reduces the processing burden on the client machines and reduces data traffic in the network.

Monk: What do I do when I have client machines across the globe? How can I go and install client software in each system?

Me: When you have client machines across the globe and connected through internet, we will use a multi-tier system. In a multi-tier system, we will introduce a Web Server, which will act as an interface between the servers and the internet. The client machines can access the servers using their web browsers, like Internet Explorer. The Web Server will process the request and reply with the information needed. For example, when we do internet banking through Citibank portal, we are accessing their application server and data server using our web browser from any computer connected to internet.

Monk: Alright…this sounds like a complex system. How do we manage it?

Me: In the actual scenario, the system can be a combination of one or many of these architectures. Instead of having a single server with all the data pooled in, we will have different servers with different type of data. For example, the employee information can be kept on a separate system and the financial information is in another one. This helps setting access permission and increasing the efficiency of the system.

(While the monk keeps wondering how simple the IS compared to the intricacies of Advaitha Vedanta, I bid adieu to the Ashram

One question was lingering in mind… what is in common between Spirituality and System Architecture???

1 comment:

Unknown said...

system's have evolved after you left kasc :) not bad nonetheless.