The differences between file-server and client/server systems mean that you have to design your applications in a fundamentally different way to take full advantage of the client/server architecture. A design that works well as a file-server application generally needs to be modified to work well as a client/server application. This section outlines the general principals you should follow while developing a successful client/server application.