У меня было уже пару постов на тему RichFaces — очень достойный фрэймворк и библиотека компонентов. Много всяких ajax приятностей, в частности в 3.2.2 появился ajaxValidator. Что немаловажно у проекта хорошая поддержка, проект опенсорсный, все копоненты активно юзаются пользователями, так что фрэймворк и библиотека откатаны на практике + по каждому компоненту есть документация.
Работаю на JBOSS (подразделение REDHAT), мы тож юзаем JIRA - по ходу достойной опенсорсной тулы и нет. На прошлой работе юзали самописный форум, при этом один разработчик тратил постоянно кучу времени, чтобы его фиксить. Так что самопальные системы управления проектом suck.
Идей переменных и констант уже реализована посредством XCSS. Т.е. суть такая что есть файлик с набором переменных для какого то скина и есть XCSS файлик, в котором содержаться маппинги CSS селекторов на скины.
Вот примерно так:
RichFaces CDK — довольно мощный инструмент для создания собственных компонентов. Если есть готовый html макет, то создать компонент можно буквально за пару часов.
Вот примерно так:
----XCSS file -----
<u:selector name=".rich-fileupload-toolbar-decor">
<u:style name="border-bottom" value="1px solid" />
<u:style name="border-top" value="1px solid" />
<u:style name="border-left" value="1px solid" />
<u:style name="padding" value="2px" />
<u:style name="background-color" skin="additionalBackgroundColor" />
<u:style name="border-bottom-color" skin="tableBorderColor" />
<u:style name="border-top-color" skin="tableBackgroundColor" />
<u:style name="border-left-color" skin="tableBackgroundColor" />
<u:style name="width" value="100%" />
</u:selector>
----Skin file----
tableBackgroundColor=#FFFFFF
tableFooterBackgroundColor=#cccccc
tableSubfooterBackgroundColor=#f1f1f1
tableBorderColor=#C0C0C0
tableBorderWidth=1px
Такой подход юзается в RichFaces для реализации скиннинга.