Я создаю веб-приложение, и его спецификация заключается в использовании трехуровневой архитектуры.
Мои требования — это общее трехуровневое приложение, где уровень представления должен был находиться на одном сервере, код приложения (в данном случае это была бизнес-логика и доступ к данным) на втором сервере, база данных на третьем сервере и первый и третьи серверы никогда не должны связываться друг с другом, но должны проходить через промежуточный сервер приложений.
Кто-нибудь знает, могу ли я использовать cms concrete5 для выполнения этой задачи, так как это неотъемлемая часть моего общего рабочего процесса. Я знаю, что он использует трехуровневую архитектуру приложения, но не уверен, смогу ли я преобразовать это в трехуровневое приложение?
если у кого-нибудь есть понимание того, как это могло или было сделано на drupal или wordpress, это было бы оценено?
Вы не можете разделить свое приложение между различными серверами, используя Concrete5. База данных может определенно находиться на другом сервере, но уровень представления и уровень логики / доступа к данным biz объединены в одну систему, если вы используете Concrete5 (это верно для большинства CMS … они предназначены для объединения все эти функции вместе, чтобы сделать создание сайтов проще).
Однако если вам не нужно, чтобы уровни представления и бизнес-уровни находились на отдельных серверах, вы, безусловно, можете поддерживать концептуальную «трехуровневую архитектуру», используя C5. По сути, вы просто помещаете свою бизнес-логику в модели (классы), а затем используете «single_pages» и «blocks» в качестве уровня представления. Вот некоторый шаблонный код, который я использую для создания пользовательских частей бизнес-логики моих сайтов C5: https://github.com/jordanlev/c5_boilerplate_crud — возможно, это будет полезно для демонстрации того, как структурировать ваш код более чисто.
Других решений пока нет …