...
A package consists of a manifest file and the files for the module(s) within the package. Typically a package represents a product (for instance, a malware scanner) but this is not enforced in any wayan entire product or system of functionality such as Web Proxy, Script Engine or Logging.
Module
A module is a set of functionality you wish to group together and treat as a single unit of functionality, typically separating them out into individual modules for engine and UIWithin a package you have modules that represent distinct parts of your package/product. Each module shows up in the Modules panel of the WinGate Management Console and can be enabled or disabled by the administrator if the appropriate setting is in the manifest file for that module.
As an example, you may be providing a product called "Ultimate Malware Monitoring System" and that may consist of modules for for:
- Malware scanning Quarantine managementof HTTP and email traffic by the WinGate engine.
- Monitoring of chat protocols like MSN Messenger and Google Chat.
- Global threat assessment
Each of those represent sets of functionality that can operate independently but which may work together if enabled.
Component
...
- that coalesces information from around the globe on a schedule.
- WinGate Management Console modules for all three of these that display information to the user on their results.
Component
Within a module you have components which are sets of common functionality that you register with WinGate. Although in practical terms there is typically one component registered for each module (UI and Engine side being separate components), a module can register more than one component if it wishes such as just like the Qbik Schema module which houses the components for both the engine and UI in one module.
Interface
One or more groups of functionality that your components registers register with WinGate, often to make it available for others to use. For instance the Data UI module registers individual interfaces for managing data values and managing dashboards. Client code can then bind to the interfaces they wish to use and gain access to the functionality providedUsing our "Ultimate Monitoring System" example, the Malware scanning engine component may decide to provide a couple of interfaces for client software to use.
- A general scanning interface that can scan a file or block of memory.
- Quarantine interface that other software can use as a general quarantine area.