Добавлены активности для обеспечения межпроцессорного взаимодействия

Очень часто возникает необходимость того, чтобы родительский процесс ожидал завершения запущенного им же подпроцесса. Ранее в платформе FlowPoint эта возможность была реализована так, что родительский процесс постоянно находился в режиме ожидания и периодически запрашивал состояние целевого подпроцесса. Такая активность ожидающего процесса может происходить в течении нескольких дней или даже месяцев, что безусловно сказывается на быстродействии высоконагруженных систем. Кроме этого происходит захламление истории процесса сообщениями о состоянии ожидаемого процесса. И наконец, реакция на изменения в ожидаемом процессе происходит не по факту их возникновения, а в момент следующего запроса состояния, периодичность которого уменьшается пропорционально времени ожидания.

В SharePoint 2010 существует событийный механизм, который позволяет осуществлять обмен сообщениями между процессами. Таким образом родительский процесс после запуска подпроцесса не проявляет никакой активности в системе и ожидает наступления соответствующего события, сигнализирующего о том, что запущенный подпроцесс завершил свою работу. Это решение не оказывает негативного влияния на быстродействие системы, а так же позволяет реагировать на изменения в целевых процессах немедленно по факту возникновения события. Реализацией такого решения стали новые активности:

  • WaitToContinueEventActivity - активность ожидания внешнего события
  • SendContinueEventActivity - активность отправки внешнего сообщения

Работа с активностями в дизайнере процессов FlowPoint: