Friday, 31 August 2012

Are you a Safe Ship?

21.5 years of Pondicherry. Right from my birth, this place bore me throughout my schooling and college lives. I neither had the pains of being away from home nor had the privilege to be on my own. At this place, everything was at my will and command; Nothing seemed too difficult to get here. Family, friends, life, breath, blood and flesh - everything was this place for me until suddenly, I had to leave it all at once. Time has come for me to pursue higher studies at Kharagpur. I started to while away my precious time I had for getting ready in roaming with fullest interest and meeting people I know. This is a crucial time during which I was struck strong in the heart. What I had been doing all these years aimlessly, now I was doing them with utmost awareness and consciousness. This phase of my life - I started to love my hometown and home the most. But I was even more aware of the fact that I am gonna miss everything like hell.

Fast forward some time, and now here I am in Kharagpur - a city (rather should I say rural town) that has its own pace in developing and keeping up with the urban cities. Things are going to be difficult than I ever thought. To start with language, (well, I could write another complete post on it) food, climate, everything was new. This place gave me the freedom with the cost of fact that I am responsible for my own actions. Lot of scope to learn infinite amount of things. This part of my life (the next 2 years) will be called learning, or rather learning life. You need to get up early (add a default phrase 'on your own' at the end of each), wash your clothes, take care your health, fill water, shop and what not! The first two weeks were horrible - I was absent-minded, intimidated by the new place. I couldn't keep track of things that I needed and felt stranded in a limbo. 

Past one month, this place has given me some lessons. Suddenly, it leaves me realizing about my mom's love, dad's concern, brother's deeds, granny's care, friends' mere-presence-creating -joy and everything else. Instantly impoverished. But, only thing in my mind is I should not be deterred. Something drives my mind out of these sudden changes and help me go in pursuit of my goals. 

Lessons learnt:
- Get out of your comfort zone
- Learn as much as you can
- Follow the good
- Know the bad
- Do not get stopped by ephemeral challenges
- Be focused
- The grapes are yours!

Do not forget : "A ship in the harbor is safe, but this is not what a ship is built for...."

Sunday, 5 August 2012

System Architecture - In Layman's Lingo

2230 hours. My mobile rings and the caller name flashed is 'Java Officer'(ironically!) . He is my friend, Harish, from Pondicherry. I had forgotten him for one complete week, after getting myself entangled into usual hectic schedules of an MBA Course. 'Oh God, now he is gonna kill me for not calling', I thought. Fearing that, I picked up. Much to my astonishment, he forgave me quickly and after some routine questions, took a turn discussing about my course. I answered his questions about how was Kharagpur, the campus and girls in my class(!). Later, he asked about the subjects and he was surprised to know that still I had to study IT-related subjects. To think so was not a mistake on his side, as I was an IT student in my UG too and he was curious to know reason why it was there even now. Then I explained him the significance and he started asking more about it. What, Why, How, etc. Being a only MBA student as of now from my UG batch, I felt proud and started explaining to him. I was sure to make it simple as he was from non-IT branch. Here goes our conversation for next few minutes:

Why do you call it as 'System Architecture' and not 'Computer Architecture'? Then, tell me what is a system?

As for Computer Science is concerned, the term Computer Architecture is fine. But now, the level of concretion is more and called Information Systems Engineering, the term System Architecture is more appropriate. A system is nothing but an interacting or independent components forming an integrated whole. In this way, a computer is also a system.

Ok, why do we need to study its architecture?

Firstly, architecture is simply a represtation - a way of symbolising things. Its more like drawing all individual components and knowing their interactions. It has two major ideas.

What are they?

Arey yaar. I am telling na, Listen to me hai na?

(He really thinks that I have started picking up the language so fast, which is nowhere near the reality :P)

They are Software Architecture and Hardware Architecture. The hardware consists of all tangible parts and connectors represented as boxes.

I am getting the picture now, go on. But, what is an application?

An application is a piece of software that runs on a particular platform performing specific functionality. Example, MS-Word inside MS-Office running on Vista / 7 that can be used to create and edit word documents. But, to employ this application, we can make use of data and in an IS, all the data is clubbed into a database.

Now you are letting out too much jargons.

Hmm, I will explain you. We are going to process something in our hardware, right? The database describes WHAT is to be processed and the application specified HOW it is to be processed.

Why are these things important?

Because, basically every system has these 2 components. Previously, both the data and application were clubbed together in the same machine. This is called single-tier hierarchy. I can even send you the architecture diagrams through mail. A simple example is editing your own word document from your PC/Laptop. Having a look at it, you can get a clear picture. But, when the system is expanding physically and geographically, the number of boxes/machines are going to increase. How well we are going to separate the application and data so that the processing is not conflicted or delayed or lost at any time.



Okay, tell me about other models.

Now the next step was to separate the data and application. There can be a single server that has all the data and many terminals with only the copies of the application connected together in a LAN. All the business logic lie here. A user can log in from any terminal, make use of the data from the server, edit or update it. This is called two-tier architecture.


Now, I have a doubt Prashanth. Will not the network get loaded if many users go on to access the server?

Of course yes. The solution is to partition the application and place them separately. The business logic can be extracted and kept common in a separate box in the server. This helps because only the presentation logic is kept in the terminals and they become dumb now, making the processing easier and faster. This is the three-tier architecture.


Is that all, or do we have anymore?

Wait dude, don't you wanna know about the internet?

Internet, how is it related to the discussion here?
As need increases, the partition can be done all ways and always as desired. The disadvantage in last model was that we need specialist softwares for running specific applications. This was seen as a discomfort and want of generic software was needed. Now, these were later called as the browsers and the request from client browsers were processed by web servers. This led to beginning og multi-tier architectures and the introduction of the Internet.



I got everything what you said. Im glad that i learned new things today. But, please give me some examples for database and applications.

An application can be ERP application like SAP. Prime databases are Oracle, SQL Server, HANA, etc.

Oh fine. Im gonna talk to my sister working in SAP tomorrow and gonna surprsie her. She will be astonished if she hears me talking tech like this. Thanks dude, for throwing me light on this topic.

Welcome yaar. Talking to you, I forgot about my assignments. I need to finish them now, so leaving. Good night, catch you later.

Good night :)