RHQ plugin development enhancements

Simeon Pinder spinder at redhat.com
Tue Aug 28 12:10:19 UTC 2012


The act of writing an RHQ plugin is how one integrates a management product into the RHQ management space.  While the process is fairly well documented(https://docs.jboss.org/author/display/RHQ/Plugin+Community), there is still quite a lot of initial investment for a user new to RHQ development and even more when integrating management products not based in java. 

I think we can significantly improve the plugin development and maintenance process by putting some more effort in the following areas:
 Development:
   - Add more graphical tooling around plugin development to 
      a)lower the barrier to entry for new management products  
      b)shorten the feedback loop during plugin development
 Testing: 
   - Document some best practices and a reference implementation for testing plugins
 Deployment/Runtime versions:
   - Document some best practices for Deployment/Runtime versioning of plugins

While the enhancements around Testing and Runtime versions of plugins can be considered more advanced topics about how to be more consistent and robust among all available plugins and versions, the enhancements around graphical tooling for plugin development seem fundamental to increasing plugin developer productivity and more pressing.

Specifically around graphical plugin development tooling, the following seem like good enhancement areas to start in:
 - graphical plugin descriptor creation. This can be a standalone or integrated part of a Swing|Eclipse plugin|Forge application.
 - graphical maven plugin generator. The current command line version works to create an initial setup but a graphical wizard would be vastly more helpful.
 - graphical integration with both standalone plugin container AND lightweight configuration editor for faster plugin development/testing.  Such a graphical tool would likely have an RHQ/JON installation as a dependency to ease dependency/setup/requirements.
    - Additionally you'd want to support the ability of the developer to insert sample/mock values to simulate how the plugin code will respond.   
 - a few short videos/wink demos showing how to develop i)java plugin ii)java plugins utilizing scripting iii)non-java plugin

* For all of the above we should be mindful of two recent enhancements, listed below, which enable greater integration of non-java management plugins.  Assuming a java and/or jboss AS stack for development may no longer be a valid assumption for all plugin developers.  
http://pilhuhn.blogspot.de/2012/07/jar-less-plugins-for-rhq.html
http://pilhuhn.blogspot.de/2012/07/introducing-no-op-plugin-for-rhq.html

What do others people think about this?  Any other enhancements areas that we should add to this list?  I think such a fundamental part of the RHQ management framework should be easier to use and the productivity gains will be substantial.

-Simeon    



More information about the rhq-devel mailing list