As client/server technology evolves, the battle cry is now right sizing–design new applications for the platform they are best suited for, as opposed to using a default placement.
An application should run in the environment that is most efficient for that application. The client/server model allows applications to be split into tasks and those tasks performed on individual platforms. Developers review all the tasks within an application and determine whether each task is best suited for processing on the server or on the client.
In some cases, tasks that involve a great deal of number-crunching are performed on the server and only the results transmitted to the client. In other cases, the workload of the server or the trade-offs between server millions of instructions per second and client millions of instructions per second, together with the communication time and network costs, may not warrant the use of the server for data intensive, number-crunching tasks.
Determining how the tasks are split can be the major factor in the success or failure of a client /server application. And if the first client/server application is a failure, for whatever reason, it may be a long time before there is a second.
Some variations on this theme are:
1. Down sizing:
A host based application is downsized when it is re-engineered to run in a smaller or Local Area Network based environment. Downsizing involves porting applications from mainframe and mid-range computers to a smaller platform or a Local Area Network based client/server architecture. Downsizing is not as easy as buying and installing hardware and software that support client/server computing.
2. Up sizing:
Even as companies are downsizing from their glass-housed mainframes to distributed Local Area Network-based systems, they are planning for the future by ensuring that these new systems are expandable. When an application outgrows the current environment, the capacity of the environment should be increased or the applications should be ported to larger environment with no disruption to users.
3. Smart sizing
Smart sizing is based on re-engineering the business process themselves, in contrast to downsizing, which re-implements existing automated systems on smaller or Local Area Network based platforms. Downsizing focuses on cost savings and increasing current productivity. While the code for the application may be streamlined, little or no thought is given to the process itself.
Smart sizing implies that information technology can make the business process more efficient and increase profits. Business re-engineering focuses on using technology to streamline internal workflow tasks, such as order entry and customer satisfaction. Products can be developed and brought to market faster using information technology.