Tuesday, September 23, 2008
Computer Architecture.. an dummies understanding
Friend: We would like to know what an System’s Architecture basically is? What it’s comprises of? What importance does it have in IT?
Me: Systems Architecture is the conceptual design of elements or components that goes into an making of full IT infrastructure. The conceptual design is based on indexes such as performance and structure it needs to adhere to. Also the cost factor is one of the main element that goes into designing of such systems.
It comprises of all the IT infrastractural needs that goes into making of IT system of organisation. The needs may differ based on requirements of IT and the type application it wants to support and the type of service and quality that it intends to get from such an development. The main elements that it comprises of are a) Database b) server c) software applications. The list is generic and depends on type of strurcture.
The importance part has already been clarified above. Tha main attributes that gets importance are.. a) Cost b) Service Quality C) Flexibility d) IT objective.
Friend: Now that we have brief idea of what System architecture is and also that is of various type can u please get into some more generic details regarding that?
Me: Now that i have told you that it depends upon various factors and hence have various types, in short i can summerize type of Systems Architecture as follows:
· Single Tier
· Double Tier
· Three Tier
· Multi tier
The choice again depends upon choice and choice is again driven by the factors that i have already mentioned you as above.
Friend: What’s an single Tier Architecture and when to prefer it?
Me: Single Tier Architecture is the simplest of al architecture and is driven by simpler and less complex and less critical needs.
In this type of architecture all components i.e Server, database, application etc goes in at one place or say in one system only. Eg: An spreadsheet software where server(which runs it), database(which stores it’s values of variable’s etc.), application(the spreadsheet interface itself) that resides in your PC is an best example of single tier system architecture.
The main features of this are: a) Low Cost b) serving to minimal no of user. c) preferred for personnel IT needs generally .
Friend: So all our Laptop applications are single tier Applications? Then where does second tier comes into place?
Me: Not exactly that all your applications over there in Laptop are single tier for example you AIS(academic information systems) interface is Double tier systems.
Now coming to double tier system, it basically means that you application is in one system(as in this case your Laptop) and other infrastructure like database and server resides on other machine(in this case the server in you college). The rationale that goes behind this is instead of having copies of all infrastructure with application its more viable to keep layered architecture so that some cost saving and also maintainance is possible .
The main features of this are a) Highly maintainable b) servers to many users with same infrastructure – basically preferred for LAN c) efficient utilization of incurred resources.
Friend: so even we use double tier architecture for our persenol use, that’s an status for us!..so what differenciates double tier and Triple Tier?
Me: As said double tier structure is preferred for LAN type of network. The Triple tier comes into play when the numbers of users have grown many folds and serving them from same set of database and server becomes cumbersome as it lets it toll on performance issue and generally Triple Tier is preferred where good and quick performance becomes an issue and differenciater.
An Triple architecture consists of three layers..we will analyse it with help of an example, let’s say ERP system....
PRESENTATION LAYER: The basic interface where the parameters are entered or say results are seen is the presentation layer. This layer simply provides the interface for interaction and by itself does nothing.
APPLICATION LAYER: The Business Logic that goes behind the processing of results or submission of parameters resides on some other system/server and all processing of data takes place ont his layer only. This layer may have many additional parallel layer as different logics would be there for different sets of data and may reside on different server. Eg: sales, HR, marketing.
DATABASE LAYER: This layer just forms the database part and as the case is the whole of database may be residing on a different machine/machines. Now the question that may arise is why not different database for different sets of data.. the answer is simple all data are inter related Eg: an sales guy may want to have a look at inventory level.. and hence all datas need to be at one place.
The main feature of this architecture goes as a) Suitable for Critical applications b) Highly costly c) can serve an immense number of users D) highly performance oriented e) Highly reliable
Friend: So sadly we don’t have an Triple Tier architecture on our systems!!...do we have multi tier..what goes in there?
Me: If i say NO to your sadness.. i mean yes you do have Triple Tier applications on your Laptop..now it’s your task to find out which applications..
Taking on Multi tier... as the name suggests it comprises of many layers ans there is no fixen structure for it and it can be said to me extended form of Triple Tier in a way.. remember parallel systems?.. but the choice of this type of architecture depends upon the personel choice and understanding of needs and is highly subjective... as an Example we can say Website where browser(application) loads interface on other server(application) whose business logic may reside on other server(server) which may enter data on nay other machine (Database)..
I hope i have tried to make the explanation as simple as possible and also making it practical by citing realtime and practical examples, if you have any further doubts or want more clarification you can always write to me..
After this the discussion still went on as the content needed to be elaborated more specifically for few people but as per feedback and self analysing power.. it was satisfactory..
Ruby on Rails... The Next Web Platform
What is Ruby on Rails?
What is Ruby on Rails?
Why ruby on rails?
Why Ruby on Rails?
With Ruby on Rails, we simply get work done faster. Before Ruby on Rails, web Pages were written using languages such as PHP, Java, ASP, which could take lot of time to complete and you might just have a large chunk of non-manageable code at the end.
RoR Database:
It has Integrated support for most leading database like MS SQL Server, MySQL, Oracle, PostgreSQL and SQLite enables Ruby on Rails (ROR) developers to develop the system in their favorable database system.
Ajax
Ruby on Rails has become the most favourable Development environment for developers,even with those who were accustomed to other languages. This framework has given a fight to and has been enabled to capture a huge chunk of market of PHP driven web applications.
- Direct Database connection - no parameters passing when connecting each type
- DRY - Do Not Repeat - code once written should be utilized multiple places instead of writing again
- MVC -this multi-tier platform enables to write/search code for particular part at particular place and hence error checking is reduced.
- Testing- With development of application this framework by itself writes different test for them and hence more secure and better codes are developed.
- Plugins- This framework has a great support of plugins and by use of these many feature development has before matter of just a click - for ex Scaffolding - here as per database table structure a full interact able form is developed with just an commend - and hence faster development.
