О системе

Mozart - система (Content Management Framework) с открытым исходным кодом, предназначенная для создания и последующего сопровождения веб-проектов любого назначения: порталы, информационные и интранет-системы, интернет-магазины, каталоги товаров и услуг, B2B торговые площадки, аукционы и корпоративные сайты, онлайн-СМИ и т.п.

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

История развития системы начинается с 1997 года.

Особенности

Как и любая другая подобная система Mozart позволяет облегчить создание веб-проектов при помощи традиционного набора функционала и правил. Но при этом имеет свои отличительные особенности:

  1. Мониторинг ошибок.

    Удобная система мониторинга ошибок: они показываются на экране, пишутся в лог в реальном времени, критические отправляются на почту администратору. В том числе через специальный модуль Timings.

  2. Простота разработки.

    — Для простых проектов нет необходимость владеть каким-то языком программирования. API Mozart позволяет лишь со знанием HTML и принципов верстки создавать несложные проекты.
    — Проектирование БД (объектов и их структур) - простое ее описание в виде XML, поэтому так же достаточно просто.
    — Концепция терминологического поля при построении системы, ее хранилища, позволяет понять структуру хранения данных практически любому.

  3. Удобство разработки.

    — Четкое следование архитектуре MVC.
    — Шаблонизатор - XSLT - стандарт W3C.
    — Основным средством разработки является собственный API, основанный на принципах XML. В качестве более серьезных средств разработки по умолчанию можно использовать Java и производные от нее технологии, но имеется возможность подключить и произвольные скриптовые языки. Основным среди них является Groovy, но можно установить Python, Ruby, PHP и другие.

  4. Различные СУБД.

    Возможность использовать различные СУБД (PostgreSQL, Oracle, MySQL, HSQLDB). HSQLDB — это java-СУБД, уже встроенная в Mozart, т.е. есть возможность работать без специально установленной на сервере СУБД.

  5. Репликация данных.

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

  6. Удобный интерфейс управления.

    — Имеется CMS для управления контентом.
    — Inline-режим редактирования контента (прямо на страницах сайта).

  7. Интеграция.

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

  8. Кэширование.

    Многоуровневая интеллектуальная система кэширования.

  9. Надежность.

    Mozart — не новая, а давно существующая система, на которой сделано множество совершенно разных проектов.

Прежде всего, Mozart — это framework (в основу которого положены технологии Java EE):

Имея небольшой стандартный набор API разработчик может сделать широкий спектр функционала. А подключаемые скриптовые языке помогу расширить эти возможности и добавить удобства в разработке.

Некоторые из особенностей подробно рассмотрены в разделе Уроки.

Простота установки и эксплуатации

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

Для создания простых сайтов разработчику нет необходимости владеть каким-либо языком программирования. Достаточно иметь представление о HTML и XML, спроектировать хранилище данных (представляет собой xml файл определенной структуры, описывающий объекты и связи), не вникая в сложности SQL, и при помощи простого xml-подобного программного интерфейса (конструкций) написать обращения к этому хранилищу, которые будут оперировать входящей и исходящей информацией, давая разработчику на выходе xml-содержание.

Mozart может работать без специально установленной СУБД: java-СУБД HSQLDB уже входит в дистрибутив и не требует специальной установки.

Шаблоны визуализации

Один раз созданный массив обработанных данных может обрабатываться одним или несколькими шаблонами. Шаблоны визуализации соединяют данные с элементами оформления, свойственных тому или иному формату данных. Таким образом, можно придавать информации любой вид (HTML, TEXT, PDF, RTF, XML, GIF/JPEG/PNG и других форматов) и использовать во всевозможных приложениях.

В ситуации, когда вам необходимо один и тот же документ выводить на разные устройства (принтер, мобильный телефон, карманный ПК), Вы храните свой документ как XML, а для его вывода применить к нему разные XSL-файлы.

Современные технологии

Реализованная на основе открытых технологий Java EE, поддерживаемых такими вендорами, как SUN, IBM, Oracle, система Mozart наследует в своей архитектуре все достоинства Java EE. Все данные, которыми будет оперировать созданная на основе Mozart информационная система, будут представлены в формате XML — один из основных стандартов обмена данными. Независимо от способа хранения данных, работа внутри системы с данными в формате XML обеспечивает возможность взаимодействия с любыми базами данных. Поддерживаемые стандарты: SQL, DBM, CSV, XML.

Данные обрабатываются механизмом XSL — eXtensible Stylesheet Language, позволяющим применять таблицы стилей к сгенерированным данным, а значит по-разному использовать одни и те же данные. Что позволяет один раз, создав массив обработанных данных, использовать его во всевозможных приложениях, компоновать информацию для различных аудиторий и предлагать пользователю данные в том виде, в каком он предпочитает с ними работать (HTML, TEXT, PDF, RTF, XML, GIF/JPEG/PNG и других форматов).

Возможно также обратное преобразование данных из общеупотребительных форматов в формат XML и внесение этих данных в информационную систему. Данная особенность позволяет системе взаимодействовать с распространенными программными продуктами, такими как Microsoft Office.

Архитектура

Mozart Architecture

В объектном хранилище данных (репозитории) систематизируется большой объем разнообразной информации, документов и материалов. Иерархия хранимых объектов описывается графом. Это позволяет связывать информационные объекты в любой последовательности. Репозиторий отвечает на запросы клиентского приложения (в нашем случае Mozart), оперируя информацией об объектах, их связях, взаимодействиях и методах. При этом хранилище можно масштабировать — наращивать и изменять структуру данных. Возможно реализовать практически любые структуры данных. При создании схемы объектов можно оперировать концепцией терминологического поля.

Для хранения информации используются базы данных PostgreSQL, Oracle, MySQL, HSQLDB. Возможна интеграция с любыми другими БД. Система может работать даже без специально установленной СУБД, храня данные в этом случае во встроенной СУБД HSQLDB.

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

Другие достоинства

Технические особенности

Mozart работает под:

Для первоначальной установки используется HSQLDB, однако для продакшен-платформы рекомендуется использовать СУБД: