I plan to develop a Java Webapplication with Primefaces, JSF, EJB / JPA etc. That application should be modular, so i can attach new programparts during the runtime. Just like in Wordpress (I love that Plug-in behaviour!).
In example, i have a Kindergarden-management application. The base version can only handle the Kids, Groups and Staff. (Web-Frontend & Persistence, etc.)
Then a few weeks later, the Kindergarden want a Toy-Management Feature. Inside the Toy-Management-Plugin they could assign Toys to groups (they are managed in the base program). So i develop the Toy-Management Plugin (With Web-Frontend, it's Persistence for the Toy-Tables, etc.). The Kindergarden puts that Plugin (.jar) into a central plugin-directory and it registers itself in the NavigationMenu. Now, the Kindergarden could navigate between Kids, Groups, Staff and Toys.
Later, they want some other stuff, i develop, send, and they put in that plugin directory. They see it in their Menu and can work with it.
Is it possible to have a WAR-Glassfish-WebApplication that is expanded that way? Each Plugin has it's own Database-Management, so i never have to change anything on the base-program?
What techniques would you recommend?
- OSGi
- JSPF
- This? (currently my favorite)
- Or something complete new?
Unfortunately all blogposts, Stackoverflow-Questions & -Answers, tutorials are many years old. Is something complete new out there that no one has taken notice of, because all the old-Posts-Answers-Questions are flooding the google-search-result-list?