Part III: More-Advanced Access Techniques
754
All files on the client
In this scenario, you have all executables — .exe files, .dll files, and application files — located
on each client, and only data files are on the server. Your data files would be attached to your
application database. You gain performance because network traffic and requests are kept to a
minimum and because you don’t have several users hitting the application at the same time —
they’re accessing only the data.
This scenario is not conducive to easy upgrades, however. In most cases, an application’s front end
changes most often. If the application is located on a client workstation, you’ll have to go to each
workstation and upgrade it individually (unless you’re using some kind of distribution software,
like Microsoft System Center Configuration Server).
Note
Microsoft’s System Center Configuration Server (SCCS) is an add-on for network systems running Windows
2003 Server as the file server and either Windows 2000, Windows XP, Windows Vista, or Windows 7 on the
user’s desktop. SCCS enables the system administrator to install and manage software from a central location,
making it much easier to upgrade operating system and application software on large networks.
Data sources
Access is a versatile development environment because of its ability to read many kinds of external
data sources. This ability, however, can cause problems for your applications. Even if you’re just
reading a plain ol’ Access .accdb or .mdb located on your sever, there are still issues to consider.
Access is a client-centric application. In many situations, when you execute a query against a table
in an Access database located on your network, Access goes out to the server, brings back all the
records needed to perform the query, and then processes the request on the client. The next time
you get a chance, run a really big query on your workstation while watching the number of pack-
ets being sent to that address. It’s fun to see your network utilization go from 35 percent to 90 per-
cent just because of one query. All this traffic and the huge amount of data can kill performance.
This client-centric nature can be seen especially when using ODBC data sources. When working
with ODBC databases, Access still acts the same way — but because ODBC is another layer that
the Access database engine has to go through, performance can be even worse, especially when
querying large recordsets.
With portable computing power increasing and becoming less expensive, more of your applications
will have to be developed with remote or home users in mind. Although broadband Internet access is
widely available, many users may still be using dial-up to access your company’s network.
One approach to resolving this situation is to put as much of your application on the remote computer
as possible. Executables across a dial-up line are unacceptable. The more you can put on the client, the
fewer complaints you’ll get.
When your users are off-site