The below mentioned conversation is between two brothers in which Mr. Karan is inquiring & Mr. Varun is providing the required information.
Karan: Hi Varun. Can you please explain what an integrated system is?
Varun: Ya sure. It is a system in which separate programs perform separate functions with communication and data-passing between functional programs performing standardized input-output routines and a common data-base. But the data should be logically separate from the applications even if they are on the same hardware.
Karan: Then what is system architecture?
Varun: It is a representation of a system in which there is mapping of functionality onto hardware and software components & a mapping of the software onto the hardware and human interaction with these components.
Karan: What are the different types of system architectures?
Varun: There is 1-tier (single tier), 2-tier, 3-tier and multi-tier architecture. There can be n-tier architecture depending on the requirements.
Karan: Can you briefly explain each of these and also give some advantages and limitations of each type?
Varun: In single tier architecture, the data needs to be separate from the application but they are in the same hardware (i.e. desktop, laptop, server etc.) and data is directly processed by the driver.
In 2-tier (Client-server architecture), data and applications do not reside in the same hardware. Data is stored in the server and applications in individual machines connected through local area network (LAN).It has a convenient graphical user interface (GUI) & processing burden is not placed on the server when number of users is high. But management of system, high band-width requirements, maintenance/version control are some issues of concern.
In 3-tier architecture, there are 3 layers- User interface layer, Business logic layer and Database layer. The application is partitioned i.e. business logic/application is kept central (at one location/server) and presentation logic is kept local. It is connected through LAN/WAN & provides (when compared to the two tier) increased performance, flexibility, maintainability, reusability, and scalability, while hiding the complexity of distributed processing from the user.
In a multi-tier there are 4 layers – Data server, Business application server, Web server and Users which are connected through internet, that proves to be inexpensive but insecure. But the business application needs to be web enabled. The first 3 layers/components can either be in different or same physical machines/hardware or the business application & webserver could be in the same machine and database in another.
The n-tier architecture is the same as the 3-tier architecture, but it has multiple (n) components and data management servers. It can distribute components across multiple servers and can access data in multiple databases.
But in these types of architecture there are three disadvantages:
1. Data redundancy
2. Data inconsistency
3. Data insecurity
Karan: So how can these issues be resolved?
Varun: First, by using Relation Database Management System (RDBMS) which makes sure data consistency across different locations and time periods and is easier to manage in terms of backup, security & access authentication.Second, by integrating different functions in same package/software/application by using ERP system which does not require separate activity to synchronise data, is easier to implement, manage, maintain & can be purchased as a single package from an established vendor.Third, to secure the system & data, firewall servers can be used.
Karan: Can you mention some databases and application development platforms available?
Varun: Database – Oracle, SQLserver, MySQL, ZOHO
Application development platform- Java/C++, Visual basic, Ruby-on-rails, ZOHO.
Karan: Thank you Varun for providing the information.
good