Читать книгу Философия и цифровые технологии. Сборник статей - Александр Болдачев - Страница 36
Событийная
онтология
Архитектура на основе событийной семантики
ОглавлениеОткрытые системы. СУБД, 2021, №03
https://www.osp.ru/os/2021/03/13055996
Объединение событийного подхода, семантики и ориентированного на данные принципа управления дает бизнес-пользователям возможность декомпозировать автоматизируемую предметную область не с помощью традиционных языков программирования, а путем описания операций бизнес-деятельности на языке событий, происходящих во времени. По сути, речь идет о технологии low-code/no-code, в которой исполняемым «кодом» являются последовательности семантически определенных записей.
Для создания прикладных программ, моделирования бизнес-процессов, запуска веб-сервисов обычно требуется выполнить глубокую декомпозицию автоматизируемой деятельности, для того чтобы с помощью переменных и операторов языка программирования построить цифровую модель, которую можно выполнить на компьютере с архитектурой фон Неймана. Альтернативный подход к моделированию бизнес-деятельности – EventFlow – основан на фиксации потока событий и создании исполняемых семантических моделей с использованием известного, но не получившего широкого применения подхода выполнения алгоритмов, управляемого потоком данных (DataFlow), который заключается в асинхронной отработке операций по мере готовности данных, то есть является альтернативным традиционной фон-неймановской архитектуре, основанной на пошаговом выполнении команд. Соединение событийного подхода, семантики и ориентированного на данные принципа управления позволяет поднять планку декомпозиции до уровня описания операций деятельности на языке событий, доступном бизнес-пользователям.
Базовая EventFlow-архитектура включает в себя язык событийно-семантического описания элементов предметной области и действий, выполняемых с ними ее участниками, а также программный движок, исполняющий семантические модели. Прототип такого движка успешно прошел серию испытаний применительно к задаче управления безопасностью ИТ-систем, а в Лаборатории институционального проектного инжиниринга (ipe-lab.com) создается пилотная версия системы сквозного моделирования бизнес-процессов на базе EventFlow-архитектуры.
Подход EventFlow основан на достаточно простом утверждении: любая деятельность может быть представлена в виде потока событий, различаемых и совершаемых ее участниками (акторами). В виде событий записываются не только акты управления, но и все фиксируемые свойства элементов деятельности, что позволяет унифицировать хранение и обработку данных [1]. Соответствующая архитектура объединяет три подхода к проектированию информационных систем: шаблон Event Sourcing [2], ориентированный на управление состоянием системы с помощью упорядоченного потока событий; семантическое представление данных (Linked Data и др., ru.wikipedia.org/wiki/Linked_data); подход DataFlow (ru.wikipedia.org/wiki/Dataflow_architecture). Для унификации и стандартизации взаимодействия различных программных модулей и независимых приложений используется семантический (совмещающий данные и метаданные) формат записи: события создаются по моделям и обладают семантическим содержанием, которое не зависит ни от программных элементов, ни от структуры хранилища данных. Все события EventFlow-системы, как и в Event Sourcing, сохраняются в виде временных последовательностей, что дает возможность использовать хранилище событий как брокер сообщений, обеспечивающий асинхронное взаимодействие элементов системы.
В отличие от стандартных семантических подходов, в EventFlow акцент делается не столько на хранении и поиске данных, сколько на моделировании деятельности с помощью исполняемых событийных моделей. Реализация бизнес-логики базируется на подходе DataFlow: в формат события включено логическое выражение, составленное из значений предшествующих событий, а истинность этого выражения принимается как условие выполнения события. В результате исполнения семантических моделей формируются новые события, которые фиксируют изменения объектов предметной области и одновременно являются условиями для генерации последующих событий (см. врезку).
Подход EventFlow-можно представить следующим образом: все данные предметной области создаются и хранятся в виде событий, фиксирующих наличие или изменение свойств объектов; события записываются в семантическом формате (содержат не только значения свойств, но и метаданные); в формат события включено логическое выражение, задающее условие его выполнения, что позволяет реализовать подход DataFlow к исполнению алгоритмов.