- Year not given · 5 marks
Client-server versus distributed object architecture
Short answer
Client-server has fixed roles: clients request services, servers provide them, communicating by request-reply. Distributed object architecture treats every component as an object with an interface, and objects interact through middleware (Object Request Broker) such as CORBA, so services can be relocated and the system is more flexible but harder to design.
Compare client server and distributed object architecture.
In a client-server architecture the system is a set of servers that provide services and clients that request them over a network; the roles are fixed. In a distributed object architecture there is no difference between clients and servers: the system is a set of objects, each providing services through an interface, and objects call each other through middleware called an Object Request Broker (ORB), e.g. CORBA, Java RMI or DCOM.
Client-server Distributed objects
[C1] [C2] [C3] [O1] [O2] [O3] [O4]
\ | / | | | |
network +---------------------------+
/ \ | Object request broker |
[S1] [S2] | (middleware bus) |
+---------------------------+
| | |
[O5] [O6] [O7]
| Point | Client-server | Distributed object |
|---|---|---|
| Roles | Fixed: clients request, servers serve | No distinction; any object can use or provide services |
| Basic unit | Client and server processes | Objects with published interfaces |
| Communication | Request–reply protocols (e.g. HTTP, SQL over TCP/IP) | Remote method calls through ORB middleware |
| Placement of services | Decided at design time (which server does what) | Can be decided late and changed at run time |
| Flexibility and scalability | Adding servers is easy but layers are fixed | Very flexible; objects added, moved or replicated as needed |
| Openness | Depends on server interfaces | Open system; objects in different languages can work together (IDL) |
| Design complexity | Simple, well understood | More complex to design and test |
| Typical example | Internet banking, web applications | Data mining system, distributed enterprise systems |
Advantages of distributed objects over client-server: designers can delay decisions about where services are provided, the system is open and can be extended easily, and it can be reconfigured dynamically. Disadvantage: it is harder to design than client-server, and middleware adds overhead. Client-server is preferred when the services and their locations are clear and stable.
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Multiprocessor versus client-server architecture · Software Engineering, chapter 3
- Distributed object versus multiprocessor architecture · Software Engineering, chapter 3
- Architecture before specification; client-server · Software Engineering, chapter 3
- Client/server architecture and FTP operation · Internet and Intranet, chapter 3
- Features of client/server architecture · Computer Networks and Security, chapter 1
- Client-side versus server-side scripting · Web Technology, chapter 3 · asked 3×
- Short note: Client-Server and Master-Slave · Big Data Technologies, chapter 1