logo_kerberos.gif

Projects/Plugin support improvements

From K5Wiki
< Projects(Difference between revisions)
Jump to: navigation, search
(Motivation & Requirements)
(Motivation & Requirements)
Line 2: Line 2:
 
==Motivation & Requirements ==
 
==Motivation & Requirements ==
   
There are a number of motivations behind the creation of the plugin architecture framework.
+
Motivations: there are a number of motivations behind the creation of the plugin architecture framework.
 
Some of these include the following:
 
Some of these include the following:
   
Line 12: Line 12:
 
* Allows one plugin implementation to use services provided by the other plugin implementations.
 
* Allows one plugin implementation to use services provided by the other plugin implementations.
   
From these items we have developed a more formal set of requirements
+
Requirements: from these items we have developed a more formal set of requirements
 
covering the design and the implementation of the framework to
 
covering the design and the implementation of the framework to
 
support the plugins. These are as follows:
 
support the plugins. These are as follows:

Revision as of 10:12, 21 July 2010

Motivation & Requirements

Motivations: there are a number of motivations behind the creation of the plugin architecture framework. Some of these include the following:

  • Separates plugin interface from its implementation;
  • Provides simple and clear mechanism that facilitates additions of new plugin interfaces and their implementations(modules);
  • Handles both built-in and dynamic plugin modules;
  • Allows multiple implementation of the same plugin interface;
  • Provides uniform way to supply parameters for plugin configuration;
  • Allows one plugin implementation to use services provided by the other plugin implementations.

Requirements: from these items we have developed a more formal set of requirements covering the design and the implementation of the framework to support the plugins. These are as follows:

  1. Allow third parties to implement multiple plugin modules for each pluggable interface.
  2. Allow a plugin module to build as dynamic or built-in from the same source code.
  3. Allow third parties to more easily create new plugin modules.
  4. Provide a uniform method for configuring discovery of plugin modules.
  5. Improve readability of code that calls pluggable interfaces.
  6. Allow easier creation of new pluggable interfaces.
  7. Allow incremental transition of existing pluggable interfaces to the new framework.
Personal tools