Так как вопрос не четко сформирован постараюсь помочь общими рекомендациями.
Сначала продумайте интерфейсы взаимодействия между приложением и плагинами,
продумайте как плагины должны цепляться к приложения, например через какой-то конфигурационный файл,
или плагин должен вызывать какой-то метод в приложении, реализуя что-то наподобее подписки.
Не знаю что из книг можно посоветовать, так как не знаю что вам нужно,
по jsf хорошая есть книга Хорстмана
ссылка тут
Я думаю если вы подробнее сформулируете вопрос, то проще будет ответить.