Originally Posted by aussiemcgr
Sorry about being to vague....
The "core" application can extract information from different sources, do its analysis and save the results. At the moment, I have built into the application 3 ("packages" )different user interactions between the "core" and how to extract the information from their respective source and translate into a format the "core" can work with: "core" format <====< package <====< source.
I would like to allow the user (assuming they have some one Java knowledge, or me under contract) to develop a "package", put it in a known location and have the "core" application load it at runtime without developer/system admin to modify the JRE contents or classpath. For example put in "user.home", "user.dir" or some path a jar who's name contains "some string", the "core" loads the jar, validates specific interfaces are met, and exposed the UI to the end user.
My flight training product could have used the same mechanism to "license" functionality. As currently implemented all capabilities are shipped with the product along with a key which unlocks the ones the customer purchased. If they want more functionality, I ship a new key. If I want to release new functionality, I have to release a complete product. Use a similar mechanism, ship them the additional functionality then put it in the "known" location and off they go. Or if I release new functionality, they install it and off they go.
Hope that helps.