41
должны быть заранее спроектированы (по той причине, что изменение
структуры займет гораздо больше времени и усилий), база данных должна быть
эффективной, масштабируемой и подробно задокументированной.
Ядро системы отвечает за основной функционал системы, за поддержку
коммуникаций между внутренними сервисами системы и модулями,
обеспечение работы с СУБД, поддержку пользовательской и административной
частей системы, поддержку шаблонов оформления, поддержку модульности.
Поддержка баз данных в ядре включает в себя драйвера доступа к базам
данных, механизмы их переключения, данные, необходимые для подключения
к базе данных (описание драйвера, путь до базы данных (URL), имя
пользователя базы данных и пароль, и в случае использования ORM
необходимо указать диалект обращений к СУБД). Так же в ядре присутствуют
описания сущностей базы данных, первоначальные шаблоны страниц, и
требуемые приложением внешние библиотеки.
Модули системы управления содержимым включают в себя реализации
различного дополнительного функционала. Реализация модульности сильно
зависит, как и от используемых языков программирования, так и платформ, но
важно выделить общие требования к модульности. Во-первых, каждый модуль
должен использоваться для реализации только одной функциональности
(например, неудачным выглядел бы пример модуля, который бы совмещал
функциональность RSS и почтового клиента). Во-вторых, модули не должны
влиять на работоспособность как ядра системы, так и на другие ее модули и
компоненты. Наконец модули должны быть полностью совместимы с
функционалом других модулей, ядра системы и прочих ее компонентов, что
достигается при создании и использовании собственных API (англ. application
programming interface).
Часть системы управления содержимым, отвечающая за отображение
информации и взаимодействие с пользователями, включает в себя
административную панель и пользовательское отображение. Административная