This section contains a short summary checklist to use when creating extensions to Network Gatekeeper:
When creating the management interface, consider if the management operations and attributes should be cluster-wide or local.
Make sure to follow the plug-in naming convention: Plugin_<web service interface part>_<network protocol>.
Make sure to implement customMatch of the PluginInstance (or ManagedPluginInstance) to be sure that requests end up in the correct plug-in. This is important when there are multiple plug-ins for the same communication service.
Create exception types that are very specific to various error scenarios. This will allow fine grain control of the alarms that are generated.
Have a clean separation between the north and the south side of the plug-in.
Make sure to return all north interfaces (callback included) and souths interfaces when implementing the getNorthInterfaces() and getSouthInterfaces() of PluginInstance.
Make sure to implement the resolveAppInstanceGroupdId() method for each PluginSouth instance (if applicable).
Annotate each parameter in the south object methods that you need to have when aspect calls back the resolveAppInstanceGroupId() or the prepareRequestContext() methods.
Consider what additional EDR fields you need to add. Annotate all the methods you want to be woven using the @Edr annotation.
Annotate the specific arguments you want to see in the EDR for each annotated methods. Use either @ContextKey or @ContextTranslate depending on the kind of argument.
Add all the EDRs you are triggering to the EDR descriptor.