Search code examples
pluginsarchitectureosgiequinoxextensibility

Which plugin architecture to use


I want to create a plugin extensibility mechanism for a very generic application which has many facets and lots of different functionality.

A little bit more detail about what I develop:

  • I have a GUI application and want to provide a lot of extension points. I want to add menus, actions, toolbar buttons etc.
  • I have some non GUI services, which monitor changes to edited data, etc. I want to register such services.

I am considering Equinox (as an example, I can't use it because of application constraints) and its very nice extensibility mechanism which involve extensions and extension points. What are the problems with this approach? What alternative solutions for this problem are available?


Solution

  • For UI extensibility, eclipse RCP will certainly provide lots of capability in that area.

    For lower layers, it sounds like you are looking at OSGi, of which Equinox is simply one of many possible runtime environments. If you stick to coding to the specification, then you can use Equinox, Felix ... or any other implementation for your application.

    You haven't really defined what you are looking for when you talk of extensibility, and with such an open ended question you are rising it being closed.