2000 an e-nspect Software design

e-nspect2000 Architecture

The following section details e-nspect2000's architecture and will aid in your understanding of installation and configuration issues.

Exchange Server Components

Microsoft Exchange Server Event Sinks.

e-nspect2000 uses the OnPostCategorize Transport Event notification to intercept messages. Using this notification provides extra information pertaining to the categorization of the message.

The e-nspect2000 sink (class name "e_report.collect") is written in C++ using the ATL COM template with asynchronous file I/O operations and is fully cacheable by the SMTP service (in actuality the IISAdmin service). This results in the creation of a very small and lightweight component that has minimal impact on the processing capabilities of the SMTP service.

The e-nspect2000 sink utilises a local file system directory to hold temporary information. This information is subsequently processed by the e-nspect2k Agent, a Windows Service.

The e-nspect2000 event sink is managed and configurable using the e-nspect Event Sink Administration Module (described later). The sink, although cached, automatically detects any configuration changes and responds accordingly.

Windows Service.

The e-nspect2k Agent service is implemented as a Windows Service. It is controlled by the Service Control Manager and is configured to automatically start at system startup. Although, after the initial installation you will have to manually start the service,

This service is written in C++ using the ATL COM template to provide a small, lightweight component with minimum system dependencies. The service is responsible for the processing of files contained within the temporary folders. The end result of these processing operations is the insertion of data into the e-nspect database.

Similar to the event sink, the e-nspect2k Agent service will automatically reconfigure itself in accordance with changes made to the event sink configuration.

Full Application event logging is implemented in the service.

Database Services

e-nspect2000 stores collected data in a SQL database server. Similarly, it is from this database server that reports are generated. The database server must be either Microsoft SQL7, or SQL2000. The e-nspect database can be created either during the setup process, or later using the e-nspect Report Viewer.

Client Tools
The Client Tools have been implemented as Microsoft's Management Console (MMC) snap-ins. This leverages your existing knowledge and lets you focus on using the tool rather than learning a new GUI.

All e-nspect client tools are written in C++. However, ATL templates are not used, instead raw COM interfaces are implemented to allow for the full functionality of MMC to be utilised.

e-nspect Event Sink Administration Module.

The Event Sink Administration Module can be used to install, edit and delete all event sinks on an Exchange Server SMTP service. As such care must be taken in its use, similar to the care taken when using the registry editor. A mistake made whist using this tool could result in a non functional SMTP server.

The Event Sink Administration Module is used to configure the following attributes:

The above configuration information is used by both the e-nspect event sink and the e-nspect2k Agent service.

e-nspect Query.

The e-nspect Query is the tool used to view the messaging reports. The viewer queries the e-nspect database and displays the results in a simple, clear and intuitive manner.


2002. e-nspect