Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Â
Odbc and data access objects
1.
2. EVOLUTION OF COMPUTING ARCHITECTURES
Aim: To discuss the evolution of client server
architecture for various computing models.
There are three system architectures,
1. Centralized system
2. File Server Architecture
3. Client server system
3. CENTRALIZED SYSTEM ARCHITECTURE
Companies that needed real computing
power turned to the mainframe computer,
which is a centralized system architecture.
Salient feature: Only movement of
marshalling are the keystrokes between the
client and the host machine.
Marshalling is the process of packaging
interface elements and sending them across process
boundaries.
4. In Centralized System, keystrokes are marshalled
from the terminal to the host.
Network Server
DATA
Terminal 1 Terminal 2 Terminal 3 Terminal 4
5. Merits
ď Excellent security
ď Centralized administration as both application
logic and data reside on the same machine
Demerits
ď Expensive to buy, lease, maintain and use.
ď Both the application and the database are housed
within the same machine process thereby offering no
way to truly partition the application logic beyond the
physical of the mainframe.
6. FILE SERVER ARCHITECTURE
⢠This brought a complete change in the
implementation of the computer architecture
⢠In this system, the application logic was
executed on the client workstation instead of
the server.
⢠These servers provide access to computing
resources like printers and large hard drives
7. File server architecture
Disk I/O Requests
Disk Blocks
DATA
Network Server
Workstation 1 Workstation 2 Workstation 3 Workstation 4
Application
Logic 1
Application
Logic 4
Application
Logic 3
Application
Logic 2
8. MERITS:
It has the low cost entry point with flexible
arrangement
Computer resources can be added or
reduced as and when necessary using this
system.
DEMERITS:
All application logic is executed on the
client machine. This results in the client
machineâs need for a large amount of power
to run the application.
9. CLIENT SERVER MODEL
This is a process involving a minimum of
two independent entities, one is the client and
the other is the server.
The client makes a request to the server
and the server services the requests and the
resulting data is sent to the client.
In this application, two separate applications
operating independently could work together
to complete a task.
10. SQL (Structured Query Language based Database
Management System)is the implementation of this
concept.
Disk I/O
Requests
Disk
DATA
Network Server
Workstation 1 Workstation 2 Workstation 3 Workstation 4
Application
Logic
Application
Logic
Application
Logic
Application
Logic
Application
logic
11. The most popular client server applications
revolve round the use of DBMS such as Oracle
and Microsoft SQL server. These applications
are referred to as back-ends and offer support
for storage, manipulation and retrieval of
business persistent data. They use SQL as a
standard method for submitting client
requests.
The significance of distributing the
application logic between the client and
server offers a faster and more cost-effective
performance.
12. File Server v/s Client Server Database
Deployment
With the advent and popularity of
Microsoft Access using the Microsoft
Database file(MDB) to store data, this is not
a client server implementation but a file
server implementation.
13. CASE STUDY
Assume that we have a set of data stored
in an MDB file namely Student_Info.mdb. This
file holds the details of the marks scored in
different subjects by students. A client want to
know as how many students scored 100% in
more than two subjects.
A query is sent to obtain the results.
14. Query Sent to a File Server System
⢠In this case, the query is not sent to the server.
⢠The logic of the query is processed and
evaluated at the client end itself.
⢠The query logic realizes that it needs to access a
table namely Student_Info in the MDB in order
to process the request.
⢠No logic is executed at the server end except the
transferring of file disk blocks.
15. Query Sent to a Client Server System
⢠Here the actual SQL statement is sent across the
network and processed by an application running
locally on the server machine
⢠As the SQL statements is processed on the server,
only the results need to be sent back to the client.
⢠Advantage: Reduced network traffic and an
incredibly quick execution time.
To meet the challenges presented by a
business environment, a new three-tier or n-tier
client server approach has been introduced
16. Two-Tier Client Server Model
⢠In this mode, a desktop machine operates as a
client and a network server functions as a back-end
database engine.
⢠The logic in a two-tier model is split between the
two physical locations namely the server and the
client.
⢠In Visual Basic, using any of the data controls
that provide a graphical link to the back-end
data source creates a two-tier client server
relationship.
17. Limitations of Two-Tier Client Server
Model
⢠Not Scalable Inability of a two-tier approach to
grow beyond the physical boundaries of a client
and server machine
⢠Unmanageable Business rules cannot be
encapsulated and deployed centrally because of
which sharing common processes and re-using
work becomes difficult
⢠Poor Performance The graphical interface
binding to the data consumes major resources
on the client machine which results in poor
performance and dissatisfied clients.
18. Three-Tier Client Server Model
⢠This model is based on the ability to build
partitioned applications.
⢠Partitioning an application breaks the code
into logical components.
⢠Each tier is called a service. These services are
shared between that client and the servers.
⢠The components can be logically grouped into
three tiers: user services, business services and
data services.
19. Service Location
User Services Client
Business logic Server
Data Services Server
The three-tier logic can be extended to
any number of tiers/services known as Multi-
Tier or n-tier architecture.
20. Values of the Three-Tier Client Server
Development
⢠Reuse The time invested in designing and
implementing components is not wasted as they
can be shared among applications.
⢠Performance As components can be placed on
machines other than the client workstation, load
processing can be shifted from a client machine
that may be underpowered to a server with extra
horsepower. This offers the user best possible
methods for each aspect of an applicationâs
execution, resulting in better performance.
21. ⢠Manageability Encapsulation of applicationâs
services into components allows the user to
break down large, complex applicationâs into
more manageable parts.
⢠Maintenance Centralizing components for
reuse has an added benefit. They become
easier to redeploy after any amendments are
made in the order to keep pace with business
needs.