Я отвечаю за команду разработчиков, которая вот-вот начнет разрабатывать систему страховки с легкими весами. Система включает в себя множество ручных задач и бизнес-процессов, и мы рассматриваем использование 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 для этой ситуации или есть альтернативная технология (IE, Simple State Machine, и т.д.) или даже лучший механизм рабочего процесса для использования?