Distributed Systems Architecture
Distributed systems architecture
Advantages
Resource Sharing Openness Concurrency Scalability Fault Tolerance Complexity Security Manageability Unpredictability
Disadvantages
Distributed systems architecture
Client-Server Distributed Objects
Client-Server architecture
Two-tier Architectures: server(s)/client(s)
Thin-Client model: Applications and heavy work resides on server(s). Client(s) serve as interface for the server(s) Fat-Client model: Most of the programming logic resides on the client(s) side. Server(s) handles data. Applet model: intermediate model
Client-Server architecture (cont.)
Three-tier Architectures: presentation / processing / data management
Example: Internet Banking Application
Presentation: Web browser (+ web server) Processing: Server side applications Data management: RDBMS
Distributed objects architecture
Objects that provide interfaces to a set of services that they provide. Objects can communicate with other objects to generate requests / provide services Object broker => middleware
Distributed objects architecture
Advantages:
No need to decide on locations for services, each object can work on any place Very open system architectures Flexible and scalable System can be reconfigured dynamically Systems are very difficult to design
Disadvantages:
P2P architecture
De-centralized systems Computations can be carried on by any node Service oriented system architectures
Suggested readings
12.3.1 CORBA