успешно прошел серию испытаний применительно к задаче управления безопасностью ИТ-систем, а в Лаборатории институционального проектного инжиниринга (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 к исполнению алгоритмов.
Событийная семантика
Традиционные ИТ-архитектуры основаны на однозначном разделении данных и метаданных. Данные обычно хранятся в виде числовых и строковых значений в СУБД, а метаданные, описывающие содержательную сторону предметной области (отношения объектов и бизнес-логику), задаются структурой хранилищ и встраиваются в программу. При семантическом подходе смысловая составляющая предметной области отделяется от структуры приложения (кода программ и схем баз данных).