Разработка системы оповещений для веб-приложений
Эта статья о том, как мы разрабатывали универсальную систему оповещений для наших веб-приложений и что в итоге получилось. Не стану утверждать, что полученный результат является единственно верным, однако считаю его достаточно хорошим. Если у вас есть опыт решения подобной задачи, приглашаю поделиться им в комментариях.Суть задачиДано: веб-приложение для совместной работы. Для простоты можно считать, что это CRM или Task Tracker.Для тех, кто не ищет легких путейБолее сложное, но более точное определение класса решений, которые можно делать на нашей платформе — веб-приложения на основе баз данных. Это могут быть любые учетные решения, системы автоматизации бизнес-процессов, CRM, системы приема и обработки заказов и т.д. Главное, что в любом таком приложении есть база данных и интерфейс для работы с ней.Требуется: своевременно уведомлять пользователей о событиях в приложении, на которые требуется их реакция.В чем проблема? Всё было бы очень просто, если бы у нас было конкретное приложение со строго определенными сценариями работы и фиксированными ролями пользователей. Но в нашем случае это не так. Мы разрабатываем различные системы учета и автоматизации бизнес-процессов на основе платформы-конструктора. И систему оповещений нужно сделать на уровне платформы, чтобы потом можно было ее использовать в любых приложениях. Как мы решали эту задачу