Application Programs & Architecture
Application Programs
Various domains include
• Financial
• Travel & Tourism
• Communication
• Knowledge Discovery
• Sports
• Software Engineering
• Library
• Education
• Document Processing
• Health
• Organizational ERP.
Characteristic of Application Programs
Diversity:
• Varied in domain, functionality, user base, response time, scale, and daily hit.
Unity:
• Most utilize RDBMS (Oracle, DB2, MySQL, PostgreSQL).
• Functionally split into Frontend, Middle, and Backend layers.
Application Architectures: Layers
1. Presentation Layer / Tier:
• Utilizes MVC (Model-View-Controller) architecture.
2. Business Logic Layer / Tier:
• Provides high-level view of data and actions, often using object data model.
3. Data Access Layer / Tier:
• Interfaces between business logic layer and database, maps object model to relational model.
Application Architectures: MVC
Architecture Evolution
Three distinct eras of application architecture
• Mainframe (1960’s and 70’s)
• Personal computer era (1980’s)
• Web / Mobile era (1990’s onwards)
Architecture
Evolution
The architecture of a DBMS can be
seen as either single tier or multi-tier:
• 1-tier architecture
• 2-tier architecture
• 3-tier architecture
• n-tier architecture
1-Tier
Architecture
• In this architecture, the database is directly
available to the user. It means the user can
directly sit on the DBMS and uses it.
• Any changes done here will directly be done
on the database itself. It doesn't provide a
handy tool for end users.
Source : scalartopics
• The 1-Tier architecture is used for
development of the local application, where
programmers can directly communicate with
the database for the quick response.
1-Tier
Architecture
Single Tier DBMS Architecture
is used whenever:
• The data isn't changed
frequently.
• No multiple users are
accessing the database
system.
• We need a direct and simple
way to modify or access the Source : scalartopics
database for application
development.
Two-Tier
Architecture
• The 2-Tier architecture is the same as the basic
client-server. In the two-tier architecture,
applications on the client end can directly
communicate with the database on the server side.
For this interaction, APIs like ODBC, and JDBC are
used.
• The user interfaces and application programs are
run on the client side.
• The server side is responsible to provide the
functionalities like query processing and
Source : scalartopics
transaction management. To communicate with
the DBMS, the client-side application establishes a
connection with the server side.
Two-Tier
Architecture
The main advantages of having a two-tier
architecture over a single tier are:
• Multiple users can use it at the same time.
Hence, it can be used in an organization.
• It has high processing ability as the
database functionality is handled by the
server alone.
• Faster access to the database due to the
direct connection and improved
performance.
• Because of the two independent layers, it's
easier to maintain. Source : scalartopics
Three Tier
Architecture
• The 3-Tier architecture contains another
layer between the client and server. In this
architecture, the client can't directly
communicate with the server.
• The application on the client end interacts
with an application server which further
communicates with the database system.
• The end-user has no idea about the
existence of the database beyond the
application server. The database also has no
idea about any other user beyond the
application. The 3-Tier architecture is used
in the case of the large web application.
Source : scalartopics
Three Tier
Architecture
The main advantages of Three Tier DBMS
Architecture are:
Scalability - Since the database server isn't aware of
any users beyond the application layer and the
application layer implements load balancing, there
can be as many clients as you want.
Data Integrity - Data corruption and bad requests
can be avoided because of the checks performed in
the application layer on each client requests
Security - The removal of the direct connection
Source : scalartopics
between the client and server systems via
abstraction reduces unauthorized access to the
database.
N-tier
architecture
N-tier architecture would involve
dividing an application into three
different tiers. These would be the
• logic tier
• the presentation tier
• the data tier.
Image via Wikimedia Commons
Sample Applications in Multiple Tiers