Client/Server Software Engineering
- There are different software process models introduced.
- Although many of them could be adapted for use during the development of software for c/s systems, two approaches are most commonly used:
- Moreover, An evolutionary paradigm that makes use of event-based and/or object-oriented software engineering.
- also, Component-based software engineering that draws on a library of COTS and in-house software components.
- Client/server systems developed using the classic software engineering activities analysis, design, construction, and testing—as the system evolves from a set of general business requirements to a collection of validated software components that have implemented on client and server machines.
Software Components for Client/Server Systems
- Instead of viewing software as a monolithic application to implemented on one machine, the software that appropriates for a c/s architecture has several distinct subsystems that can allocate to the client, the server, or distributed between both machines:
- User interaction/presentation subsystem. This subsystem implements all functions that typically associated with a graphical user interface.
- Application subsystem.Moreover, This subsystem implements the requirements defined by the application within the context of the domain in which the application operates.
- Database management subsystem. Also, 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 sophisticated SQL transactions.
Structure of Client /Server System
- File servers. The client requests specific records from a file. Moreover, The server transmits these records to the client across the network.
- Database servers.Moreover, The client sends structured query language (SQL) requests to the server. These transmitted as messages across the network. Moreover, 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 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.