Lecture 2 -- part 2
Client-server applications
- Clients
- Interacts with users through a user interface
- Performs application functions
- Interacts with client middleware using middleware API
- Receives response and display it if needed
- Servers
- Implement services
- Invoked by server middleware
- Provide error-recovery and failure handling service
Overview
- Common communication patterns in distributed applications
- Client-Server
- Group (multicast)
- Function-shipping/Applets
- Client
- Process that requests services
- Server
- Process that provides services
- Details
- Client usually blocks until server responds
- Client usually invoked by end users when hey require services
- Server usually waits for incoming requests
- Server can have many clients making concurrent requests
- Server is usually a program with special privileges
Application Software Architectures
- Many applications can be considered to be made up of three software components or logical tiers
- user interface
- processing layer
- data layer
- Client/server architecture
- Single-physical tiered, two physical tiered
- multi-tiered
- Distributed Data
- e.g., distributed database
- Remote data
- e.g., network file system
- Distributed programs
- e.g., world wide web
- Remote presentation
- e.g., telnet
- Distributed presentation
- e.g., X Windows
- Motivation for multi-tier architectures
- Frees clients from dependencies on the exact implementation of database
- It allows business logic to be concentrated in one place
- software updates are restricted to middle layer
- Performance improvements possible by batching requests from many clients to database
- Database and business logic tiers could be implemented by multiple servers for scalability
No comments:
Post a Comment