Archive for the ‘bpmn’ Category

h1

Cookies wspierające proces

Lipiec 27, 2013

Od jakiegoś czasu w serwisach internetowych pojawia się ramka informacyjna na temat tzw. cookies, sposobu i celu ich wykorzystania. Są to pliki zapisywane na komputerze użytkownika serwisu www, gdy go przegląda. W plikach zapisywane mogą być takie informacje jak: najczęściej wykorzystywane elementy strony, ustawienia pomocnicze, personalizacja strony, elementy wpływające na wyświetlane reklamy itp. Zgodnie z nowelizacją ustawy Prawo telekomunikacyjne każdy serwis wykorzystujący te mechanizmy musi poinformować użytkownika o takim mechanizmie. Powinien także zostać poinformowany o tym jak może wyłączyć zapisywanie cookies na swoim komputerze. Wyłączenie cookies jest jakby rezygnacją z części funkcjonalności dostępnych w serwisie www.

collaborationpr450

Załóżmy, że w danym serwisie, bez zalogowania, można wskazać, która zakładka ma się zawsze pojawiać jako pierwsza – np. na stronie operatora komórkowego, chcemy najpierw widzieć informacje przeznaczone dla abonentów, bez konieczności logowania się za każdym razem. Zaznaczenie przy pierwszej wizycie, przy równoczesnym włączeniu cookies, pozwoli na zapamiętanie takiej informacji dla danego użytkownika (z danego komputera).

W takiej sytuacji, można powiedzieć, że ma miejsce proces, przedstawiony na powyższym diagramie, w którym zaangażowany jest użytkownik, jego przeglądarka oraz serwis www. Użytkownik komunikuje się z serwisem poprzez odpowiednie wybory. Bez włączonych cookies jego działania zmierzające do personalizacji serwisu, nie powiodłyby się. Jego wybory byłyby jednorazowe I ważne tylko do zamknięcia przeglądarki. Za każdym razem musiałby wykonać wybór zakładki albo filtrowanie informacji, które go interesują.

Reklamy
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.

h1

Wyjście z pętli w BPMN

Maj 29, 2013

Ostatnio kilkakrotnie dzwonił do mnie „tajemniczy” numer prywatny. Domyślałem się, że to może być Bank lub inna instytucja. Kilkakrotnie próbowałem odebrać – albo mi się nie udało albo nie słyszałem. Zawsze pozostaje opcja „oddzwonię”, ale nie tym razem – na „Numer prywatny” nie da się oddzwonić. Jeden raz , udało się odebrać i usłyszałem tylko „Proszę czekać na zgłoszenie się operatora”. Pomyślałem – o mają automatyczne wybieranie numeru. Dobra, myślę, poczekam pół minuty, bo więcej nie byłem w stanie. Po pół minucie muzyczki, rozłączyłem się. I niestety brakowało mi jednego, informacji kto i dlaczego dzwoni. Po kilku dniach wreszcie się im udało, po odebraniu usłyszałem natychmiast miły głos operatora, który przedstawił się, wygłosił formułkę i przeszedł do rzeczy. Wysłuchałem go do końca. Następny raz już nie zadzwonili.
callcenter450
Powyższą sytuację można sobie wyobrazić jak pętlę per odbiorca kampanii. Zgodnie z definicja pętli (ang. loop) z matematyki umożliwia cykliczne wykonywanie ciągu czynności („pobranie rekordu, sprawdzenie statusu, wybranie numeru”) określoną liczbę razy, do momentu zajścia pewnych warunków („odbyto rozmowę” – status sprawdzany na bramce), dla każdego elementu kolekcji (działanie wykonywane dla każdego rekordu kampanii) lub w nieskończoność.

Kolejne czynności: sprawdź czy rozmowa się odbyła, wybierz numer, połącz z operatorem (gdy nie jest wolny, poinformuj o oczekiwaniu), a po rozmowie pomiń danego odbiorcę z kolejnego telefonu. Wyjściem z pętli jest zdarzenie „Odbyto rozmowę”. A zdarzenia: „Brak połączenia”, „Połączenie zerwane”, „Odbiorca niedostępny” powodują powtórzenie czynności dla danego odbiorcy.  Odczułem to na własnej skórze – a dzwoniący odczuł wszystkie powyższe zdarzenia z mojej strony. Powyższy diagram w BPMN obrazuje taką sytuację. Zobrazowana pętla, w sytuacji braku odebrania telefonu przez odbiorcę, jest nieskończona – należałoby dodać warunek o ilości prób lub maksymalny czas od rozpoczęcia kampanii do ostatniego telefonu.

h1

Asocjacje w BPMN

Maj 21, 2013

Komentarz do poprzedniego wpisu o obiektach danych w BPMN wskazał jedną kwestię o której nie napisałem przy okazji umieszczania obiektów na diagramie. Połączenie obiektu danych z krokiem procesu odbywa się za pomocą tzw. asocjacji (ang. Association).

processassoc450b

Zgodnie z uwagą wygląd asocjacji wskazuje na rodzaj powiązania:

  • asocjacja bez strzałek oznacza dostęp do danych – na powyższym diagramie między krokiem “Zarejestruj zlecenie” i elementem “Baza zleceń” (kolekcja obiektów, ang. Data Store).
  • asocjacja ze strzałkami oznacza dane wejściowe lub wyjściowe – na powyższym diagramie dla obiektów wejściowych strzałka na asocjacji jest w kierunku kroku procesu, dla wyjściowych w stronę obiektu danych.

Dodatkowo na diagramie  (w BPMN) występuje obiekt danych (obiekt Zlecenie), który najpierw jest wyjściem z kroku (zapisane zostały dane). Ma oznaczony status. Dalsza praca odbywa się na takim obiekcie, będącym wejściem do kolejnego kroku (krok pobiera dane). Korzystając z aplikacji do przygotowania diagramu procesu, trzeba uważnie stosować typy powiązań.

Asocjacje są także wykorzystywane do łączenia innych obiektów – np. tekstu (ang. Text annotation) – jak w przypadku powyższego diagramu element zawierający dodatkową informację o kroku.

h1

Obiekty danych w procesie BPMN

Maj 17, 2013

Kolejnym etapem realizacji zlecenia w serwisie samochodowym, była kwestia płatności I otrzymanie potwierdzenia. Otrzymałem wydruk zlecenia z kwotą, statusem oraz wykonanymi czynnościami. Przyglądając się zleceniu zauważyłem, że składa sie ono z informacji uzyskanych od Klienta, danych wprowadzonych przez operatora i danych z rejestru części dostępnych w serwisie. Elementy to obiekty danych, które razem tworzą zlecenie. Operacje na tych danych pokazuje poniższy diagram BPMN.

processobjects450

Obiekty danych są z jednym z elementów procesów w BPMN. Mogą informować o danych służących do realizacji zadań przez użytkownika w systemie, obiektach wykorzystywanych przez samą aplikację oraz efektach działania aplikacji. Na diagramie zaprezentowano przykłady. Obiekt (ang. Data Object), na którym działa proces, ma wskazane różne statusy – Zarejestrowany, Wydrukowany. W tym celu wykorzystuje się element BPMN oznaczony poprzez prostokąt z “zagiętym rogiem”. Obiekty wejściowe (ang. Data Input) są oznaczane pustą strzałką, a obiekty wyjściowe (ang. Data Output) – pełną strzałką.

W tym wypadku obiekt Zlecenie można potraktować jako złożenie danych kluczowych i danych zawartości. Proces jest sterowany przez operatora.

h1

Usługowy proces współpracy

Kwiecień 27, 2013

W artykule Fenomen chmury w Gazecie-MŚP autor zastanawia się jak dobrze wybrać dostawcę takich usług. Wskazuje wiele korzyści, tak ich jak ciągłość działania, dostępność z różnych miejsc, oszczędność kosztów itp. Równocześnie przypomina, że technologia nadal budzi wiele obaw. W artykule pojawiają się dwie możliwości wykorzystania chmury – korzystanie z aplikacji i korzystanie z przestrzeni dyskowej.

Obydwa te możliwości kryją się pod jednym angielskim określeniem SaaS. SaaS rozwinąć można jako:

  • Sofware as a Service – oznacza wykorzystanie aplikacji umieszczonej na zdalnym serwerze – „aplikacja jako usługa”. Nie ma potrzeby jej instalowania i konfigurowania lokalnie na komputerze odbiorcy. Użytkownik wskazuje aplikację do uruchomienia, wykorzystuje, a potem kończy pracę. Na poniższym diagramie BPMN przedstawiony jest schemat współpracy.

collaboration_1_450

  • Storage as a Service – oznacza korzystanie z zdalnej przestrzeni dyskowej – „przechowywanie jako usługa”. Użytkownik przesyła dane do zewnętrznej lokalizacji. Ma do nich dostęp z różnych lokalizacji. Nie musi dbać o dużą lokalną przestrzeń dyskową. Nie musi także pamiętać o archiwizowaniu danych oraz tworzeniu kopii zapasowych – dba o to dostawca usługi. Na poniższym diagramie BPMN przedstawiony jest schemat współpracy.

collaboration_2_450

Obydwa modele obsługi przypominają proces współpracy (ang. collaboration process). Użytkownik wysyła komunikat do dostawcy usługi. Wywołuje usługę o odpowiednich parametrach – wysyła żądanie uruchomienia aplikacji, przechowania danych. W odpowiedzi otrzymuje komunikat z wynikiem – udostępniona usługa, dane zapisane, brak dostępu do aplikacji (nie została skonfigurowana), brak przestrzeni dyskowej (zostało wyczerpane miejsce przewidziane w umowie). Dostawca dba o bezpieczeństwo, ciągłość dzialania, wybór źródła aplikacji, metod archiwizowania, momentu tworzenia backupu. Za taką możliwość płaci stałą lub w inny sposób skonstruowaną opłatę.

h1

Co to ten token?

Marzec 22, 2013

W poprzednim wpisie użyłem sformułowania, że po „otrzymaniu tzw. tokenów” ze wszystkich ścieżek wchodzących do bramki proces będzie kontynuowany. Tzw. token można sobie wyobrazić jako znacznik przebiegu procesu przekazywany od zdarzenia początkowego, od czynności do czynności, rozdzielanego i łączonego na ścieżkach równoczesnych, traconego w pewnych sytuacjach. W szczególności za pomocą tokenów łatwo wyjaśnić działanie bramek. Spróbuję przedstawić to wizualnie.

tokens_animation4

Załóżmy, że przygotowujemy obiad, rysujemy proces czynności wykonywanych po kolei, a potem dajemy komuś zadanie powtórzenia procesu. Można sobie wyobrazić, że ta osoba (lub robot po przepisaniu procesu na język maszynowy), wodzi palcem po procesie i wykonuje czynności zgodnie z ich opisem. Wstawia wodę na ziemniaki, soli ją, w trakcie gotowania wody, obiera ziemniaki, a potem je wrzuca do garnka, następnie wykonuje kolejne czynności. Może też to zrobić za pomocą parowaru. Wstawia wodę, obiera ziemniaki i umieszcza je w parowarze. Powyższy diagram w BPMN prezentuje taki przykładowy proces.

Przyglądając się dokładnie animacji można zauważyć, że:

  • za bramką AND są 2 tokeny i przejście do następnych czynności, jest możliwe, gdy obydwa one trafią do bramki łączącej. Zadania mogą zakończyć się w różnym czasie.
  • za bramką typu exclusive jest jeden token, ponieważ proces przebiega jedną ścieżką.