Module 3 - Client-Server Architecture
Module 3 - Client-Server Architecture
2
What is Software Architecture?
3
Reference Architecture
4
Single-Process Architecture
5
Single-Process Applications
1. Desktop application
2. Embedded system
3. Mobile application
4. Service
6
Client/Server Application
Server
Client 1 Client 2
Client 3 Client 4
One server and a set of clients
8
Client-Server Style
SSH SSH
Client 1 Client 2
Client-server model is a
distributed application
Secure
model where tasks are Shell (SSH)
partitioned between Server
the client and server.
SSH SSH
Client 3 Client 3
10
Putty – SSH Client
https://en.wikipedia.org/wiki/Secure_Shell
11
Client-Server Architecture
SSH SSH
Client 1 Client 2
SSH SSH
Client 3 Client 3
12
Client-Server Architecture
SSH Operations
• Login
• Send commands
• Display command results
• Logout
• Create application session
• Execute commands
• Close session
SSH SSH
Client 1 Client 2
Now we need to split
the operations
between the client
component and server SSH
component. Then we Server
need to specify the
interactions between
both components
SSH SSH
Client 3 Client 3
14
Client-Server Architecture
Client Server
• Send username • Accept username
• Send password • Verify password
• Send commands • Create application session
• Set application session • Execute commands
• Display command results • Close session
• Request logout
16
Uses of the Style – Cont.
17
Benefits - Ease of Data Management
Git Git
Repository Repository
22
Simple Application – Web Sites
Server
HTTP + HTML
Web Browser
23
Web Applications
24
Web Applications
25
But what if:
26
Rich Client Applications
27
Rich Client Applications
28
So…
29
Thank You
30