Autoryzacja w procesie

W wielu firmach, zlecenie instalacji oprogramowania na stacji roboczej jest wykonywane zdalnie przed administratorów lub dedykowanych do tego pracowników firm serwisowych. Po zgłoszeniu potrzeby, osoba wykonująca kontaktuje się z użytkownikiem, prosi go lub nie o wylogowanie, nawiązuje połaczenie z komputerem, przeprowadza instalację i po zakończeniu pracy przekazuje informację, że instalacja zakończona. Przeważnie już podczas telefonu, następuje przełączenie obsługi stacji roboczej z użytkownika na administratora. Administrator łączy się ze stanowiskiem pracy wskazanym przez zlecającego. Proces wygląda jak poniżej (kroki zaznaczone na zielono).

Załóżmy jednak, że został podany błędny identyfikator stacji roboczej. W takiej sytuacji, administrator połączy się i zacznie pracę na innym stanowisku pracy. W skrajnej sytuacji, efektem może być wylogowanie innego użytkownika i zablokowanie możliwości kontynuacji pracy poprzez zmianę konfiguracji jego komputera. Jeżeli ten inny użytkownik jest świadomy, jak sprawdzić co się dzieje lub jak zareagować, może wstrzymać szybko dalsze prace (np. poprzez przekazanie informacji na ekranie komputera lub telefon do tej osoby jeżeli ją rozpozna) i uniknąć problemów w przyszłości. Jeżeli natomiast, nie wie jak zareagować lub tym bardziej nie ma takiej możliwości, bo na przykład na chwilę przeszedł do innego stanowiska pracy, może po powrocie być przerażony/zdziwiony/zdenerwowany efektem pracy. Nie wiadomo jak szybko się dowie o tym, że dokonano na jego stacji roboczej zmian, których nie oczekiwał lub, które uniemożliwią mu wypełnienie obowiązków służbowych.

admin_inst450Moim zdaniem jest prosty sposób na uniknięcie takiej sytuacji, administrator powinien po połączeniu do stacji roboczej zweryfikować dane osoby zalogowanej lub potwierdzić fakt u użytkownika, że widzi jego “obecność” na stanowisku pracy i upewnić się co do możliwości kontynuacji pracy. Prosta czynność, która zabezpieczy przed ewentualnymi stratami lub koniecznością naprawy konfiguracji/instalacji w trybie pilnym poza zaplanowanym planem prac. Taki element został dodany do powyższego procesu (na czerwono).

Wskazany dodatkowy element można potraktować jako pewien rodzaj autoryzacji (ang. authorization),  użytkownika/systemu/obiektu do wykonania określonej czynności. Tutaj mówimy o “autoryzacji” administratora do pracy na danej stacji roboczej. Dla stacji roboczej o innym numerze, administrator nie otrzymał “autoryzacji” (nie zostało wystawione zlecenie na taką pracę). Pojęcie autoryzacji używałem w moich wpisać już kilkakrotnie – np. w kontekście autoryzacji artykułu lub dostępu do danych.

Reklama

Proces z sugestiami

Ostatnio kupuję często bilet y na pociąg on-line. Za pierwszym razem poświęciłem czas na rezerwację i teraz po zalogowaniu, mam wprowadzone dane, wyszukuję połączenie, wybieram połączenie/bilet, dokonuję płatności i drukuję. Szybko i wygodnie.

Za każdym razem wybieram datę, trasę, pociąg, wagon i rodzaj biletu. Doszedłem po którymś razie do takiego momentu, że jedynie data wyjazdu się zmienia, a pozostałe elementy: godzina/pociąg, rodzaj wagonu są identyczne. Czasami zmianie ulega liczba biletów. Czasami nawet numer i miejsca w pociągu są do siebie podobne. Kroki tego procesu, po zalogowaniu ale bez wydruku prezentuje poniższy diagram.

bilety450Ostatnio zacząłem się zastanawiać, co byłoby gdyby, system sprzedaży biletów, po zalogowaniu i przejściu do wyszukiwarki podpowiadał wartości, których używałem najczęściej przy wyszukiwaniu. Idąc dalej, w zależności od trasy, mógłby też podświetlać sugerowany pociąg, a potem rodzaj wagonu. O sposobie płatności nawet nie wspominam. Możliwości te zostały zaznaczone na powyższym diagramie.

Można powiedzieć, że powstałby proces z sugestiami – system byłby o krok przed użytkownikiem. Wykonywałby czynności automatyczne i czekał na „ręczną” reakcję (o takim rozróżnieniu pisałem kilka wpisów temu). Wiem, że jeżeli trzeba byłoby wpisać całkowicie inne parametry trasy/pociągu to takie podpowiedziane wartości należałoby najpierw wyczyścić. To w jaki sposób można to wykonać w takim systemie wpłynęłoby na czas realizacji zamówienia biletu.

Futurystyczny proces?

Przemieszczanie się wymaga wyboru środka transportu odpowiedniego do podróży. Może to być samochód, samolot, rower, pociąg, autobus lub inny. Część z tych środków wymaga ich wcześniejszego zakupu lub wynajmu. Inne wcześniejszej rezerwacji. Dla każdego można mówić o ponoszonym koszcie wykorzystania – cena zakupu środka transportu, bilety, benzyny, opłata za wynajem itp.

Potem można wykorzystać dany środek transportu zgodnie z ustalonym regulaminem lub podpisaną umową dotyczącą wykorzystania. Po okresie umownym lub pokonaniu zaplanowanej trasy środek zwracamy właścicielowi, opuszczamy go lub odstawiamy do miejsca przechowywania. Poniższy diagram prezentuje taki standardowy proces.

samochody450

Według prognoz niektórych futurystów (np. Paul Saffo) dotyczących użytkowania samochodów w przyszłości będziemy tylko je wynajmować a nie kupować. Pominięty wtedy zostanie krok zakupu (na czerwono) a znaczenia nabierze krok wynajmu samochodu (na zielono). Płatność może być jednorazowa lub w formie abonamentu.

Wskazany krok dotyczący wynajmu środka transportu już teraz ma ogromne znaczenie – wynajmujemy samochody (np. na wakacjach), korzystamy z taksówek, z rowerów miejskich itd. Jednak nadal pozostaje wybór posiadania własnego samochodu lub korzystania z wynajętego. Prognoza wspomina właśnie o ograniczeniu tego wyboru w przypadku samochodów.

Można też przytoczyć korzyści z takiego rozwiązania – na przykład to, że samochód jest podstawiany w dane miejsce, zatankowany i gotowy do podróży.

Rezydent nie jedno ma „imię”

Dzisiaj będzie wpis nadal w tematyce wakacyjnej. W czasie wykupionych wyjazdów za granicę, funkcjonuje w miejscu docelowym „instytucja” tzw. rezydenta. Rezydent opiekuje się grupą gości z danego biura podróży zakwaterowanych w określonym hotelu. Przybliża miejsce wypoczynku, hotel, informuje o ubezpieczeniu, postępowaniu w nagłych wypadkach. Przedstawia także wycieczki fakultatywne, z cenami, zasadami itp.

Chciałbym jednak zwrócić na jedną istotną funkcję Rezydenta, która przypomina w pewnych sytuacjach działanie wzorca Pełnomocnika a w innych sytuacjach – „Request- Response” lub „Fire and Forget”. Poniżej zostały przytoczone 3 przykładowe sytuacje, które w uproszczony sposób prezentują zależności w poszczególnych wzorcach.

BL_BLProcess_2015-06-01 1006

Powyższy diagram prezentuje potencjalny sposób postępowania pośrednika w tych różnych sytuacjach. Ma charakter poglądowy obrazujący ideę danego wzorca.

Sytuacja 1: Gość zwraca się do Rezydenta z prośbą o rezerwację samochodu, w ramach oferty, którą przedstawił. Rezydent wykonuje telefon, przekazuje pytania firmy, pozyskuje odpowiedzi Gościa i ostatecznie rezerwuje samochód. Potem daje potwierdzenie, z którym należy udać się do punktu, podpisać umowę i dokończyć transakcję. Jest to typowe dla wzorca projektowego „Pełnomocnik”, gdzie pośrednik przekazuje żądania po inicjatora do wykonawcy.

Sytuacja 2: Gość zwraca się do Rezydenta z prośbą o pomoc przy zmianie pokoju/hotelu, z określonej przyczyny. Kieruje się z Gościem do Recepcji, wyjaśnia i czeka na zakończenie sprawy, ponieważ mogą pojawić się kolejne kwestie wymagające udziału Rezydenta. Takie zachowanie jest typowe dla wzorca „Request-Response”, gdzie pośrednik czeka na wykonanie procesu.

Sytuacja 3: Gość zwraca się do Rezydenta z pytaniem o miejsce, gdzie można pozyskać pomoc medyczną. Rezydent wskazuje, gdzie trzeba zadzwonić i na jaki numer i zapewnia, że obsługa jest w języku ojczystym Gościa. Przekazuje dalsze wykonanie do Gościa. Jest to można powiedzieć przykład wzorca „Fire and Forget”.

Każda osoba, która miała styczność z „instytucją” tzw. Rezydenta pewnie mogłaby podać kolejne przykłady i przypadki.