О системе
Mozart - система (Content Management Framework) с открытым исходным кодом, предназначенная для создания и последующего сопровождения веб-проектов любого назначения: порталы, информационные и интранет-системы, интернет-магазины, каталоги товаров и услуг, B2B торговые площадки, аукционы и корпоративные сайты, онлайн-СМИ и т.п.
При помощи Mozart можно легко создавать высокотехнологичные системы управления бизнес-процессами любой сложности, информационно-технической поддержки клиентов и партнеров, эффективного использования банков знаний, словом там, где требуется структурирование большого объема разнообразной информации, управление контентом, персонализация данных. Причем механизмы продукта позволяют легко осуществить реализацию уникальных решений под конкретную задачу клиента.
История развития системы начинается с 1997 года.
Особенности
Как и любая другая подобная система Mozart позволяет облегчить создание веб-проектов при помощи традиционного набора функционала и правил. Но при этом имеет свои отличительные особенности:
Прежде всего, Mozart — это framework (в основу которого положены технологии Java EE):
- для генерации конечных документов используется XML/XSLT (JAXP);
- связь с БД осуществляется через программный модуль Repository (JDBC, пул коннектов у БД);
- структура БД описывается в xml, автоматическое приведение структуры БД к описанию в base.xml;
- можно создавать дампы БД (с файлами), от используемой БД не зависит;
- можно установить на любом Servlet Container, выполняются спецификации Java Servlet;
- JavaMail - для отправки писем, errors;
- API - NEWT технология (с) newt:base, newt:transform, newt:form ...;
- возможность описания логики приложения на произвольных динамических языках (Groovy, JavaScript, ... ) (согласно спецификации "JSR 223: Scripting for the JavaTM Platform").
Имея небольшой стандартный набор 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), оперируя информацией об объектах, их связях, взаимодействиях и методах. При этом хранилище можно масштабировать — наращивать и изменять структуру данных. Возможно реализовать практически любые структуры данных. При создании схемы объектов можно оперировать концепцией терминологического поля.
Для хранения информации используются базы данных PostgreSQL, Oracle, MySQL, HSQLDB. Возможна интеграция с любыми другими БД. Система может работать даже без специально установленной СУБД, храня данные в этом случае во встроенной СУБД HSQLDB.
Система поддерживает механизм репликации: репозитnорий позволяет создавать копии баз данных на других (удаленных) репозиториях. Пользователь (контент-менеджер, верстальщик, технолог) вносит изменения в "тестовый вариант" сайта, не рискуя поломать рабочую версию. После тестирования изменений "тестовая" и "рабочая" версии синхронизируются в автоматическом режиме.
Другие достоинства
- Раздельное проектирование информационной базы, программной части (функциональности) и дизайна.
- Масштабируемость – простое наращивание и изменение структуры данных.
- Встроенный механизм управления данными обеспечивает легкое редактирование информации.
- Независимость операционных приложений от внешнего представления данных – позволяет не изменяя программное обеспечение полностью изменить дизайн сайта целиком или отдельные его разделы.
- Механизм репликации позволяет вносить любые изменения на тестовом сервере, которые после подтверждения автоматически переносятся на реальный сайт, тем самым избегая любых искажений реального проекта.
- Вспомогательные средства, облегчающие работу с системой, например: CMS, Webadmin, Timings.
Технические особенности
Mozart работает под:
- ОС сервера: UNIX/Linux или Windows
- HTTP-сервер: Самостоятельный Apache Tomcat (версии 6 и выше), либо связка Apache/Microsoft IIS - Tomcat. (возможны любые другие надстройки в виде nginx и т.п.)
- Java runtime: полная совместимость с Sun JDK (версии 1.6 и выше), OpenJDK и Oracle JRockit. Частичная совместимость с Apache Harmony.
Для первоначальной установки используется HSQLDB, однако для продакшен-платформы рекомендуется использовать СУБД:
- Базы данных: PostgreSQL (8.3 и выше), Oracle, MySQL (5.1 и выше), HSQLDB, возможна интеграция с любыми другими БД.
