Building a fast, high-performance client/server application with Visual FoxPro involves taking advantage of the tremendous speed of the Visual FoxPro engine. You accomplish this with new techniques such as using set-based data access rather than traditional local navigation, building parameterized queries to download just the data you need, locating tables on the optimal platform, and leveraging both Visual FoxPro and remote stored procedures.
When you design a local or file-server application, you determine the queries, forms, menus, and reports your application will use or create. When you design a client/server application, you perform all the normal system analysis plus additional analysis that relates specifically to client/server applications. You need to think about where the data used by queries, forms, menus and reports will be located, and how you'll access that information. For example, you might ask yourself questions such as:
Which tables will be stored on the remote server once the application is implemented?
Which tables would be more efficiently stored as local lookup tables?
What views will you need to access remote data?
What business rules does the server enforce, and how will your application interact with these rules?
Once you've determined the basic components of your client/server application, you can begin to design how your application will access and update data.