h1

Reguła biznesowa w pętli

Czerwiec 9, 2013

W poprzednim wpisie dotyczącym prezentacji pętli w BPMN, wskazałem, że w taki sposób przedstawiona pętla jest nieskończona. Brak połączenia lub zerwane połączenie powoduje powtórzenie czynności. Zabezpieczeniem przed nieskończonym wykonywaniem czynności jest wprowadzenie kroku, który ma sprawdzić:

  • jaki jest status ostatniego działania,
  • ile razy wystąpiła taka sytuacja,
  • ile biznesowo razy dopuszczalne jest powtórzenie czynności,
  • jaka powinna być kolejna czynność.

 

callcenter450c

Powyższe elementy przekładają się na regułę biznesową, która na podstawie zainstniałych warunków (status operacji, liczba wystąpień, ograniczenie biznesowe) określa kolejne działanie – Powtórzenie działań lub zakończenie procesu. Taką sytuację przedstawia powyższy diagram w BPMN. Między wskazaniem zdarzeń a kolejnym krokiem, został dodany krok reguła biznesowa (ang. business rule task) o nazwie Określ działanie.

W kroku Powtórz działania powinien być odnotowywany historyczny status a zerowany bieżący, ponieważ bez tego proces nie wejdzie nigdy w ścieżkę dzwonienia do odbiorcy. Równocześnie może podbijać licznik wystąpienia statusu w danej kampanii. Decyzją biznesową można zmienić zapisy reguły biznesowej (wartości graniczne) bez konieczności zmiany procesu. Można też wskazać, że nigdy nie jest powtarzane wybieranie numeru.

5 uwag

  1. zdarzenie „z zegarkiem” nie oznacza „czekania” a „moment” w czasie , jest zdarzeniem pośrednim w procesie (token do niego musi jakoś dojść) a tu jest troszkę urwane z choinki…do tego jeżeli sterowanie (strzałki przepływu) dochodzą do czynności bez żadnej brami to jest to równoznaczne z logiką XOR więc powyższy przypadek oznacza, że Akcja=powtórz wykona się natychmiast bez czekania na cokolwiek…


    • Zgodnie z publikacjami może oznaczać oczekiwanie przez pewien czas jak i do pewnego momentu. Zgadzam się jednak, że powinno być: reguła biznesowa, time intermediate event, a następnie powtórz działania. Wtedy efekt byłby zgodny z oczekiwaniem.


      • „Zgodnie z publikacjami może oznaczać oczekiwanie przez pewien czas”, nie wiem jakie publikacje, ale „zdarzenie” to fakt, coś co nie trwa w czasie (semantyka BPMN). Takie zdarzenie może oznaczać „12:00 każdego dnia” albo „upłynęło 30 min od XXX” i kluczem jest tu wtedy XXX…


      • Zdarzeniem jest to, że upłynął jakiś czas od momentu określenia kolejnej czynności. Np. Oracle podaje przykład: gdy aktualizujesz kilka baz danych z procesu, odczekaj kilka minut, aby mieć pewność, że się zakończyły przed kontynuacją procesu. I do tego proponuje Timer event skonfigurowany jako cycle. Pewnie czas będzie liczony od wysłania ostatniej transakcji. Czytając proces wszystko jest jasne. I w moim przykładzie, zakończyła się reguła biznesowa i po czasie czas zakończenia + 24 godziny, czynność zostanie powtórzona.


  2. co powoduje, ze zaczynami liczyć ten czas (jaka droga token dociera do zdarzenia Odczekaj danych okres (zgodnie z dokumentacją BPMN powinno być „upłynął dany okres”)



Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: