Throughout this chapter, you have created web services that access files that reside on a remote server. To extend a user’s desktop, you must provide a way to retrieve files from a specific user’s PC (as opposed to files that reside on the server).
If a user’s PC is running Internet Information Services (IIS), you can place this chapter’s web services onto the user’s PC and allow programs to access the web services directly. In this way, the web services can directly access the files on the PC, just as this chapter’s programs have retrieved files from the server. However, if the user is not running IIS, or if the user’s PC is behind a firewall that does not allow web-based access to the PC, the web service running on the server needs a way to interact with the user’s PC.
One way for the server-based web service to interact with a user PC is to use Windows services similar to those you have created in this chapter. In this case, as shown in Figure 13.9, the web service will interact with a Windows service that is running on the server. The server-based Windows service, in turn, will interact across the network with a Windows service that is running on the user’s PC. The client-based Windows service, in turn, can access files that reside on the user’s PC and return those files to the server-based Windows service. By integrating a web service with Windows services in this way, you can create very powerful applications that provide remote users with a wide range of data.
Figure 13.9: Using Windows services to provide a web service with access to files on a user’s PC