В UMI.CMS изначально заложены гибкость и масштабируемость. Архитектура системы позволяет использовать эффективный и современный подход к разработке.
UMI.CMS может быть интегрирована с любыми сервисами на базе xml: 1C, ReST, YandexML, RSS, Flash, Flex, Silverlight и т.д.
Все данные хранятся в виде объектов — других сущностей в системе нет. Сами объекты создаются по настраиваемым шаблонам, оперируя которыми, разработчик может легко определять структуру объектов и связывать их между собой.
Основной особенностью UMI.CMS является то, что все данные хранятся в виде объектов. Все привычные понятия в системах управления контента, такие как: страницы, пользователи, баннеры, заказы, скидки, адреса доставки товаров, сами товары – всё это объекты в UMI.CMS. При этом структура объектов определяется универсальным образом при помощи понятия «типы данных». Типы данных – это шаблоны для создания объектов, которые определяют количество и тип «полей», в которых объекты, созданные по этим шаблонам, могут хранить информацию.
Оперируя шаблонами данных, разработчик легко может определять структуру объектов и тип информации, хранящийся в объектах, и связывать их между собой.
Эта архитектурная особенность обеспечивает единообразие представления всех сущностей системы, которое при использовании формата XML становится еще и чрезвычайно наглядным.
Преимущества подхода:
В этой идее содержится вся суть подхода к разработке сайта на UMI.CMS при помощи XSLT-шаблонизатора. Шаблонизатор в этом случае является инструментом для агрегации и для вывода в необходимом нам виде данных, поступающих в формате XML, а XSLT – язык, при помощи которого мы управляем оформлением вывода.
В основе реализации данного подхода лежат следующие возможности UMI.CMS:
При таком подходе разработчик использует унифицированный механизм получения любых данных в виде XML, как из системы, так и извне. Своего рода универсальный конструктор, в котором каждую деталь, необходимую для создания страниц сайта, мы можем взять из самой системы, либо из внешнего источника.
Больше не нужно заглядывать в базу данных напрямую.
Чтобы подключать эти XML-данные для вывода их в HTML-код, используются все те же XSL-шаблоны для страниц сайта. В шаблонах используется всего одна функция XSLT – функция document(), которой разработчик указывает XML-ресурсы, расположенные по адресу имя_протокола://набор_параметров.
Например:
Таким образом, на любой странице сайта можно выводить не только ее контент или иные ее свойства, а любые данные, которые могут быть получены по протоколам. Разработчик в шаблонах сам определяет, что именно будет выводиться на страницах сайта, в соответствии со своими задачами.