Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбирая Java CMS... Чем руководствоваться? 
:(
    Опции темы
53x7u5
Дата 10.6.2010, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.5.2010

Репутация: нет
Всего: нет



Доброго дня. У меня пара вопросов связанных с выбором CMS (на Java). 

Знаний по Java совсем мало (в процессе изучения), но по PHP их еще меньше. Задумался в нашем небольшом едва-ли-айтишном-коллективе проект социалки а-ля "бизнес-лепра"+с мощным поисковиком по участникам портала в духе LinkedIN+активное использование google wave (не критикуйте плиз). Рассудив за кружкой пенного напитка что движок на java будет справляться со всеми возможными нагрузками на порядок быстрее чем PHP и что само провидение виною тому, что я в данный момент сам изучаю язык (основы по Шилдту, J2SE 1.6.. надеюсь и до EE скоро руки дойдут) решили попробовать взять в качестве основы для всего проекта Java. На утро схватился за голову - задача показалась неподъемной для новичка, хотя в какой-то мере и позволит немного лучше понимать те проблемы с которыми сталкиваются EE-разработчики.

Самым благоразумным мне показалось попробовать использовать какую-нибудь из имеющихся CMS-ок на Java, однако и тут не все так просто. Во-первых даже во многим известном списке Open Source CMS in Java почти два десятка программных продуктов с приблизительно одинаковым описанием и без какой-то конкретно очерченной бизнес-задачей. С наскока так же не удалось нагуглить ни одного сравнения этих CMS-ок между собой. Результатом поисков стал только доклад Олега Сороки (луч доброты тебе, человек) выполненный в рамках курсовой на кафедре при университете ХНУРЭ. 
Оказалось что почти все cms-ки из списка java-source не имеют русских сообществ разработчиков, а как следствие и документации на русском языке. Английский для чтения у меня в принципе есть, но русская документация это очень существенный плюс для чайника. В итоге список возможных кандидатов был значительно сокращен до трех CMS:
- OpenCMS
- Magnolia CMS
- DotCMS

Alfresco, упоминаемый автором презентации, в этот список не попал от одного слова "система электронного документооборота". В прочих продуктах смутил меньший объем документации (хоть и на английском) и менее развитый форум.

Ребят, у меня всего два вопроса:
1. Какие основные преимущества разработки на базе Java CMS против PHP; (эээ...)
2. Какую cms-ку выбрать чайнику с учетом поставленной задачи. 

апендикс: Проект должен представлять из себя систему которая будет включать в себя коллективные блоги с подкастами, расширенные профили пользователей с большим количеством "интересов", по которым их смогут найти другие пользователи, многоуровневую систему ролей (пользователь, премиум-пользователь, партнер, модератор), форум, а так же свой wave-сервер. По задумке работать это все будет с PostgreSQL которую я в данный момент тоже изучаю, количество новых пользователей за первый год до 2000 человек. Если есть еще какие-то критические моменты которые могут повлиять на выбор CMS-ки, пожалуйста укажите на них - у меня все это пока у самого в голове не устаканилось.
А, ну и да.. в здравом уме и трезвой памяти целиком браться за двигло я бы конечно не стал, но для проекта сразу предложили финансовую помощь достаточную чтобы оплатить 2-3 месяца работы Java-программисту.. Поэтому решено было хотя бы "попробовать".


Спасибо, надеюсь на вашу помощь.

Это сообщение отредактировал(а) powerOn - 10.6.2010, 08:16
PM MAIL   Вверх
Vasay
Дата 10.6.2010, 11:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



53x7u5

Посмотрите LifeRay. 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
dobrolub
Дата 10.6.2010, 19:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



На твоём месте не сбрасывал бы PHP со счетов, а нашёл бы PHP CMS которая работает без проблем на Resin Quercus (java compiler for PHP). А потом, если нужно, дописывал / интегрировал туда java компоненты. 
PM   Вверх
AJetman
Дата 24.6.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



53x7u5,

Цитата(53x7u5 @  10.6.2010,  00:42 Найти цитируемый пост)
По задумке работать это все будет с PostgreSQL которую я в данный момент тоже изучаю, количество новых пользователей за первый год до 2000 человек.
 С этим справится и VPS или выд. сервер начального уровня с системой на базе одной из CMS/CMF на PHP, Python, Ruby... На этих языках спрототипировать и проверить идею в раз 10-ть быстрее, чем на Java или том же C#. На Java же ведут разработку обычно более серьезных и сложных бизнес-систем, чем социальная сеть с коллективным блогом.

Если все же решитесь делать систему на Java, то столкнетесь с выбором:
1. Использовать последний стандарт Java EE 6, но придется писать все с нуля. Хотя при наличии опыта с нуля пишется довольно быстро.
2. Или использовать одну из CMS/CMF, которые максимум тянут на Java EE 5, а то и вовсе выдумывают собственные стандарты-велосипеды.



PM   Вверх
Vasay
Дата 24.6.2010, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата

На этих языках спрототипировать и проверить идею в раз 10-ть быстрее, чем на Java


Хорошие СMS есть и на С# и на Java. В Java есть еще и порталы удовлетворяющие JSR 168 и JSR 286 (тот же упомянутый выше liferay) 


 А если говорить о фреймворках то тут Java вообще предоставляет отменный выбор качественных решений.  


Цитата

1. Использовать последний стандарт Java EE 6, но придется писать все с нуля. Хотя при наличии опыта с нуля пишется довольно быстро.
2. Или использовать одну из CMS/CMF, которые максимум тянут на Java EE 5, а то и вовсе выдумывают собственные стандарты-велосипеды.


EE - не для разработки сайтов. Хотя при желании использовать можно, но очень осторожно. Гораздо удобней и продуманней в этом плане продукты Spring Source.  Кстати, в плане скорости разработки web решений рекомендую Вам познакомится со Spring Roo и Grails (там, правда, активно используется Groovy, но это тоже язык для JVM, хоть и скриптовый) - думаю, после этого слова про медленную скорость web разработки на Java вы возьмете обратно. 


 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
AJetman
Дата 24.6.2010, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Цитата(Vasay @  24.6.2010,  18:43 Найти цитируемый пост)
EE - не для разработки сайтов.
 Но на ней можно и нужно разрабатывать веб-сайты.

Цитата(Vasay @  24.6.2010,  18:43 Найти цитируемый пост)
Гораздо удобней и продуманней в этом плане продукты Spring Source.  Кстати, в плане скорости разработки web решений рекомендую Вам познакомится со Spring Roo и Grails (там, правда, активно используется Groovy, но это тоже язык для JVM, хоть и скриптовый) - думаю, после этого слова про медленную скорость web разработки на Java вы возьмете обратно. 
 Уже общались на эту тему здесь: http://forum.vingrad.ru/topic-285228.html  smile 

Очень долго работал и продолжаю работать с PHP фреймворками и CMS. Прошу поверить на слово, что прототипировать на нем получается значительно быстрее, чем на Java.

Именно из-за этого и  обратил не так давно внимание на Java EE 6(конкретно контейнер Glassfish 3 - других пока нет и появятся не скоро). Почему? А дело в следующем.

Разработка сайта на Java являет собой процесс постоянной перекомпиляции и редеплоймента в контейнер. Это само по себе очень долго. В Java EE 6 же контейнерах содержится весь необходимый функционал, который уже дотягивает до Spring Framework: EJB 3.1, DI, а также JPA 2.0, Веб-сервисы и так далее, поэтому нет необходимости при каждом редеплойменте их перезагружать. В итоге процесс запуска солидного приложения в Tomcat или Jetty с Spring(DI + обертки к JPA и пр.) + Hibernate(JPA) + ... занимает на среднем компьютере до 1 минуты, а в Glassfish 3 всего-лишь 10-15 секунд - все библиотеки уже загружены и инициализированы. Да и самих редеплойментов удается делать до 100 штук, после чего необходим конечно же перезапуск.
Спасает меня также и JRebel, который сократил количество редеплойментов до минимума. Стоит недорого, а удовольствия много.

Все имхо, конечно же.
PM   Вверх
Vasay
Дата 24.6.2010, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата

Очень долго работал и продолжаю работать с PHP фреймворками и CMS. Прошу поверить на слово, что прототипировать на нем получается значительно быстрее, чем на Java.


Отлично, посоветуйте вменяемый php фреймворк со скоростью разработки сопоставимой с Grails? Мне сейчас очень нужен.

Цитата

Уже общались на эту тему здесь: http://forum.vingrad.ru/topic-285228.html 



Вы привели ссылку на мой пост, где я изложил требования которые предъявляются к web сайтам. Добавлю еще парочку - недорогой хостинг и простота смены дизайна.

Так вот, недорогой томкэт хостинг найти не проблема, если Вы знаете английский и у вас нормальная кредитка. GlassFish хостинг в разы дороже.  Так же для для TomCat-а можно взять недорогой VPS. GlassFish на таком Вы просто не запустите.


Кроме того, сама по себе спецификация Java EE разрабатывалась с прицелом на корпоративный рынок, и многие моменты, как совместимости с СЕО,  простота смены дизайна не входили в приоритетные задачи. Да, все решаемо (но какой ценой?), да ее6 уже не кажется чем-то, что сделали умные дяди очень далекие от реальной жизни. Но все равно, для web он тяжеловат и местами не удобен.


Цитата

В итоге процесс запуска солидного приложения в Tomcat или Jetty с Spring(DI + обертки к JPA и пр.) + Hibernate(JPA) + ... занимает на среднем компьютере до 1 минуты


Это проблема? Или Вы не приемлите юнит тестирование? 



Это сообщение отредактировал(а) Vasay - 24.6.2010, 20:22


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
AJetman
Дата 24.6.2010, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Цитата(Vasay @  24.6.2010,  20:17 Найти цитируемый пост)
Это проблема? Или вы не приемлите юнит тестирование? 
 Юнит-тестирование предпочитаю делать на той стадии, когда система приобретает какие-либо очертания. И ведь юнит-тестированием не разработать вменяемый дизайн.

Цитата(Vasay @  24.6.2010,  20:17 Найти цитируемый пост)
Отлично, посоветуйте вменяемый php фреймворк со скоростью разработки сопоставимой с Grails? Мне сейчас очень нужен.
 Со скоростью разработки - Symfony. Но он довольно медленный.
Вполне приличный по структуре, документации и коду - Zend Framework.
Любые другие фреймворки - уже по вкусу.

Если вы будете разрабатывать какой-либо веб-сайт с конкретным ТЗ, то я очень и очень рекомендую поискать среди готовых систем(как-то Drupal и ему подобные) необходимый набор базовых функций и начать работу с ним. Получится сделать быстро, а внешний вид всегда легко изменить, что даже будет незаметно, что это сделано на базе какой-то распространенной системы.

Цитата(Vasay @  24.6.2010,  20:17 Найти цитируемый пост)
Так вот, недорогой томкэт хостинг найти не проблема, если Вы знаете английский и у вас нормальная кредитка. GlassFish хостинг в разы дороже.  Так же для для TomCat-а можно взять недорогой VPS. GlassFish на таком Вы просто не запустите.
 Да, вы правы, просто но привык к тому, что сервер имеет по умолчанию 1ГБ памяти и выше, поэтому не принимал это во внимание.

PM   Вверх
Vasay
Дата 24.6.2010, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата
И ведь юнит-тестированием не разработать вменяемый дизайн.


Но для этого и перезапуск сервера не требуется. Да, наверно, и запускать его не требуется.


Цитата

 Со скоростью разработки - Symfony. Но он довольно медленный.


Поковырял на днях - не в восторге от кода. Жуткая каша в "моделе". 

Цитата

Zend Framework.


Начал вчера с ним возиться.  Структура и код вполне пришлись по вкусу.  Но руками делать, похоже много надо, хотя может я еще не до конца разобрался. И еще прочитал, что далеко не на всяком хостинге будет работать.

Цитата

Если вы будете разрабатывать какой-либо веб-сайт с конкретным ТЗ, то я очень и очень рекомендую поискать среди готовых систем(как-то Drupal и ему подобные) необходимый набор базовых функций и начать работу с ним.


Увы, но в данный момент ТЗ у меня весьма специфично. 
Вообще, "по-быстрому склепать сайтик" предпочитаю на Джумле. Раньше еще WP использовал - но последнее время с ним гонят с недорогих хостингов, очень уж прожорлив до ресурсов. А плагины - просто находка для хакера. У Джумлы, правда, тоже. 


Но если посмотреть на ТЗ озвученное в первом посте, то из всего с чем имел дело, LifeRay, несмотря на некоторые свои недоработки ИМХО лучший вариант.

Все таки его функционал расширяется не с помощью специфичных для конкретного движка плагинов (а часто и конкретной версии движка), а с помощью стандартизованных портлетов   (JSR 168 и JSR 286) 
Кстати, при разработке портлетов с использованием websynergy сервера (интересно, проект еще жив?) перезапускать как сервер так и портал не приходилось 


Это сообщение отредактировал(а) Vasay - 24.6.2010, 21:42


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
AJetman
Дата 25.6.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Цитата(Vasay @  24.6.2010,  21:24 Найти цитируемый пост)
Но если посмотреть на ТЗ озвученное в первом посте, то из всего с чем имел дело, LifeRay, несмотря на некоторые свои недоработки ИМХО лучший вариант.
 Попробовал вчера последнюю версию 6.0.0 RC2, действительно ее можно порекомендовать автору топика. Только нужно причесывать очень много - отключать лишние модули, поля в профилях и так далее, иначе у пользователей будут разбегаться глаза от разнообразия(имхо главная ошибка современных "стартаперов").

PM   Вверх
COVD
Дата 26.6.2010, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Почему CMS (плохо представляю, что это такое, наверное много чего можно так назвать - контент-то везде есть) не делают ( или делают? ) как набор независимых сервисов? Или набор независимых приложений (например, на GoogleApplicationEngine - GAE)? Способ общения "запрос-ответ" через HTTP к этому же вполне располагает. Зачем загружать all-in-one фреймворки и потом искать для них хостинг? Что препятствует добавлять функциональность по-немногу, о чем выше писал dobrolub ?
PM MAIL   Вверх
Vasay
Дата 26.6.2010, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



COVD

А не слишком ли накладно общаться по HTTP? 

По-моему, такой подход в разы увеличит потребление ресурсов приложения в целом. Т.е. 10 отдельных маленьких приложений, общающихся между собой, будут жрать ресурсы куда с большем аппетитом чем одно большое.  


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
COVD
Дата 28.6.2010, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Цитата

А не слишком ли накладно общаться по HTTP? 

По-моему, такой подход в разы увеличит потребление ресурсов приложения в целом. Т.е. 10 отдельных маленьких приложений, общающихся между собой, будут жрать ресурсы куда с большем аппетитом чем одно большое.   



Это клиент соединяется по HTTP с 10 приложениями (серверные веб-приложения). А серверные приложения между собой могут обмениваться любым способом - на серверной стороне меньше ограничений. Однако если серверные приложения общаются между собой через интернет, то HTTP и здесь уместен. Безусловно, такое общение надо минимизировать. Но полностью внутреннего обмена на серверной стороне не избежать. Например, все приложения должны при первом запросе клиента связываться с приложением, отвечающим за авторизацию клиента. 

Что касается эффективности HTTP, то она падает в случае обмена большим количеством коротких сообшений. Но тогда синхронный "запрос-
ответ" заменяют асинхронным вариантом (для тонкого клиента AJAX , например). Но это - тоже HTTP.

Относительно "ресурсов" - конечно, все не бесплатно, но и врядли "в разы".
PM MAIL   Вверх
kaa
Дата 11.7.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Позволю себе вставить свои пять копеек.
И как ни странно - в защиту PHP.

До сих пор умиляюсь от CMS Drupal, хотя третий год работаю с Java.

С русской документацией так себе, зато: 
1. Дофига доков на родном портале (drupal.com)
2. Четко структурированный, актуальны и понятный API
3. Писать модули - одно удовольствие.
4. Туева хуча уже готовых модулей.
5. Смена шаблонов - проста до ужаса. (ну конечно от навороченности шаблона зависит)

В своё время пришлось осваивать данную CMS, в том числе и написание модулей, с нуля и быстро smile Впечатления - только положительные. На Java такого не встречал. Правда, если быть объективным, я на н еочень джавовые CMS-ки ковырял, но тем-не менее. Трёх попыток мне хватило smile

Java имеет один безспорный плюс: когда надо дёргать клиента с сервера по серверному событию. Тут да - на PHP фоновый процесс не запустишь.
PM MAIL   Вверх
AJetman
Дата 11.7.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Цитата(kaa @ 11.7.2010,  14:39)
Позволю себе вставить свои пять копеек.
И как ни странно - в защиту PHP.

До сих пор умиляюсь от CMS Drupal, хотя третий год работаю с Java.

С русской документацией так себе, зато: 
1. Дофига доков на родном портале (drupal.com)
2. Четко структурированный, актуальны и понятный API
3. Писать модули - одно удовольствие.
4. Туева хуча уже готовых модулей.
5. Смена шаблонов - проста до ужаса. (ну конечно от навороченности шаблона зависит)

В своё время пришлось осваивать данную CMS, в том числе и написание модулей, с нуля и быстро smile Впечатления - только положительные. На Java такого не встречал. Правда, если быть объективным, я на н еочень джавовые CMS-ки ковырял, но тем-не менее. Трёх попыток мне хватило smile

Java имеет один безспорный плюс: когда надо дёргать клиента с сервера по серверному событию. Тут да - на PHP фоновый процесс не запустишь.

Хорошо, конечно, но многое из того, что вы описали - это заслуги самого PHP, а не Drupal.

Минусы разработки на Drupal, и ему подобных:
1. Отсутствует какая-либо ORM или другая абстракция доступа к базе данных. Все, чего достигают разработчики таких систем: подстановку параметров SQL запроса для защиты от SQL-инъекции.
2. Отсутствует какая-либо транзакционность.
3. Отсутствует юнит-тестирование. Самому пытаться прикручивать - это только трата времени, нужно чтобы это предлагали разработчики системы из коробки.
4. ...

В итоге комплексная система на базе Drupal будет изобиловать ошибками. Исходя из опыта. Правда у PHP-разработчика по этой причине всегда есть работа.

Конечно, на Java может быть точно такая же ситуация, как я привел в п.1-3, если постараться.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1228 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.