Explain Client/Server Software Engineering.
- Two approaches are most commonly used
- An evolutionary paradigm that makes use of event-based and/or object-oriented software engineering
- Component based software engineering that draws on a library of COTS (commercial off-the-shelf) and in-house software components.
- Client/server systems are developed using the classic software engineering activities - analysis, design, construction and testing
- Instead of viewing software as a monolithic application to be implemented on one machine,
- the software has several distinct subsystems that can be allocated to the client, the server or distributed between both machines
Software Components for Client/Server Systems
- Instead of viewing software as a monolithic application to be implemented on one machine, the software that is appropriate for a c/s architecture has several distinct subsystems that can be allocated to the client, the server, or distributed between both machines:
- User interaction/presentation subsystem: This subsystem implements all functions that are typically associated with a graphical user interface
- Application subsystem: This subsystem implements the requirements defined by the application
- Database management subsystem: This subsystem performs the data manipulation and management required by an application. Data manipulation and management may be as simple as the transfer of a record or as complex as the processing of SQL transactions.
Structure of Client/Server System
File servers
(Figure: Structure of Client/Server System)
- The client requests specific records from a file, the server transmits these records to the client across the network
Database servers
- The client sends structured query language (SQL) requests to the server
- These are transmitted as messages across the network
- The server processes the SQL request and finds the requested information, passing back the results only to the client
Transaction servers
- The client sends a request that invokes remote procedures at the server site
- The remote procedures are a set of SQL statements
- A transaction occurs when a request results in the execution of the remote procedure with the result transmitted back to the client
Groupware servers
- When the server provides a set of applications that enable communication among clients (and the people using them) using text, images, bulletin boards, video, and other representations, a groupware architecture exists