Кстати, могу попробовать примерно рассказать как работает workflow и oracle approval management в oebs.
Система предоставляет ряд предопределенных событий, на которые мы можем подписываться. Такими событиями могут быть: одобрение заявки на закупку, одобрение результатов тестирования качества ингридиентов, согласование бюджета, утверждение результатов планирования и т.д.
Подписываясь на определенное событие мы можем получать оповещения, о происходщем в системе. Тем самым, кстати, удобно решается задача "адресной доставки информации". То есть, руководитель даже не запускает систему, а всю необходимую информацию получает в почтовый ящик.
Кроме того для каждого предопределенного события в системе мы можем настроить цепочку одобрения, без которой данное изменение не будет приниматься в системе. При чем цепь одобрения может строиться очень гибко, например:
* если цена заявки меньше 100 то одобряет только мой менеджер, если больше + еще менеджер моего менеджера
* одобрить данный документ должны все сотрудники заданного отдела
* если данный сотрудник не реагирует на данное сообщение, переслать его руководителю данного человека
Сотрудник получает html - сообщение, в котором есть клавиши: принять, отклонить, переслать и таким образом управляет предприятием даже не заходя в систему.
При чем, это все осуществляется без программирования. Если данных возможностей не хватает - предлагается использовать workflow builder. Например, для того, чтобы создать свои источники событий или изменить логику алгоритмов, построенных на системе документооборота: