Wednesday, November 26, 2008

OMS

I am the owner of a toothpaste firm "Quadrant". Our firm produces varieties of toothpaste like:
Herbal
Salt
Gum protection

The stocks of the above 3 products is maintained in Alipore where we have the central depot.

We want a system where :

1)My salesperson can log on via the web on the central depot system and inform the central depot about the requirement at a particular shop.

2)the system will then check the inventory for the particular product and if there is sufficient level of stock, it will accept the demand as an order and deduct that order from the existing inventory level to show a true picture of the existing stock with us.

3)Incase, there is insufficient inventory then the system will inform the salesperson and the demand for that product will be rejected i.e. no order should be placed.

Sunday, November 16, 2008

OOPS!!

My brother Ayush who has just got over with his board exams was asking me how to utilise his three month off before joining college. This is the conversation we had.
Me: I think you should do some computer course to raise your elementary knowledge about computers to a level which will help you gain an edge over your peers.
Ayush: But what is the justification of doing a course related to computer in order to do an effective utilisation of time? I can do so many other things.
Me: Sure you can but now that I am exposed to the world of IT after I joined Praxis I will suggest you to enrich your computer knowledge whenever you get an opportunity to do so.
Ayush: So you think IT is the only important thing?
Me: I did not mean that but since your aim is to enter the field of management in future I would tell you the advantages of the same. When you enter the corporate world you will find that the business processes are automated at a high degree. This is not just to gain efficiency but to stand where you are in this competitive world where all your competitors are upgrading the computer processes continuously.
Ayush: True, nowadays I find so many new technologies being mentioned in the newspapers and tech shows on TV.
Me: Most of them are not “new technologies” as you term it rather upgraded versions of the older processes.
Ayush: Okay.
Me: So it is necessary for you to know the basics of those processes so that you can keep ‘upgrading your knowledge’ about these technologies also.
Ayush: Yes now it makes sense for me to think of the various computer courses to choose from. Can you suggest me where to start from?
Me: Sure, you should start building your knowledge on computer programming.
Ayush: I think then C, C++ would be the starting point.
Me: I totally agree with you because it will give you an idea about Object Oriented Programming.
Ayush: Now, what is Object Oriented Programming?
Me: Oh! OOP as it is called is programming paradigm that uses "objects" and their interactions to design applications and computer programs. Some of the relevant terms related to the same are : encapsulation, polymorphism, and inheritance. And two most important terms are “CLASS” and “OBJECT”.
Ayush: What are all these?
Me: Let me first explain you what is an Object. An Object is a group of related functions and a data structure that serves those functions.
The functions are known as the object's methods, and the fields of its data structure are its instance variables. A program can have more than one object of the same kind. The program that models water usage, for example, might have several Faucets and Water Pipes and perhaps a handful of Appliances and Users. Objects of the same kind are said to belong to the same Class. All members of a class are able to perform the same methods and have matching sets of instance variables. They also share a common definition; each kind of object is defined just once.
Inheritance is specific to object-oriented programming, where a new class is created from an existing class. Inheritance (often referred to as subclasses) comes from the fact that the subclass (the newly created class) contains the attributes and methods of the parent class. The main advantage of inheritance is the ability to define new attributes and new methods for the subclass which are then applied to the inherited attributes and methods.
This can be used to create a highly specialised hierarchical class structure. The biggest advantage is that there is no need to start from scratch when wanting to specialise an existing class.
Class hierarchy
The parent-child relationship between classes can be represented in a hierarchical view often called class tree view. The class tree view starts with a general class called superclass (sometimes referred to as base class, parent class, ancestor class, mother class or father class), Derived classes (child class or subclass) become more specialised further down the tree.

Multiple inheritance
Some object oriented languages, such as C++ allow multiple inheritance, meaning that one class can inherit attributes from two super classes. This method can be used to group attributes and methods from several classes into one single class.
The word Polymorphism comes from Greek and means having several different forms. This is one of the essential concepts of object-oriented programming. Where inheritance is related to classes and (their hierarchy), polymorphism is related to object methods.


The ability of different objects to respond, each in its own way, to identical messages is called polymorphism.
Ayush: What is encapsulation?
Me: Storing data and functions in a single unit (class) is encapsulation. Data cannot be accessed to the outside world and only those functions which are stored in the class can access it.
Ayush: Okay it seems to be interesting. I will find out about the training centres and will enrol right away for the programming course. Thanks a lot sis!
Me: My pleasure.

Monday, November 3, 2008

Sunday, September 21, 2008

Systems Architecture ... What's that??

My brother Kiran is studying in class 10.The first day he bought his new books for the new session he was going through his text books. While he was going through his IT book he came across the term "systems architecture". He could not understand the concept. Hence he came to me for explanation. The following is the dialogue we had.
Kiran: I was just flipping through my IT book when i came across the term 'systems architecture'. I did not understand what is it all about?
Me: What made you feel so uncomfortable about it?
Kiran: It was full of jargon like two- tier; three- tier; multi- tier ..
Me: Hey hold on! The concept is not as complex as the language is.
Kiran: Then what does this term mean actually?
Me: What did you understand?
Kiran: That there are four types of architecture :
Single-tier
Two- tier
Three- tier
Multi- tier
Me: Yes you are right but what is this architecture all about?
Kiran: The structure of softwares and hardwares.
Me: Yes. A representation or model of:
1. On which hardware box will a particular software run.
2. How are these hardware boxes connected to each other.
Kiran: Yes but how will I know when and where what kind of architecture is used?
Me: A single tier architecture is where both the application program and database reside on the same terminal like your PC or my laptop.
Kiran: What is an application program and a database?
Me: Let me give you a simple example: You use Microsoft word on your computer. What is Microsoft word?Nothing but the application program. The data that you feed in forms the database. Like may be a list of your subjects and the marks you procured in them. This is called a single tier architecture. Wherein only one user operates.
Kiran: Ok.
Me: But you also have your school ftp server wherein all your class mates can access their marks with the respective subjects on the same ms-word file. All of your classmates have the application software i.e. ms-word installed in their respective PCs. And you all are accessing the database stored on the ftp server. So in this case you all are connected through the network to the ftp server. Your respective PCs are the client machines whereas the machine where the database is stored is the server machine. This is a two tier client- server architecture. So you can say a LAN is an example of two- tier architecture.
Kiran: What is a three tier architecture then?
Me: The 3-Tier architecture has the following three tiers:
Presentation Tier
This is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network.
Application Tier(Business logic/Logic Tier)
The logic tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing.
Data Tier
This tier consists of Database Servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance.
Now, say you and your class mates want to know what your respective final grades are. The process that will follow by using a three tier architecture is as follows:
1. The student asks the client application.
2. The client application asks the server application.
3. The server application queries the data server.
4. The data server serves up a record set with all the student's grades.
5. The server application does all the calculations to determine the grade.
6. The server application serves up the final grade to the client application.
7. The client application displays the final grade for the student. Though this list seems long but actually the speed of the process is high and is less expensive.
Multi Tier has just another component added to the three tier architecture which is a web server. And unlike three- tier there is no need to have the software at each client machine. The web server converts the data traffic from the application server to a format that is universally understood by anyone who has a web browser. Example is a WAN. Now I hope it is clear to you what is a systems architecture?
Kiran: Yes, now I can relate it to all that I do regularly on my PC and the net.