Odpowiadam za zespół programistów, który za chwilę rozpocznie prace nad lekkim systemem roszczeń ubezpieczeniowych. System obejmuje wiele ręcznych zadań i biznesowych przepływów pracy, a my rozważamy wykorzystanie Windows Workflow (.NET 4.0).
Przykład domeny biznesowej jest następujący: Posiadacz polisy dzwoni do centrum kontaktowego w celu złożenia reklamacji. To „zdarzenie” uruchamia dwa pod-zadania, które są wykonywane ręcznie równolegle i ich ukończenie może zająć dużo czasu;
- Sprawdź klienta pod kątem oszustwa - ręczny proces, w ramach którego operator dzwoni do różnych firm kredytowych w celu sprawdzenia i oceny potencjału oszukańczego klienta. W tym miejscu zadanie podrzędne może wprowadzić szereg statusów podrzędnych (sprawdzanie w toku, sprawdzanie referencji zakończonych niepowodzeniem, sprawdzanie referencji zaliczonych itp.)
- Wyślij element do centrum napraw - proces ręczny, w ramach którego element, którego dotyczy roszczenie, jest wysyłany do centrum napraw w celu naprawy. Z tego miejsca zadanie podrzędne może wprowadzić szereg statusów podrzędnych (oczekuje na naprawę, w toku, naprawiony, wysłany itp.). Roszczenie może być kontynuowane tylko wtedy, gdy stan każdego zadania podrzędnego osiągnie wstępnie zdefiniowany stan (na podstawie reguł biznesowych).
Na pierwszy rzut oka wydaje się, że przepływ pracy jest rzeczywiście najlepszym wyborem technologii; jednak mam kilka obaw związanych z używaniem WF 4.0.
- Zestaw umiejętności - patrząc na średni zestaw umiejętności programistów, nie widzę wielu programistów, którzy rozumieją lub znają przepływ pracy.
- Łatwość utrzymania - wydaje się, że społeczność ma niewielkie poparcie dla projektów WF 4.0, co w połączeniu z brakiem zestawu umiejętności budzi obawy dotyczące łatwości konserwacji.
- Bariera wejścia - mam wrażenie, że Windows Workflow ma stromą krzywą uczenia się i nie zawsze jest to łatwe do opanowania.
- Nowy produkt - ponieważ Workflow został całkowicie przepisany na .NET 4.0, postrzegam ten produkt jako produkt pierwszej generacji i może nie mieć wymaganej stabilności.
- Reputacja - poprzednie wersje Workflow nie były dobrze przyjmowane, uważane za trudne do opracowania i skutkowały słabym zainteresowaniem biznesowym.
Moje pytanie brzmi więc, czy w tej sytuacji powinniśmy używać systemu Windows Workflow (WF) 4.0, czy też istnieje alternatywna technologia (np. Simple State Machine itp.) Lub nawet lepszy silnik przepływu pracy?