ecto.ru

Проекты

Reactor — web framework

Общее описание.

Reactor модульная и полностью обьектно ориентированная система. Если встроенная функциональность какого-либо модуля не устраивает, его можно заменить не нарушая работу системы в целом.

Reactor предоставляет разработчкику:
модульность,
компилируемые шаблоны,
прямые URL,
система кеширования,
проверка данных пользователя,
система пользователей и прав,
удобный API работы с базой данных,
дополнительные библиотеки расширения функционала.

Стандартный набор Reactor включает в себя модуль также модуль административной панели. Он уникален, административный интерфейс строится автоматически на основе внутреннего описания сущностей представленных в системе.

Чуть более подробно о предоставляемых сервисах.

Модуль это обьединение связанных между мобой сущностями для удобства оперирования. Например, модуль новостей содержит в себе обьект новости, таблицы в БД относящиеся к новостям, шаблоны новостей.

Также, модуль может иметь собственное подклюение к БД.

При наличии в системе модуля Constructor — модули можно удалять, инсталировать и создавать дистрибутивы -файлы для переноса модулей между проектамии.

Три вида кеширования: на уровне ресурсов системы — например: результат запроса к БД; кеширование шаблонов — простое, автоматически обновляемое по времени, многопоточное; на стороне клиента — если страница не модифицировалась и она есть в кеше браузера, повторной загруки страницы не будет.

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

Проверка данных пользователя полностью автоматическая и построенна на соответсвии данных их базовому типу. Reactor содержит набор базовых типов данных — текст, строка, html, картинка и т.д. Разработчик при необходимости может расширить этот набор типов своими. Система проверки данных также содержит интрументарий для организации возвтара на форму данных в случае неполного/неправильного запонения, организация превью.

Система пользователей и прав оперирует тремя сущностями: пользователь, группа, действие. Пользователи принадлежат группам, группе назначаются разрешенные действия.

Интересный факт — если пользователю запрещено определенное действие, даже имея непосредственный доступ к коду приложения, выполнить действие невозможно стандартными способами.

Внутренние механизмы Reactor построены с использованем СУБД MySQL, благодадя обьектной прослойке, при необходимости можно использовать любую другую ANSI SQL совместимую базу данных.

Однако, если для хранения данных проекта принято решение использовать отличную от MySQL СУБД, рекомендуется, для обеспечения большей стабильности и производительности, использовать 2 СУБД одновременно — MySQL для обеспечения функциональности Reactor и вторую СУБД для оптимального хранения данных проекта.