Client-Server Computing and Its Benefits
There is little disagreement that the implementation of client/server computing can result in current and future savings, but this new technology usually cannot be justified on cost/benefit analysis alone. The other major benefits are intangible and hard to quantify.
Dollar Savings:
Mainframe environments are costly to maintain – the hardware, software, and staff required to maintain and develop applications are very expensive. Fewer staff is required to maintain client/server platforms and maintenance contracts are moderate in cost. Significant cost savings on hardware and network expenditures relative to mainframe-based environments can be identified. When more power is required of a server, it can easily be expanded instead of replaced, as is often required in mainframe-based environments.
Client/server technology allows organizations to protect current investments by using existing equipment and protect future investments by using scalable, expandable products. Client/server applications are usually developed on the client machine, and these applications can be developed in less time than mainframe-based applications.
Increased Productivity:
Both users and developers are more productive using client/server tools. Users are more involved in the development process and in control of the application, once it is operational. They have transparent access to the data they need to do their jobs and have a standard, easy-to-use interface to that data.
End User Productivity:
Flexible data access for end users was first provided by fourth-generation languages, although early versions only provided access to their own proprietary databases. Later versions included transparent access to other data sources as well. But the interface was command-line driven. The user had to know the commands and their arguments. Although the languages were not procedural, they had an inherent degree of syntax.
Developer Productivity:
Developers can be more productive using client/server development tools. Applications may be designed, implemented, and tested in a client/server environment much faster than in a mainframe environment. Most client/server development tools make use of object-oriented technology. Most of the user objects, including those controlled by windows, can be customized and used in multiple applications.
The development platform is the desktop machine. All phases of application development – designing, coding, testing, executing, and maintaining- can be performed from the desktop machine.
Flexibility and Scalability:
By segmenting the application tasks, an organization can easily migrate to new technologies or enhance existing technologies with little or no interruption. An application does not have to be redesigned to use new interface software or be moved to a new platform. An upgrade to a server should have little impact on the applications themselves.
For client/server computing to be effective, multiple environments must be supported. When applications are right sized, it is important that there be connectivity among the components of the platform.