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


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

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

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

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

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

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

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

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

Author: wonea, 2010-10-01

3 answers

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

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

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

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

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

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

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

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

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

 8
Author: Sabeen Malik, 2010-10-01 16:26:26

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

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

  • им не нужно смотреть на какие-либо другие компоненты
  • существует множество документации для вашего движка блога (при условии, что вы используете популярный, например, Wordpress
 2
Author: Skilldrick, 2010-10-01 12:26:49

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

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

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

 1
Author: David Weinraub, 2010-10-02 03:13:21