I am having one big j2ee web based Health care application containing around 100 features. My job is to develop new plugin architecture where i can re-engineer existing feature as plugins not feature,so application owner can sell product based on feature not as a whole.
Any suggestion for developing this kind of architecture is appriciated.
Seems to me that the simplest "plug-in" architecture would be based on a single Interface that all features would implement.
Of course this would have to be designed so that it is VERY general. When I have tried to do this on a small scale, I end up using methods that get input in the form of collections and are configured with XML documents. You might think of it as a client-server architecture where each feature is a server.
[blatant advertising]Very soon a new issue of the JavaRanch Journal will come out which contains an article I've written about adding a plugin mechanism to Java applications. That should give you some ideas on how start with this.[/blatant advertising]
In the platform which developed by myself,the plugin mechanism is designed as below: Defined the plugin interface,and in configuration XML file,you can add the plugin to the platform by giving the plugin's class name and information else.