Я отвечаю за команду разработчиков, которые собираются приступить к разработке облегченной системы страховых выплат. Система включает в себя множество ручных задач и бизнес-процессов, и мы рассматриваем возможность использования Windows Workflow (.NET 4.0).
Пример бизнес-домена: Держатель полиса звонит в контакт-центр, чтобы подать претензию. Это «событие» запускает две подзадачи, которые выполняются вручную параллельно, и для их завершения может потребоваться много времени;
- Проверка клиента на предмет мошенничества - ручной процесс, при котором оператор звонит в различные кредитные компании, чтобы проверить и оценить потенциал клиента-мошенника. Отсюда подзадача может вводить ряд под-статусов (выполняется проверка, неудачная проверка справки, проверка пройденной справки и т. Д.)
- Отправить товар в ремонтный центр - ручной процесс, при котором элемент, по которому страхователь подал претензию, отправляется в ремонтный центр для ремонта. Отсюда подзадача может войти в несколько под-статусов (Ожидает ремонта, Выполняется, Отремонтировано, Размещено и т. Д.). Заявление может быть продолжено только после того, как статус каждой подзадачи достиг предварительно определенного статуса (на основе бизнес-правил).
На первый взгляд кажется, что Workflow - действительно лучший выбор технологии; однако у меня есть некоторые проблемы с использованием WF 4.0.
- Набор навыков - глядя на средний набор навыков разработчика, я не вижу многих разработчиков, которые понимают или знают Workflow.
- Ремонтопригодность - похоже, что в сообществе мало поддержки проектов WF 4.0, и это в сочетании с отсутствием набора навыков вызывает опасения по поводу ремонтопригодности.
- Барьер для входа - у меня такое чувство, что Windows Workflow требует сложного обучения, и его не всегда так легко освоить.
- Новый продукт. Поскольку Workflow был полностью переписан для .NET 4.0, я рассматриваю этот продукт как продукт первого поколения и, возможно, не обладает необходимой стабильностью.
- Репутация - предыдущие версии Workflow не были хорошо приняты, считались сложными для разработки и приводили к плохому восприятию бизнеса.
Итак, мой вопрос: должны ли мы использовать Windows Workflow (WF) 4.0 в этой ситуации или есть альтернативная технология (например, Simple State Machine и т. Д.) Или даже лучший механизм рабочего процесса для использования?