Disadvantages of a client-server application include lack of dependability, mature tools and scalability. Client-server applications, or software that runs on a client computer, also have the disadvantages of higher costs and risk of network congestion.
Because client-server applications make requests to a remote server from a client computer, when the server goes down, operations stop. Also, network operating systems such as Windows NT Server lack scalability. Another disadvantage of client-server applications is that they must be installed on each user's computer. In some cases, this can be as simple as utilizing a shared network drive. However, it can be as difficult as spending hours installing and configuring runtime software and components on each user's computer.
The costs associated with a client-server application depend on the type. Two-tier client-server applications divide presentation, processing and data into two units, whereas three-tier applications split user interface, functionality and data into three units. Three-tier applications have higher testing and migration costs when a business rule change requires a change in calling parameters. Coding, testing and migration costs are always higher in two-tier systems when comparing the cost of switching from one proprietary client-development tool to another. Other costs include networking, hardware and response-time costs.