Package
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 way.
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 UI. Each module shows up in the Modules panel of the WinGate Management Console and can be enabled or disabled by the administrator.
As an example, you may be providing a product called "Ultimate Malware System" and that may consist of modules for
- Malware scanning
- Quarantine management
- Global threat assessment
Each of those represent sets of functionality that can operate independently but which may work together if enabled.
Component
A set 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 the Schema module which houses the components for both the engine and UI.
Interface
One or more groups of functionality that your components registers 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 provided.