Pros and cons of client/server computing
Having got a overview or a glimpse of what a client/server computing is let us see what are the advantages of using the client/server computing technology or in other words let us see the reasons why the client/server computing has gained popularity among database world.
Before knowing about the advantages and disadvantages of any technology it is good to have knowledge of the same. The below paragraph talk about what a Client/Server computing is.
The Client/Server computing has three components in it namely:
Let us see the functions of each.
Server: This is one that manages data or information in database. It also takes the role of coordination or assigning process when multiple clients functions which is very common in client/server computing technology.
Client: This is the application or in other words called as front end which the user uses to interact. This is the interface through which the user provides data to database or retrieve data from database.
Network: From the above we have seen that client and server are independent. But a link must be there to connect client and server for the application to function as a whole. This is done by network. This acts as a communication media between client and server.
Advantages of using the client/server computing technology
Cost Effective: From the above it is clear that each component namely the client and server in client/server computing acts as a separate entity which can be connected by network. One of the advantages of having this type of design is it is possible for one to choose system as per the needs of the each component of a client/server computing environment. In other words the system need of system component in client/server computing is different from that of client component. Let us see this in brief. We know that server in client/server computing manages data in database. So for database management the server component system in client/server computing must be a system with more memory and also high processor speed. One has to choose a system for a server in client/server computing satisfying the above need. On the other hand the system for client component in a client/server computing need not have the above design. That is system representing a client component in client/server computing need not have more memory or high processor speed. But since the client represents user interface or front end application the system must be able to support graphical utilities or applications and also have or support secondary storage as per the needs. So when choosing system for a client component of a client/server application one has to take this point into consideration and make the choice. Thus from the above explanation it is clear that the system chosen for server can be done separately and for client separately as per the needs. This helps the organization to make cost effective system by purchasing systems as per the needs only.
Increased Performance: Performance is also increased without much effort. For instance if a organization decides to go for a system for server side to increase performance this can be done without affecting the user application because client component of client/.server computing need not be disturbed in this case.
Ease of effort and maintenance: Since the client and server component namely the user interface and database management are separated in the design of client/server computing it eases the effort of database administrator and also developers. This is because developers can concentrate on user application alone. Also for instance if a user interface change occurs the system can be changed with little effort by making changes only in the client side without making server component changes.
The above are some of the main advantages in client/serer computing. Though the advantages are numerous there are some disadvantage also in client/server computing which made other technology like mainframes to take its shape and popularity. Some of the disadvantages are
We have seen above that the client/server computing is cost effective. It is true as said above and also because when compared with mainframes the cost of hardware is very less in client/server computing. But in a client/server computing it is not that hardware only is present but there are also other costs included like number of multiple clients’ maintenance which includes users, developers, administrators to maintain database in server side and so on. When we consider all this the cost in client/server computing is higher.
We know that mainframe is a centralized database managed system. Though the system is costlier in hardware point of view it provides reliable and secured system which is very much needed for big real time applications. This is because in these real times huge applications the main requirement is system must not stop and must run throughout without failure which is achieved by centralized maintained mainframe systems. But in client/server computing it is not maintained centrally and the reliability is not much which means if the system got stopped in between then real time huge application would face huge loss in term of productivity and cost.
Thus from the above discussion of advantages and disadvantages it is very clear that one has to make a wise choice of the required technology depending upon the requirement since each technology has its own advantages and disadvantages. For instance in real time huge applications where data handled is much and interconnectivity is for wider area say across the globe and where the system must run without stopping throughout like airline applications, banks it is good to choose mainframe systems. But if the geographical area covered is small and we need cost effective system is it good to go for client/server computing.