Архитектурный совет по соединению нескольких разнообразных сайтов в одно сообщество - PullRequest
0 голосов
/ 12 мая 2010

Мне дали задание соединить несколько сайтов одного и того же клиента в одну сеть. Поэтому я хотел бы услышать архитектурный совет по объединению этих сайтов в одно сообщество.

Эти сайты включают в себя:
1. Invision Power Board Forum (самый важный сайт)
2. 3 заказных cms-s (изменения в коде допустимы)
3. 1 друпал сайт
4. 3-4 WordPress-блога

Требования следующие:
1. Соединение всех пользователей всех сайтов в единый административный объект. С возможностью изменения разрешений, запретом пользователей и т. Д.
2. Позже, основываясь на этой реализации, я должен внедрить чат «как в Facebook», который будет доступен всем пользователям независимо от места входа в систему.

У меня мало мыслей о том, как поступить с этим, но я хотел бы услышать, что некоторые люди имеют больше опыта и опыта, чем я сам.

Ура!

1 Ответ

0 голосов
/ 12 мая 2010

У тебя будет один ад времени. Каждая из этих платформ сайта имеет очень разнородную пользовательскую архитектуру: нет способа «плавно» соединить их все вместе без многочисленных изменений кодовой базы. Вы пытаетесь внести глубокие изменения в каждую из этих платформ для связи с центральной базой данных, вероятно, изменив тысячи (если не десятки тысяч) строк кода.

Помимо очевидных (массовых) изменений во всех платформах, вам придется беспокоиться об обновлениях: что произойдет, когда выйдет новая версия Wordpress? Скорее всего, вам придется обновить весь код вручную (поскольку вы не можете просто внести изменения). Вы также должны убедиться, что все изменения кода совместимы с вашей текущей базой данных. Не дай Бог, одна из платформ начнет по-другому хранить информацию о пользователях - вам придется вносить более масштабные изменения в код. Это просто не поддается ремонту.

Ваша альтернатива (и лучшая ставка) состоит в том, чтобы иметь какое-то задание синхронизации, которое выполняется каждый час или около того: перебирайте каждого пользователя в каждой базе данных и сравнивайте его, чтобы увидеть, существует ли оно и актуально ли в другие базы данных. Если нет, отмените изменения. Проблема в том, что он будет значительно медленнее, так как вы получаете все больше и больше пользователей.

Возможно, другая альтернатива - просто предложить собственную реализацию OpenID. Я считаю, что и Drupal, и Wordpress имеют плагины OpenID, которыми вы можете воспользоваться. Таким образом, вы можете разрешить своим пользователям входить в систему через службу псевдо-единого входа на ваших сайтах. Недостатком является то, что пользователи могут не использовать его.

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...