Ответ 1
Во-первых, могу ли я утверждать, что это вполне разумный вопрос, учитывая важность веб-технологий CMS, на которых работает большая часть WWW, и по правде говоря, многие люди, знакомые с Java, поскольку есть серьезные проблемы с все из многих (все же популярных) основанных на PHP систем, таких как Drupal, Wordpress и Joomla, включая:
-
невозможность хорошо интегрироваться с графическим дизайном унифицированного моделирования (UML)
-
массовое использование строк фристайла в качестве ключей массива хэшей (а не как общесистемные, общие, предварительно определенные строковые константы) в их стиле программирования, похороны структуры данных как жесткие соглашения в хэш-картах и повсеместно нарушая фундаментальный принцип "Не повторяй себя" (DRY), вместо использования многоразовой инкапсуляции с объектной ориентацией
-
следовательно, более низкая интеграция с IDE и подсказкой IDE, чем Java CMS API, позволит.
Существует очень хороший список Java CMS:
http://en.wikipedia.org/wiki/List_of_content_management_systems#Java
Сайт dotCMS сравнивает свою популярность со своими основными конкурентами Java CMS: Magnolia, Hippo, Jahia.
http://www.dotcms.com/images/carousel/banner/graph.png
Интересно, что OpenCMS не делает этот список: http://www.opencms.org/
Имеется инструмент сравнения CMS: http://www.cmsmatrix.org/
CMSmatrix позволяет легко сравнивать функции в более чем 1200 контенте продуктов системы управления.
Тот факт, что есть 1200, указывает на то, что спрашивать других о советах или отзывах о своем опыте с вариациями Java CMS справедливо, так как трудно проверить все варианты.
Насколько я могу судить, dotCMS - это самый быстрорастущий и лучший вариант в зависимости от ваших требований.
Наконец, позвольте мне в своем ответе предложить наблюдение за вопросом о Java и CMS для PHP. Мой основной язык - это Java, всегда, по крайней мере, до некоторой степени, в соответствии с графической машиной, основанной на модели UML (хотя бы иногда с помощью обратного инженерного мониторинга), но я много лет работал с PHP и Drupal на PHP в течение многих лет, один из "большая тройка" вместе с Joomla и Wordpress.
Насколько я могу судить, ни один из вариантов Java CMS не приближается к набору функций Drupal, когда рассматривается массивный набор модулей, или (как только вы с ним знакомы) легкость настройки простые или очень сложные корпоративные сайты CMS с Drupal. В частности, модуль Views в сочетании с простотой создания настраиваемых типов контента очень упрощает создание очень богатых показов страниц со структурированными данными, отношениями и богатыми отчетами о просмотре запросов. Я не знаю ни одной Java CMS, у которой есть что-то, что может даже приблизиться к совпадению интерфейса администратора Drupal Views для создания отчетов о представлении пользовательских запросов. Я благодарен, что Drupal существует, и время от времени он помогал мне прокормить себя и моего ребенка, и я даже использую его для отслеживания моих проектов разработки программного обеспечения для Enterprise Java, и я использую его по иронии судьбы для образовательных веб-сайтов, пропагандирующих унифицированный язык моделирования (UML ) и UML-управляемой Java.
Кроме того, аспекты CMS моих собственных веб-приложений Java намеренно имитируют Drupal.
Я нисколько не скрываю того факта, что я абсолютно не выдерживаю основную модель программирования Drupal, API-интерфейсы предоставленных модулей и то, что я считаю ужасающим недостатком объектной ориентации в ней, и стиль программирования, который включает почти каждый отдельный грех, который я хотел бы, чтобы преподаватель не поощрял ни одного 101 курса программирования. Мне не нравится кодировать модули, связанные с его API, и система крючков Drupal совершенно не нужна и не имеет преимуществ перед простыми шаблонами регистрации интерфейса, которые знал бы любой программист Java, и позволял бы компилятору OO.
Я плачу каждый рабочий день за отсутствие хорошо продуманной Java-CMS, которая в противном случае может соответствовать Drupal (всегда оставаясь благодарной за то, что можно сделать с Drupal).
С помощью технологий горячей перезагрузки для Java, таких как JRebel, теперь должно быть возможно, что CMS на Java, которую так же легко развить против CMS с помощью PHP, но с достойным и правильно объектно-ориентированным API, и я надеюсь, что один Java CMS наконец-то действительно взлетит и развивается как активное сообщество разработчиков, так как на PHP-основе, такие как Drupal, есть.