Система обработки событий в современных веб-приложениях работает на основе событийно-ориентированной архитектуры (Event-Driven Architecture, EDA). tproger.ru Она базируется на асинхронном взаимодействии между частями системы и обеспечивает высокую адаптируемость всей системы к изменяющейся среде. tproger.ru Обнаружение и обработка событий происходят в реальном времени. tproger.ru
Ключевые компоненты EDA: tproger.ru
- Продюсеры (производители). tproger.ru Это компоненты, отвечающие за отправку сообщений. tproger.ru Как только состояние изменяется либо происходит действие в системе, производитель отправляет данные об этом заинтересованной стороне. tproger.ru
- События. tproger.ru Это сообщения либо пакеты данных, фиксирующие изменения состояния или какое-либо действие внутри компонентов большой системы. tproger.ru В событиях содержатся метаданные, маркирующие источник изменения, метки времени, информация о действии. tproger.ru
- Каналы. tproger.ru Все события доставляются до адресатов (потребителей) по специальным каналам. tproger.ru Первичные каналы событий — это TCP/IP-соединения или файлы различного формата (XML, JSON и т.д.). tproger.ru
- Маршрутизатор. tproger.ru Этот компонент идентифицирует первичные события и действия, которые содержатся в сообщении. tproger.ru При этом сам маршрутизатор не обрабатывает события, а лишь выдаёт соответствующие инструкции получателю. tproger.ru
- Потребители (получатели). tproger.ru Эти компоненты отвечают на сообщение соответствующим образом. tproger.ru Это может быть обновление данных, инициация новых процессов в приложении, вызов удалённых служб. tproger.ru
В веб-приложениях события запускаются внутри окна браузера и, как правило, прикрепляются к конкретному элементу, который в нём находится. developer.mozilla.org Каждое доступное событие имеет обработчик событий — блок кода (обычно это функция JavaScript), который будет запускаться при срабатывании события. developer.mozilla.org