Одант
ODANT (Object Data Access Network Technology) — программный комплекс для разработки решений автоматизации и создания распределенных информационных систем. Платформа ODANT состоит из серверного ядра, фреймворков и набора базовых классов. В основе лежит объектная NoSQL СУБД собственной разработки.
История Odant[править]
Разработка ODANT ведется с 1997 года коллективом разработчиков из Рязани. Сейчас развивается четвертая версия платформы. Краткая история версий:
- СУБД, ориентированная на построение учетных систем предприятия. Основана на движке MS Access 97. Реализован визуальный конфигуратор для частичной настройки без программирования. Концептуально имела ряд сходств с 1С.
- Реализована объектно-компонентная концепция. Вместо монолитной БД используется набор классов. Классы хранят данные в объектах и обладают собственным поведением — методами. Фактически хранение данных на данном этапе происходит в реляционной БД, поэтому СУБД второй версии можно назвать «квазиобъектной».
- Переход от РСУБД к XML. В ходе оптимизации производительности реализован собственный парсер XML, фактически данные хранятся в двоичном (упакованном) формате OBX (Object Binary XML).
- Заложены основаны туманных взаимодействий. Пересмотрены модель связи серверов и система безопасности с прицелом на распределенную работу в глобальной сети. Сформулирована концепция общеплатформенной системы распространения компонентов, ведется работа над IoT/IIoT функционалом.
Ключевые особенности ODANT[править]
Концепция[править]
В ODANT используется компонентный подход к разработке систем. Основа формируется из готовых функциональных блоков (компонентов) без написания программного кода, в визуальном редакторе. Данные неотделимы от логики: каждый компонент (класс) может содержать методы и визуальные представления, а в экземплярах классов (объектах) хранятся данные. Иерархия наследования обеспечивает сквозную совместимость данных.
СУБД[править]
Объектная NoSQL СУБД ODANT включает несколько подходов к работе с данными, свойственных различным СУБД.
- Реляционные СУБД. ODANT не работает с SQL, но использует язык запросов XQuery.
- Документоориентированные СУБД. Высокая скорость выполнения операций вставки и изменения — индексы при этом не пересчитываются.
- Иерархические СУБД. ODANT позволяет организовать различные иерархии — серверов, баз, классов. Работают стандартные механизмы миграции: сверху вниз — правила, снизу вверх — данные.
- Native XML. ODANT пользуется преимуществами работы с данными в формате XML, использует собственный парсер и упакованный формат OBX.
- Key-value хранилища. В отличие от классического хранилища «ключ-значение», в ODANT каждая сущность имеет глобальный уникальный идентификатор, позволяющий обратиться к ней из любой точки сети при наличии прав доступа.
Сервер[править]
Серверное приложение ODANT:
- Организует хранение и обработку данных.
- Реализует взаимодействие с другими серверами ODANT.
- Управляет учетными записями и правами доступа.
- Поддерживает связь с внешними системами.
Клиент[править]
Сейчас для работы с сервером используется два клиентских фреймворка — Windows-приложение и кроссплатформенный web-клиент. Эти решения не являются неотъемлемой частью технологии ODANT, работа с сервером может производиться через его API.
Сеть[править]
В сети ODANT присутствует глобальная адресация сущностей, что позволяет получить доступ к любому элементу из любой точки сети при наличии соответствующих прав. С позиции наследования и потоков данных сеть может быть представлена иерархической структурой, а с точки зрения связи хостов она является одноранговой.