Архитектурные решения: основной сайт, форум, блог - PullRequest
5 голосов
/ 01 октября 2010

Меня консультировали по поводу настройки проекта, и я хотел бы отослать мои идеи к кому-то для получения дополнительных мнений.

Основная часть этого веб-сайта очень сложна и имеет очень индивидуальную функциональность, поэтому, как я увидел, это скорее веб-приложение.Однако нужен блог, а также форум.Это общий обзор этого проекта.

Поскольку основная часть веб-сайта - это скорее веб-приложение, я думаю, что этот проект должен быть разделен на отдельные части, заботящиеся о различных платформах и CMS, чтобы каждый компонентне ограничивает другие компоненты.Это довольно сложное решение для продажи, потому что никто не хочет поддерживать разные фреймворки и CMS, если это действительно не то, что нужно для них делать.

Моя логика заключается в том, что основная часть сайта действительносложное веб-приложение, пытающееся встроить его в CMS, такую ​​как Drupal или Joomla, или что-то еще, что увеличит время и стоимость разработки.Эта часть имеет смысл быть созданной с помощью более гибкой технологии, такой как Zend Framework или Symfony, по сути, это система, а не CMS.

Для остальных компонентов я не вижу смысла в использованиифреймворк, так как многие из них являются стандартными компонентами, такими как блог и форум.Поэтому для остальной части сайта я могу: 1) создать все остальное, что нужно, с помощью единой CMS, с которой я знаком (скажем, Drupal), но, поскольку я уже пошел по пути деления сайта, я подумалвариант 2) почему бы не разделить сайт еще больше и выбрать лучшее программное обеспечение для каждого компонента.Например, Drupal не очень хороший форум.Это не то, в чем его сила.

Также выясняется, что люди, которые будут участвовать в написании блогов, в основном не являются теми же людьми, которые вносят вклад в форумы, поэтому я думаю, что мне не следует беспокоиться о чем-то вроде обучения одного и того же персонала.на 2 отдельных программного обеспечения.

Однако я не могу определиться с поддержкой этого сайта.С одной стороны, я думаю, что будет сложнее поддерживать 3 основные технологии: инфраструктуру для приложения, специализированное программное обеспечение для форумов ( предложения приветствуются ) и специализированное программное обеспечение для ведения блогов ( предложения приветствуются ), но с другой стороны, я думаю, что на самом деле это может быть намного проще в обслуживании, потому что одна часть сайта может быть удалена или изменена намного легче, не затрагивая все остальное.

Это была моя общая идея, но я волнуюсь, что это может быть трудно продать, потому что может показаться, что я пытаюсь усложнить проект.Я действительно думаю, что этот подход на самом деле упрощает его.Так что есть мысли по этому поводу?Есть ли проблемы, которые я не полностью рассматриваю?Какие архитектурные решения вы бы приняли аналогично или по-другому, если бы у вас была такая же проблема?

Ответы [ 3 ]

8 голосов
/ 01 октября 2010

Это действительно трудное решение. Однако прежде всего есть пара критических вопросов, на которые необходимо ответить.

1: Будет ли блог содержать полную функциональность программ для ведения блогов, которые вы там видите? Или вам нужен меньший, более простой набор функций? То же самое касается форума.

2: Требуется ли совместное использование базы пользователей во всех трех системах?

3: Требуется ли, чтобы дизайн сайта был одинаковым по всем направлениям?

Если вам, ребята, нужны полноценные форумы и блоги, то было бы разумно использовать отдельные системы. Однако, если требуемый набор функций невелик, может быть разумнее просто создать его самостоятельно, не тратя слишком много времени.

Если необходимо предоставить общий доступ к пользовательской базе, было бы затруднительно интегрировать сеансы и пользовательскую базу в три разные системы, всегда проще и удобнее использовать только одну таблицу пользователей. Вам нужно будет взломать форум и платформу для ведения блогов, чтобы он работал с основными cms, будут проблемы с этим.

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

Это очень сложное решение. Это будет краткосрочная стоимость против долгосрочной стоимости. Если вы считаете, что веб-приложение будет работать какое-то время, я проголосую за увеличение краткосрочной стоимости, в долгосрочной перспективе это упростит задачу.

Другое примечание: Если вы разрабатываете свою архитектуру как модульную, вы можете разработать свой форум и систему блогов в виде модулей, которые вы можете подключить. Это дает вам возможность частично отключить сайт.

2 голосов
/ 01 октября 2010

Будет гораздо проще поддерживать фреймворки, в которых много пользователей, которые знают, что делают.Будет сложнее поддерживать собственное приложение, которое пытается быть приложением, блогом и форумом в одном.

Кто бы ни поддерживал его, он будет рад, что когда ему нужно будет внести изменения в блог:

  • им не нужно смотреть ни на один из других компонентов
  • есть много документации для вашего движка блога (если вы выберете популярный,например, Wordpress
1 голос
/ 02 октября 2010

Мне нравятся вопросы @ Sabeen.

Предполагая, что три компонента будут совместно использовать пользователей и макет, мне кажется предпочтительным иметь единую базовую структуру, а не многоголовый Drupal-Wordpress-phpBB-Zend монстр, в котором вам приходится работать с различными схемами аутентификации и тематики.

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

...