Для серверной части - я работал над одной, использующей реализацию JCR (репозиторий Java Content) JackRabbit.
Бэкэнд и кеширование работали хорошо, к сожалению, наш интерфейс не был отличным, поэтому у вас там нет рекомендаций. Однако я обнаружил, что существует множество модулей CMS с открытым исходным кодом, если вы предпочитаете начинать с одного из них, а не создавать свой собственный - хотя я вижу из вашего вопроса, что вы, возможно, делаете это как учебный опыт и хотите развить свой собственный.
Steve