JJ,
The technical resons behind programming the way we did are the following.
NT services are usually designed to have a non-visual application running as a service. Then there is a separate application that is run interactively by the user which communicates in some way (COM, messages or other) with the service.
We provide SpamFilter in 3 flavors. A standalone application, a service application and a Linux application. We have been able to do this using a single set of source code that compiles in all 3 modes. This allows us to have any change we make in the GUI or functionality to be present on all 3 applications.
In order to do this we had to design the NT service in a different way. The GUI for the service is the actual service itself. It is not a remote control application. Proceeding this way allowed us to have the same interface for the service as in the other two modes, without changing a single line of code. Proceeding like this allowed us also to be able to make practically any configuration change that takes efect without ever having to stop and restart the service.
The only downside is Terminal Services. The service GUI runs unders the SYSTEM account and interacts with the desktop. If you have access to the desktop you will see the GUI. But TS does not give you access to the desktop... only to a virtual view of it. There are some applications (even MS apps...) that require the real desktop to work, SpamFilter's service GUI is one of them.
The advantages surpass the disadvantages. The GUI is usually used during the first stages to configure the system. During that phase, users can stop the service, and run the standalone application from their TS session. Make all their changes, see how it works, close the application and then start the service. Or they can use DameWare which installs the remote-control app on-the-fly, and uninstalls it when they are done remoting in.
The new build that we'll release very soon will have a web-enabled quarantine that will allow end-users to examine their quarantined items and force their delivery without needing help from the adminitrators, making the need to access the GUI even lower...
Roberto Franceschetti LogSat Software
|