ANALYSIS: Client Server Is Not Cheap
By Chris Gloede
I visit many different companies in my business life. All of them are implementing some form of client server solution in their enterprise. After ten plus years of the client/server architecture being around (by that name only), you would think that most companies would have come to the realization that implementing such a solution is not a cost saving measure.
It seems to me that many of these companies believe that purchasing a major client/server based solution is akin to purchasing any personal productivity application, just because it runs under Windows. No matter how complex a personal productivity application might be it is not a multi-user, distributed object-oriented system.
So why, I ask you, must I continue to explain that this type of implementation should not be undertaken to cut costs? People will have more work, systems will need to grow and procedures will need to be adopted. This work can be intense during an implementation and trail off after going live, but that is to be expected during almost any software implementation.
Implementing a client server solution involves many things. First, you need to evaluate and select the number of tiers that you wish to support. There is two tier, where all interactive applications run on the desktop, batch applications run on the database server and all data resides on the database server. A three-tier deployment involves the addition of applications servers, which may take some of the processing workload off of the client machines. The n-tier solution adds distributed data to the environment. Each one of these solutions carries an associated set of plusses and minuses. The minuses usually involve more network bandwidth or increased administrative involvement.
Next comes the question of managing the applications, and if you have decided on n-tier, managing the data distribution and integrity piece of the puzzle. These can be daunting issues. Distributing applications is a concept foreign to many AS/400 users. A centralized platform where all applications reside is simple and straightforward.
In any client server environment you need to ensure that all of your workstations have the same versions of all applications installed. More over, in a three tier environment when you are running applications on client workstations and applications servers and batch jobs on data base servers you must now ensure that all of your programs on all of those physical machines are properly installed and at the same version. Data management is yet a whole new issue that will often involve replication setups and the task of defining where your programs read from and where they write to.
Application development in such an environment usually involves the copying of a program from a central library, modifying that program and then putting it back into the library. Then that program usually needs to be compiled, encapsulated with other programs or objects and distributed out to all of the aforementioned pieces of hardware. This is no small task. Tools must be in place that ensures that you do not have two programmers working on the same program at the same time without each other’s knowledge. In a case such as this, the one who writes back to the program library wins and the earlier version would be over written.
The result of all of this is that client server solutions have myriad cost and management issues associated with them. Network design and management become critical and if poorly defined will cripple your project. Take the time and incur the necessary expenses on your network before you deploy your new applications. Poor performance in many client server deployments is usually attributable to poor network design or cost cutting on server and/or client machines. Why go out and spend a lot of money on software if you will not spend it on the infrastructure required supporting the applications?
Many client server solutions come with tools to help manage your environment. Carefully evaluate these tools as part of the decision making process in your software selection. If the tools are inadequate, you will need to spend more money, whether in the form of tools or people, cash will be spent. Realize, as you are making the decision to go to client/server, that you will need to add procedures, hardware, network, and quite likely, man hours. Client/server solutions offer many advantages, but with those advantages come costs. Expect them. The software vendors that you talk to will not offer this information as a matter of course.
A veteran of the IBM midrange arena since 1983, Chris Gloede is executive VP for Business Solutions Group in Wayne, Pa. firstname.lastname@example.org.