Kompensowalność w procesach biznesowych
|
|
- Jakub Baranowski
- 10 lat temu
- Przeglądów:
Transkrypt
1 XVII Konferencja PLOUG Kościelisko Październik 2011 Kompensowalność w procesach biznesowych Hubert Gęzikiewicz, Krzysztof Jankiewicz, Tadeusz Morzy Politechnika Poznańska, Instytut Informatyki e mail: Krzysztof.Jankiewicz@cs.put.poznan.pl Abstrakt. Przypadki, w których proces biznesowy przetwarzany w środowisku SOA nie może w pełni zrealizować swojego przetwarzania, bardzo często prowadzą do konieczności podjęcia kompensacji tych aktywności, które do momentu decyzji o anulowaniu procesu zostały wykonane. Podejście to jest szeroko rozpowszechnione wśród standardów związanych z przetwarzaniem procesów biznesowych w środowiskach SOA. Opierają się na nim specyfikacje koordynacji procesów, języki wykonawcze dla procesów biznesowych, a także notacje używane do projektowania procesów. Niestety żadna ze specyfikacji nie dostarcza mechanizmów, które zabezpieczałyby możliwość dokonania kompensacji. Brak takich mechanizmów może prowadzić do sytuacji, które w standardzie BPMN określane są jako hazardowe. Dochodzi do nich wówczas, gdy proces, którego wykonanie nie może zostać zakończone, nie może zostać także w pełni skompensowany. Jego wynik jest wówczas nieokreślony, niezgodny z zamierzeniami projektanta procesu, może prowadzić do niespójności. Przypadki te wymuszają często konieczność ręcznego rozwiązania zaistniałej, niekorzystnej, sytuacji. Niniejszy artykuł skupia się na powyższym problemie, dokonuje jego analizy a także proponuje sposób jego rozwiązania. Badania, których wyniki są przedstawione w tym artykule, zostały częściowo sfinansowane przez Ministerstwo Nauki i Szkolnictwa Wyższego z Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka projekt IT-SOA nr POIG /08,
2
3 Kompensowalność w procesach biznesowych Wstęp Większość standardów związanych z przetwarzaniem długotrwałych procesów biznesowych uwzględnia konieczność wykorzystania mechanizmów kompensacji. Mechanizmy te mają na celu odwrócenie efektów działań zrealizowanych w ramach procesu do czasu, w którym została podjęta decyzja o jego anulowaniu, a które to działania nie mogą być po prostu wycofane. Niestety w środowisku, w którym procesy biznesowe przetwarzane są współbieżnie przy jednoczesnym braku izolacji może dochodzić do sytuacji, w których możliwość wykonania kompensacji dla zakończonych wcześniej aktywności będzie niemożliwa. Może to grozić utratą spójności a także wymagać ręcznego rozwiązywania zaistniałych problemów. Wyeliminowanie takich przypadków, lub choćby ich ograniczenie ma istotne znaczenie dla aplikacji klasy business-to-business (B2B) czy też business-to-customer (B2C) funkcjonujących w środowisku SOA. Niniejszy artykuł proponuje rozwiązanie tego problemu, które uwzględnia obecnie funkcjonujące specyfikacje i standardy związane z koordynacją procesów biznesowych w środowisku SOA. W rozdziale 2, przeanalizowane zostało podejście do kompensacji jakie reprezentują obowiązujące standardy i specyfikacji. W rozdziale 3 przedstawiony został przyjęty przez nas model procesu biznesowego, który uwzględnia wspomniane standardy. W oparciu o ten model, w rozdziale 4 scharakteryzowany został problem zapewnienia możliwości kompensacji -- kompensowalności. Rozdział 5 przedstawia propozycję rozwiązania problemu kompensowalności. Na zakończenie w rozdziale 6 przedstawione zostały wyniki przeprowadzonych eksperymentów. 2. Kompensacja a standardy Podejście do kompensacji różni się w zależności od standardu. Część ze specyfikacji jak np. WS-BA [FrLi09] zakłada, że to usługa wykorzystywana podczas procesu biznesowego jest odpowiedzialna za czynności kompensacyjne wykonanych przez nią działań. Wywołanie tych czynności jest uruchamiane, w przypadku tej specyfikacji, za pomocą prostego komunikatu wysyłanego do usługi. Aplikacja, która przetwarza proces nie posiada wiedzy dotyczącej tego w jaki sposób dokonywana jest kompensacja, nie ma też na jej postać żadnego wpływu. Takie podejście przypomina w pewnym sensie systemowe wycofanie transakcji, którego sposób realizacji znajduje się poza samą definicją transakcji. Zupełnie odmienne rozwiązanie przyjęte zostało w przypadku języka definicji procesów biznesowych WS-BPEL [AAA09]. Działania kompensacyjne są, w tym przypadku, fragmentem definicji procesu. Za ich wykonanie i sposób realizacji odpowiedzialna jest aplikacja. W najnowszej wersji specyfikacji BPMN [BPMN20], służącej do modelowania procesów biznesowych, zaproponowano jeszcze inne rozwiązanie. Z jednej strony projektant procesu biznesowego ma możliwość deklarowania określonych aktywności kompensacyjnych dla każdej z aktywności podejmowanych w ramach procesu. Z drugiej jednak strony, może on na poziomie tzw. podprocesów transakcyjnych deklarować tzw. typ koordynacji (np. zgodny ze specyfikacją WS-BA) jaki ma być wykorzystany podczas wykonywania podprocesu. Można powiedzieć zatem, że specyfikacja BPMN próbuje połączyć oba podejścia do kompensacji -- systemowe, w którym wiedza na temat kompensacji leży po stronie usług, a uruchamianie kompensacji odbywa się za pomocą mechanizmów koordynacji, oraz proceduralne, w którym wiedza dotycząca kompensacji poszczególnych fragmentów procesu zawarta jest w jego definicji. Uwzględnienie obu podejść w specyfikacji BPMN jest silnym sygnałem, że oba rozwiązania w procesach biznesowych powinny być uwzględniane. Ponadto, jest to potwierdzenie faktu, że przetwarzanie procesów biznesowych, o ile mają one posiadać pewne własności, nie może być oparte tylko i wyłącznie na prostym wykonywaniu zawartych w nich definicji, wymaga to (w szczególności dla tzw. podprocesów transakcyjnych) wykorzystania wspomagających mechanizmów koordynacji.
4 42 Hubert Gęzikiewicz, Krzysztof Jankiewicz, Tadeusz Morzy 3. Model procesu biznesowego W dalszych rozważaniach przyjmujemy następujący model procesu biznesowego. Należy podkreślić, że model ten jest spójny z każdą z powyższych specyfikacji, co czyni prezentowane w tym artykule rozwiązanie uniwersalnym. Proces biznesowy PB składa się z aktywności.,,, ; Α gdzie Α jest zbiorem wszystkich aktywności. Z aktywnością może być związana aktywność kompensacyjna. Dla takiego przypadku przyjmujemy następujące oznaczenie Wyrażeniem Α będziemy oznaczali zbiór aktywności posiadających aktywność kompensacyjną, podczas gdy zbiór aktywności, które nie posiadają przypisanej aktywności kompensacyjnej będziemy oznaczali jako Α. Dla takich aktywności spełnione są następujące zależności: Α Α Α Ponadto spełnione jest także: Α Α Α Α, Α Α, Warto zwrócić uwagę, że aktywność kompensacyjna nie może posiadać własnych aktywności kompensacyjnych, gdyż należy ona do zbioru aktywności Α N. Każda aktywność Α może być akcją, podprocesem lub po prostu zbiorem aktywności,,, ; Α Przez akcję a i rozumiemy najmniejszą, niepodzielną, jednostkę procesu biznesowego. Specyficznym przykładem akcji może być wywołanie usługi składowej procesu. Podproces składa się z aktywności,,, ; Α Zakładamy, że podproces może posiadać zadeklarowane własności, których zapewnienie wymaga wykorzystania mechanizmów koordynacji wykraczających poza definicje aktywności podprocesu. Mówimy wówczas, podobnie jak to jest w przypadku standardu BPMN o podprocesach transakcyjnych. Podproces transakcyjny może zakończyć się zatwierdzeniem lub anulowaniem. W przypadku anulowania podprocesu transakcyjnego pt i wymagane jest wykonanie wszystkich aktywności kompensacyjnych takich, że ; Α. Zakładamy istnienie następujących własności dostarczanych podprocesom transakcyjnym przez mechanizmy koordynacji: obligatoryjności/opcjonalności (determinuje wpływ jaki ma fiasko podprocesu transakcyjnego na wynik nadrzędnego podprocesu transakcyjnego), zależności/niezależności (determinuje sposób reakcji podprocesu transakcyjnego na fiasko nadrzędnego podprocesu transakcyjnego) i kompensowalności (zabezpiecza możliwość kompensacji dla wszystkich aktywności wchodzących w skład podprocesu transakcyjnego). Zadaniem dwóch pierwszych własności jest uproszczenie definicji procesów biznesowych, przeniesienie części implementacji na rozwiązania systemowe - mechanizmy koordynacji. Rozważania na temat tych własności były tematem referatu prezentowanego na konferencji PLOUG w roku ubiegłym [JMKM10]. Tym razem tematem jest kompensowalność.
5 Kompensowalność w procesach biznesowych Kompensowalność Trzecią z własności, które mogą być wymagane przez podproces transakcyjny jest własność kompensowalności. Jak to zostało już wcześniej wspomniane, anulowanie podprocesu transakcyjnego determinuje konieczność kompensacji wszystkich aktywności Α, które są składowymi podprocesu transakcyjnego i które zostały zakończone do momentu podjęcia decyzji o jego anulowaniu. Sytuacja, w której tylko część takich aktywności zostanie skompensowana, może być przyczyną niespójnego przetwarzania i w związku z tym jest wysoce niepożądana. Własność kompensowalności ma na celu wyeliminowanie takich przypadków, które w ramach standardu określane są jako hazardowe. Powszechnie uznaje się, że podstawowym i najczęstszym zadaniem kompensacji takiej, że jest wykonanie działań w pełni lub częściowo odwracających efekty aktywności. Można zatem założyć, że aktywność przygotowuje możliwość dokonania kompensacji i w przy- padku izolowanego przetwarzania zagrożenie dla kompensacji nie występuje. Niestety założenie, że przetwarzanie procesów biznesowych w środowiskach SOA będzie realizowane w sposób izolowany nie jest z reguły ani możliwe ani pożądane [MSJL06, KBS2004]. W związku z tym, uwzględniając współbieżne wykonywanie procesów biznesowych przy braku izolacji przetwarzania, musimy przyjąć, że zagrożenia aktywności kompensacyjnych będą miały miejsce. Aby wyjaśnić ten problem rozważmy następujący przykład. Załóżmy, że celem podprocesu transakcyjnego jest dokonanie wymiany zarezerwowanego uprzednio pokoju hotelowego. W tym celu w ramach podprocesu transakcyjnego zdefiniowano dwie aktywności: anulowania rezerwacji pokoju X, oraz dokonania rezerwacji pokoju Y. Obie aktywności wykonywane są za pomocą wywołania odpowiednich usług sieciowych. Załóżmy, że każda z tych aktywności ma określoną aktywność kompensacyjną. I tak, dla aktywności aktywnością kompensacyjną będzie ponowna rezerwacja zwolnionego pokoju, a dla aktywności aktywnością kompensacyjną będzie aktywność anulowania dokonanej rezerwacji. Każda z wykorzystywanych usług działa w sposób, który bezpośrednio po jej wywołaniu udostępnia efekty na zewnątrz. Załóżmy, że po wykonaniu aktywności, współbieżnie wykonywany podproces dokonał rezerwacji pokoju zarówno zwolnionego pokoju X jak i dodatkowego pokoju Y, a następnie zakończył swoje działanie. W efekcie aktywność nie mogła zostać wykonana ze względu na zajętość pokoju Y. Z tego powodu podproces transakcyjny podejmuje decyzję o anulowaniu. Niestety pełne anulowanie nie jest możliwe -- kompensacja nie może zostać wykonana ze względu na rezerwację pokoju X przez proces. Z przykładu powyżej wynika, że zapewnienie kompensowalności wymaga dodatkowych mechanizmów, wykraczających poza definicję podprocesu transakcyjnego, uwzględniających działania wykonywane przez współbieżnie przetwarzane procesy. 5. Zapewnienie własności kompensowalności 5.1. Podproces jako kontrakt Aby zapewnić własność kompensowalności odpowiedzialne za to mechanizmy koordynacji powinny przetwarzać podproces transakcyjny jako pewnego rodzaju kontrakt. Strony tego kontraktu to, po pierwsze aplikacja, która przetwarza podproces, a po drugie wszyscy uczestnicy podprocesu (np. usługodawcy), którzy są odpowiedzialni za aktywności kompensacyjne. Jak wspomniano we wcześniejszych rozdziałach, źródło informacji dotyczącej aktywności kompensacyjnych może być różne. Z jednej strony wiedza o aktywnościach kompensacyjnych może należeć do definicji procesu w takim przypadku są one przyporządkowywane albo prostej aktywności, która może być akcją podstawową (np. pojedyncze wywołanie usługi) albo złożonej aktywności (np. scope w definicji procesu wyrażonej w języku BPEL) składającej się z wielu aktywności podrzędnych. Z drugiej
6 44 Hubert Gęzikiewicz, Krzysztof Jankiewicz, Tadeusz Morzy strony wiedza ta może być zaszyta w implementacji poszczególnych usług wykorzystywanych w ramach procesu, znajdujących po stronie dostawców usług i być przykładowo uruchamiana tak jak ma to miejsce w przypadku specyfikacji WS-BA za pomocą komunikatów przesyłanych do usług. Niezależnie od pochodzenia tej informacji i od sposobu uruchamiania kompensacji, można w sposób jednoznaczny przyporządkować pojedynczą aktywność kompensacyjną do określonej aktywności. Jest to zgodne ze wszystkimi omówionymi wcześniej specyfikacjami i standardami. Zadaniem mechanizmów odpowiedzialnych za zapewnienie własności kompensowalności byłoby doprowadzenie do sytuacji, w której aktywność Α byłaby wykonywana jedynie w przypadku, gdy zapewniona byłaby możliwość wykonania aktywności takiej, że. Stroną uprawnioną do udzielania deklaracji takich możliwości są szeroko rozumiani usługodawcy udostępniający aktywności kompensacyjne i za nie odpowiedzialni. Udzielenie takich deklaracji powinno być warunkiem koniecznym do rozpoczęcia aktywności. Brak deklaracji (ze względu na brak możliwości zagwarantowania wykonania akcji kompensacyjnych) powinien prowadzić albo do wstrzymania rozpoczęcia aktywności (do czasu ustąpienia przyczyn uniemożliwiających udzielenia deklaracji), lub też do anulowania podprocesu transakcyjnego takiego, że. Strona, która winna żądać takich deklaracji jest zależna od tego gdzie informacja dotycząca kompensacji jest dostępna. W zależności od tego czy kompensacja wynika z deklaracji na poziomie definicji procesu czy też jest zawarta w implementacji usługi składowej, stroną żądającą powinna być aplikacja, która ten podproces transakcyjny przetwarza lub usługa składowa. W dalszej części artykułu deklarację możliwości wykonania aktywności kompensacyjnej będziemy oznaczali przez. Wywołanie aktywności kompensacyjnej takiej, że, może mieć miejsce tylko dla takich aktywności, które zostały wykonane i zakończone. W związku z powyższym, mechanizmy koordynacji odpowiedzialne za własność kompensowalności powinny dawać możliwość zwolnienia usługodawcy aktywności kompensacyjnej z w przypadku, gdy aktywność zostanie przerwana i anulowana. Niezależnie od tego, jaka strona żąda, są one uzyskiwane zawsze na rzecz przetwarzanej instancji podprocesu transakcyjnego takiego że. Jest to o tyle istotne, że deklaracje te muszą być utrzymywane aż do chwili zakończenia podprocesu transakcyjnego. Zakończenie przetwarzania instancji podprocesu transakcyjnego wiąże się z rozwiązaniem kontraktu i w związku z tym ze zwolnieniem usługodawców odpowiedzialnych za aktywności kompensacyjne z konieczności dalszego zapewniania możliwości ich wykorzystania. Podsumowując, przetwarzanie aktywności Α powinno być realizowane w następujący sposób: 1. Przed rozpoczęciem aktywności wysyłane jest żądanie udzielenia, gdzie, do usługodawcy aktywności. 2. Po otrzymaniu aktywność może zostać rozpoczęta. 3. W przypadku przerwania aktywności i jej anulowania do usługodawcy aktywności wysyłane jest zwolnienie z udzielonej. 4. W przypadku zatwierdzenia lub wycofania podprocesu transakcyjnego takiego, że do usługodawcy aktywności wysyłana jest informacja dotycząca zakończenia podprocesu transkacyjnego Rola usługodawcy aktywności kompensacyjnej Zadaniem usługodawcy aktywności kompensacyjnej jest nie tylko ocena możliwości jej wykonania i udzielenie, ale także zabezpieczenie wspomnianej możliwości wykonania aktywności kompensacyjnej przez cały czas trwania podprocesu transakcyjnego, który wykorzystuje aktywność taką że.
7 Kompensowalność w procesach biznesowych 45 W rozdziale 4 zostało wspomniane, że podstawowym zagrożeniem dla aktywności kompensacyjnych jest brak izolacji przetwarzania i współbieżnie wykonywane procesy korzystające z aktywności, których wykonanie może uniemożliwić późniejsze wywiązanie się z udzielonych. Wynika z tego, że usługodawca powinien monitorować realizację wszystkich aktywności, które mogą uniemożliwić póżniejsze wykonanie aktywności kompensacyjnej i mieć na ich realizację wpływ. Na marginesie należy zaznaczyć, że ocena tego czy aktywność jest zagrożeniem dla aktywności kompensacyjnej jest zagadnieniem odrębnym, które może być przykładowo związane z konfliktami semantycznymi [LRD08], i wykracza ono poza ramy tego artykułu. Postępowanie usługodawcy, który otrzyma żądanie wykonania aktywności zagrażającej aktywności kompensacyjnej może być bardzo różne. W najprostszym przypadku może on wstrzymać wykonanie aktywności aż do momentu zakończenia podprocesu do którego aktywność należy. Jednak w przypadku, w którym mamy do czynienia z długotrwałymi procesami biznesowymi oraz autonomicznymi aktywnościami udostępnianymi przez różnych usługodawców, wymagane jest zastosowanie innych rozwiązań. Większość autorów prac poruszających kwestie dotyczące mechanizmów kontroli współbieżnej realizacji procesów biznesowych w środowisku SOA [ADV06, KBS2004, MSJL06] uważa, że właściwym rozwiązaniem byłoby podejście optymistyczne, polegające na koordynacji etapu zatwierdzania podprocesów transakcyjnych, w którym blokady byłyby w znaczący sposób ograniczone lub wyeliminowane. Przy zastosowaniu podejścia optymistycznego może zostać uwzględniony fakt, że aktywność, która wprowadza zagrożenie dla aktywności kompensacyjnej może należeć do zbioru Α. W takim przypadku postać aktywności kompensacyjnej może być wykorzystana przez usługodawcę do wyboru odpowiedniej reakcji na żądanie wykonania aktywności. Aby rozważyć to zagadnienie powróćmy do przykładu z rozdziału 4. Załóżmy, że równolegle wykonywany podproces dokonał rezerwacji pokoju X za pomocą aktywności, której aktywnością kompensacyjną byłaby aktywność polegająca na zwolnieniu rezerwacji pokoju X. Wykonanie aktywności wprowadza zagrożenie kompensowalności dla podprocesu transakcyjnego, jednak dopóki podproces będzie aktywny, dopóty istnieje możliwość wyeliminowania tego zagrożenia za pomocą anulowania podprocesu i kompensacji jego aktywności. Uwzględniając powyższe rozważania możemy mówić o dwóch rodzajach zagrożeń dla aktywności kompensacyjnych względnych oraz bezwzględnych. Jeżeli aktywność wprowadzająca zagrożenie dla aktywności kompensacyjnej posiada aktywność kompensacyjną, która to zagrożenie niweluje, to mówimy o względnym zagrożeniu kompensowalności. Przykładem aktywności wprowadzających zagrożenia względne byłyby aktywności posiadające aktywności kompensacyjne, które dokonują pełnej kompensacji. Jeżeli aktywność wprowadzająca zagrożenie dla aktywności kompensacyjnej, posiada aktywność kompensacyjną, która wprowadzonego zagrożenia nie eliminuje, lub też nie posiada aktywności kompensacyjnej ewentualnie gdy aktywność kompensacyjna (lub jej skutki) nie jest znana, wówczas mówimy o bezwzględnym zagrożeniu kompensowalności. W przypadku gdy usługodawca otrzymuje żądanie wykonania aktywności wprowadzającej względne zagrożenie kompensowalności podprocesu może podjąć realizację aktywności pod warunkiem, że mechanizmy koordynacji pozwalają mu na kontrolę procesu zatwierdzenia podprocesu. Wykonanie aktywności w takim przypadku doprowadza do uzależnienia zatwierdzenia podprocesu od zatwierdzenia podprocesu. Podproces staje się w takim przypadku dla podprocesu podprocesem poprzedzającym. Anulowanie podprocesu wymusza uprzednie anulowanie podprocesu, natomiast zatwierdzenie podprocesu jest warunkiem koniecznym do zatwierdzenia podprocesu.
8 46 Hubert Gęzikiewicz, Krzysztof Jankiewicz, Tadeusz Morzy Podsumowując, żądanie wykonania aktywności należącej do podprocesu przez usługodawcę tej aktywności powinno być obsługiwane w następujący sposób: 1. Sprawdzane jest czy aktywność wprowadza zagrożenie kompensowalności dla dowolnego aktywnego podprocesu, dla którego istnieją aktywne gdzie. 2. Jeśli zagrożenia kompensowalności nie występują, wówczas aktywność może zostać wykonana. 3. Jeżeli istnieją aktywne podprocesy, dla których aktywność wprowadza zagrożenie kompensowalności, wówczas dla każdego z podprocesów dokonywana jest ocena czy jest to zagrożenie względne czy bezwzględne. 4. Jeżeli istnieje choć jeden podproces dla którego zagrożenie jest bezwględne wówczas wykonanie aktywności zostaje wstrzymane aż do momentu zakończenia podprocesu. 5. Jeżeli istniejące zagrożenia są jedynie względne dla podprocesów wówczas aktywność może zostać wykonana. Każdy z podprocesów staje się wówczas podprocesem poprzedzającym dla podprocesu. Przyjęte rozwiązanie wymaga, na etapie zatwierdzania (oraz anulowania) podprocesu, współpracy usługodawców wszystkich aktywności, które w ramach podprocesu miały miejsce ze stroną przetwarzającą podproces. Wynika to z faktu iż wykonywanie aktywności wprowadzające zagrożenia względne może prowadzić do sytuacji, w której podproces będzie posiadał szereg podprocesów poprzedzających, od których będzie on zależny. Współpraca może zostać zrealizowana w oparciu o algorytm 2PC, w którym w pierwszej fazie uzyskiwane są potwierdzenia od usługodawców informujące, że podproces nie posiada już żadnych podprocesów poprzedzających i może zostać zatwierdzony, natomiast w drugiej fazie wysyłane są potwierdzenia do usługodawców o fakcie zakończenia podprocesu. 6. Przeprowadzone testy i ich wyniki Mechanizmy zapewniających kompensowalność podprocesów transakcyjnych zostały przez nas zaimplementowane zgodnie z regułami specyfikacji WS-Coordination [FeJe09] w ramach środowisko BProCORE (Business PROcess CORdination Environment) [JMKM11], które powstało w ramach projektu IT-SOA [ABCGZ10]. Więcej szczegółów na temat środowiska BProCORE można znaleźć na stronie projektu Wpływ tych mechanizmów na przetwarzanie procesów biznesowych został przez nas przebadany w oparciu o szereg różnorodnych testów. W jednym z nich posłużyliśmy się scenariuszem podobnym do opisanego w przykładzie z rozdziału 4. Aplikacja testowa generowała współbieżne sekwencje podprocesów transakcyjnych doprowadzając do sytuacji, w których pojawiało się ryzyko braku kompensowalności. Liczba współbieżnie przetwarzanych sekwencji wahała się przy kolejnych uruchomieniach testu pomiędzy 2 a 14 zmieniając w ten sposób prawdopodobieństwo wystąpienia zależności pomiędzy podprocesami. Każdy z podprocesów transakcyjnych wykorzystywał usługi rezerwacji i zwalniania pokojów hotelowych. Usługi te były dostarczane przez pojedynczego usługodawcę reprezentującego pojedynczy hotel. Liczba pokojów, którymi dysponowały usługi rezerwacji i zwalniania rezerwacji wahała się w przedziale W związku z tym, że rezerwacje lub zwolnienia dotyczące tego samego pokoju hotelowego były pomiędzy sobą w konflikcie, zmiana liczby pokojów symulowała zmienny poziom konfliktowości usług. Zadaniem każdego z podprocesów transakcyjnych, podobnie jak we wspomnianym przykładzie, była zamiana zarezerwowanych pokojów. Aby symulować procesy transakcyjne o różnej długości trwania, dokonywały one różnej liczby zamiany pokojów w przedziale od 1 do 4.
9 Kompensowalność w procesach biznesowych 47 Rys. 1. Liczba hazardowych podprocesów przy zmieniającym się poziomie konfliktów Testy przeprowadziliśmy dla trzech różnych konfiguracji środowiska. W pierwszej z nich, oznaczonej na wykresach jako none, nie wykorzystywaliśmy w przypadku podprocesów transakcyjnych, żadnych mechanizmów koordynacji. W drugiej konfiguracji, oznaczonej na wykresach jako pesimistic, zastosowanym mechanizmem był klasyczny 2PL (ang: two-phase locking protocol), w którym każda aktywność wprowadzająca zagrożenie kompensowalności dla podprocesu transakcyjnego była blokowana aż do chwili gdy podproces transakcyjny się zakończył. W trzeciej konfiguracji, oznaczonej na wykresach jako optimistic, zastosowany został opracowany przez nas mechanizm opierający się na podejściu optymistycznym. Uzyskane wyniki zostały przedstawione na wykresach. Rys. 2. Liczba hazardowych podprocesów przy zmieniającej się liczbie współbieżnie wykonywanych sekwencji podprocesów Na rys. 1 przedstawiającym procentową liczbę hazardowych podprocesów przy zmieniającym się poziomie konfliktów, zgodnie z przewidywaniami można zaobserwować, że zmniejszający się poziom konfliktów (zwiększająca się liczba pokojów hotelowych) powodował zmniejszanie się liczby podprocesów transakcyjnych, które kończyły się w sposób hazardowy. Należy zauważyć, że zastosowane przez nas podejście znacząco wpłynęło na zmniejszenie się tej liczby w porównaniu do konfiguracji bez mechanizmów koordynacji.
10 48 Hubert Gęzikiewicz, Krzysztof Jankiewicz, Tadeusz Morzy Rys. 3. Liczba skompensowanych podprocesów przy zmieniającej się liczbie współbieżnie wykonywanych sekwencji podprocesów Na rys. 2 przedstawiającym liczbę hazardowych podprocesów przy zmieniającej się liczbie współbieżnie wykonywanych sekwencji podprocesów można zaobserwować, że w przypadku braku mechanizmu koordynacji liczba hazardowych podprocesów rosła w sytuacji gdy wzrastała liczba współbieżnie wykonywanych sekwencji podprocesów transakcyjnych. Interesujące jest to, że w przypadku zastosowania opracowanych przez nas mechanizmów wzrost liczby współbieżnie wykonywanych sekwencji nie miał wpływu na procentowo wyrażoną liczbę podprocesów hazardowych. Oczywistą konsekwencją proponowanych mechanizmów koordynacji jest wzrost liczby podprocesów transakcyjnych kończących się kompensacją. Wynika to z faktu wprowadzania zależności pomiędzy podprocesami. Ilustruje to rys. 3. Na ostatnim rys. 4 można zaobserwować jeszcze jeden fakt, który również jest zgodny z podstawami teoretycznymi. Rysunek ten przedstawia względny czas pojedynczego wywołania usługi przy zmieniającej się długości podprocesu. Czas ten został wyznaczony przez podzielenie całkowitego czasu trwania testu przez liczbę wywołań usług wchodzących w skład zatwierdzonych (czyli decydujących o wydajności) podprocesów transakcyjnych. To co można zaobserwować to fakt, iż przy mniejszej poziomie konfliktów (krótkie podprocesy) podejście optymistyczne jest wydajniejsze niż podejście pesymistyczne. Jednak gdy poziom konfliktów wzrasta podejście pesymistyczne zdaje się uzyskiwać przewagę. Rys. 4. Względny czas pojedynczego wywołania usługi przy zmieniającej się długości podprocesu
11 Kompensowalność w procesach biznesowych 49 Mała różnica w wydajności, którą obserwujemy na wykresie, wynika z faktu, iż wykorzystywane przez nas podprocesy transakcyjne trwały bardzo krótko, od kilku do kilkunastu sekund. W przypadku, gdy czas trwania podprocesów uzyskiwałaby rozmiary zgodne z przypadkami obserwowanymi w przemyśle, różnica ta byłaby o wiele bardziej znacząca. 7. Podsumowanie i dalsze prace Przeprowadzone eksperymenty wykazały, że wprowadzenie zaprojektowanych i zaimplementowanych przez nas mechanizmów koordynacji w środowiskach, w których kompensowalność może być zagrożona, przyczynia się do znaczącego ograniczenia liczby podprocesów, które kończą się w sposób nieokreślony hazardowy. Jednocześnie należy zaznaczyć, że prace nad mechanizmami zapewniającymi własność kompensowalności będą przez nas kontynuowane. Analizując w szczególności rys. 1 oraz rys. 2 można zauważyć, że zastosowanie klasycznego rozwiązania opartego na protokole 2PL daje pełną gwarancję kompensowalności podprocesów podprocesy hazardowe w ogóle nie występują. Tymczasem zastosowanie proponowanego przez nas rozwiązania niestety pewną liczbę podprocesów hazardowych dopuszcza. Powodem takiego stanu rzeczy jest zastosowane przez nas podejście optymistyczne. Dopuszcza ono do sytuacji, w której podprocesy transakcyjne będą wzajemnie od siebie zależne graf ich wzajemnego poprzedzania będzie tworzył cykl. W przypadku anulowania jednego z takich podprocesów niestety nie istnieje poprawna kolejność ich kompensacji jeden z podprocesów tworzący taki cykl, niestety będzie musiał zakończyć się w sposób nieokreślony. W chwili obecnej trwają prace nad rozwiązaniem tego problemu. Bibliografia [AAA09] Alves A., Arkin A., Askary S., Barreto C, Bloch B., Curbera F., Ford M., Goland Y., Guízar A., Kartha N., Liu C.K., Khalaf R., König D., Marin M., Mehta V., Thatte S., van der Rijn D., Yendluri P., Yiu A.: Web Services Business Process Execution Language, [ABCGZ10] Ambroszkiewicz S., Brzeziński J., Cellary W., Grzech A., Zieliński K. (edytorzy): SOA Infrastructure Tools - Concepts and Methods Poznan University of Economics Press, [ADV06 ] Alrifai M., Dolog P., Vej F.B., Dk-Aalborg, Nejdl W.: Transactions concurrency control in web service environment. In In ECOWS '06: Proceedings of the European Conference on Web Services, strony IEEE, [BPMN20] Business Process Model and Notation (BPMN) version 2.0, [FeJe09] Feingold M., Jeyaraman R.: OASIS Web Services Coordination Version [FrLi09] Freund T., Little M.: OASIS Web Services Business Activity Version 1.2, [JMKM11] Jankiewicz K., Morzy T., Kujawiński K., Mor M.: Transaction mechanisms in complex business processes. Control and Cybernetics, 2011, special issue. [JMKM10] Jankiewicz K., Morzy T., Kujawiński K., Mor M.: Koordynowanie procesów biznesowych w środowiskach SOA. XVI Konferencja użytkowników i deweloperów ORACLE. Systemy informatyczne. Projektowanie, implementowanie, eksploatowanie., 2010, [KBS2004] Krafzig D., Banke K., Slama D.: Enterprise SOA: Service-Oriented Architecture Best Practices. The Coad Series. Prentice Hall, Upper Saddle River, NJ, USA, [LRD08] Ly L.T., Rinderle S., Dadam P.: Integration and verification of semantic constraints in adaptive process management systems Data Knowl. Eng., Elsevier Science Publishers B. V., 2008, 64, [MSJL06] McGovern J., Sims O., Jain A., Little M.: Enterprise Service Oriented Architectures: Concepts, Challenges, Recommendations. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006.
Koordynowanie procesów biznesowych w środowiskach SOA
XVI Konferencja PLOUG Kościelisko Październik 2010 Koordynowanie procesów biznesowych w środowiskach SOA Krzysztof Jankiewicz, Mateusz Mor, Kamil Kujawiński, Tadeusz Morzy Politechnika Poznańska Krzysztof.Jankiewicz@cs.put.poznan.pl
Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum
Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum Stanisław Jerzy Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska Wprowadzenie Systemy CMS (Content
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura
Bazy danych w sterowaniu
Bazy danych w sterowaniu systemy transakcyjne sterowanie dostępem współbieżnym Stan spójny bazy danych zgodność z możliwym stanem reprezentowanego fragmentu świata rzeczywistego; spełnione są wszystkie
UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH
UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH Robert Wójcik Instytut Cybernetyki Technicznej Politechniki Wrocławskiej 1. Impasy w systemach procesów współbieżnych 2. Klasyczne algorytmy unikania
Modelowanie i analiza systemów informatycznych
Modelowanie i analiza systemów informatycznych MBSE/SysML Wykład 11 SYSMOD Wykorzystane materiały Budapest University of Technology and Economics, Department of Measurement and InformaJon Systems: The
Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4
Procesy biznesowe w praktyce Przykłady użycia z wykorzystaniem jbpm 4.4 1 Agenda Definicja i zastosowanie procesu biznesowego Języki dziedzinowe (DSL) a rozwiązania BPM JBPM: jbpm 4.4 krótka charakterystyka
Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7
I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać
Zamówienia algorytmiczne
Zamówienia algorytmiczne Strona 1 z 13 Spis treści 1. Działanie zamówień algorytmicznych... 3 2. Konfiguracja... 3 2.2 Włączenie zamówień algorytmicznych poprzez wybór typu zamówienia... 3 2.3 Włączenie
Wprowadzenie do zarządzania procesami biznesowymi
Wprowadzenie do zarządzania procesami biznesowymi Definicja procesu Proces jest jednostką pracy obejmującą wiele czynności, wykonywanych w ogólności przez różnych wykonawców i w sposób współbieżny. Proces
Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.
Załącznik nr 1a do Zapytania ofertowego nr POIG.08.02-01/2014 dotyczącego budowy oprogramowania B2B oraz dostawcy sprzętu informatycznego do projektu pn. Budowa systemu B2B integrującego zarządzanie procesami
Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g
Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g Opis szkolenia: Termin SOA, czyli Service Oriented Architecture, oznacza architekturę systemów informatycznych opartą o usługi. Za
Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska
Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC
Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)
Zagadnienia (1/3) Rola modelu systemu w procesie analizy wymagań (inżynierii wymagań) Prezentacja różnego rodzaju informacji o systemie w zależności od rodzaju modelu. Budowanie pełnego obrazu systemu
O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,
O-MaSE Organization-based Multiagent System Engineering MiASI2, TWO2, 2017-2018 Materiały Strona poświęcona metodzie O-MaSE http://macr.cis.ksu.edu/projects/omase.html (Multiagent & Cooperative Reasoning
Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych
Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services
Web Services Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 2 grudnia 2005 roku Wstęp Oprogramowanie napisane w różnych językach i uruchomione na różnych platformach może wykorzystać
Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:
Rozdział I Szczegółowy opis przedmiotu umowy Załącznik nr 1 do Umowy Architektura środowisk SharePoint UMWD 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów: a) Środowisko
Webowy generator wykresów wykorzystujący program gnuplot
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący
Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON Opis szkoleń z obszaru INFORMATYKA planowanych
Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej
ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja
Plan wykładu PROJEKTOWANIE SYSTEMÓW PROCESÓW PRACY. Organizacje standaryzujace i stowarzyszenia. Definicje podstawowe.
Plan wykładu PROJEKTOWANIE SYSTEMÓW PROCESÓW PRACY Michał Kalewski 1 Wstęp Definicje podstawowe 2 Model procesów pracy 3 Wzorce projektowe Podstawowe wzorce wykonania procesów Pozostałe wzorce wykonania
Normalizacja baz danych
Wrocławska Wyższa Szkoła Informatyki Stosowanej Normalizacja baz danych Dr hab. inż. Krzysztof Pieczarka Email: krzysztof.pieczarka@gmail.com Normalizacja relacji ma na celu takie jej przekształcenie,
KOMPUTEROWA SYMULACJA PROCESÓW ZWIĄZANYCH Z RYZYKIEM PRZY WYKORZYSTANIU ŚRODOWISKA ADONIS
KOMPUTEROWA SYMULACJA PROCESÓW ZWIĄZANYCH Z RYZYKIEM PRZY WYKORZYSTANIU ŚRODOWISKA ADONIS Bogdan RUSZCZAK Streszczenie: Artykuł przedstawia metodę komputerowej symulacji czynników ryzyka dla projektu inwestycyjnego
Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)
Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami
Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski
Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML Jakub Morkis, Piotr Chmielewski BPMN - Historia Formowanie grumy tworzącej notację Sierpień 2001, 58 członków reprezentujących 35 firm,
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Wyszukiwanie binarne
Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie
Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych
Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych Wersja: 1.0 17.06.2015 r. Wstęp W dokumencie przedstawiono skróconą wersję pryncypiów architektury korporacyjnej podmiotów publicznych.
PRZEWODNIK. Wymiana walut w kantorze internetowym topfx
PRZEWODNIK Wymiana walut w kantorze internetowym topfx Aby wykonać operację wymiany walut, Użytkownik kantoru internetowego topfx.pl musi posiadać minimum dwa rachunki bankowe: rachunek złotówkowy (PLN)
Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI
DIAGRAMY INTERAKCJI DIAGRAMY STEROWANIA INTERAKCJĄ Diagramy sterowania interakcją dokumentują logiczne związki między fragmentami interakcji. Podstawowe kategorie pojęciowe diagramów sterowania interakcją
w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą
Instrukcja obsługi aplikacji epay
Instrukcja obsługi aplikacji epay Teleserwis PayTel Oddział PayTel SA w Nowym Sączu ul. Nawojowska 118 33-300 Nowy Sącz infolinia: 801 090 108 telefon: 18 521 18 00 faks: 18 521 18 01 e-mail: teleserwis@paytel.pl
Przykładowe rozwiązania
Przykładowe rozwiązania Poniższy dokument zawiera przykładowe rozwiązania zadań z I etapu I edycji konkursu (2014 r.). Rozwiązania w formie takiej jak przedstawiona niżej uzyskałyby pełną liczbę punktów
CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI
CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI Instrukcja użytkownika Narzędzie do modelowania procesów BPEL Warszawa, lipiec 2009 r. UNIA EUROPEJSKA EUROPEJSKI FUNDUSZ
1 Moduł Konwertera. 1.1 Konfigurowanie Modułu Konwertera
1 Moduł Konwertera Moduł Konwertera zapewnia obsługę fizycznego urządzenia Konwertera US- B-RS485. Jest elementem pośredniczącym w transmisji danych i jego obecność jest konieczna, jeżeli w Systemie mają
DLA SEKTORA INFORMATYCZNEGO W POLSCE
DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej
Spis treści Wstęp 1. Wprowadzenie 2. Zarządzanie ryzykiem systemów informacyjnych
Wstęp... 13 1. Wprowadzenie... 15 1.1. Co to jest bezpieczeństwo informacji?... 17 1.2. Dlaczego zapewnianie bezpieczeństwa informacji jest potrzebne?... 18 1.3. Cele, strategie i polityki w zakresie bezpieczeństwa
Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta
Zakład Elektrotechniki Teoretycznej i Informatyki Stosowanej Wydział Elektryczny, Politechnika Warszawska Laboratorium modelowania oprogramowania w języku UML Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Kierunek: Informatyka Modeling and analysis of computer systems Forma studiów: Stacjonarne Rodzaj przedmiotu: obowiązkowy w ramach specjalności:
Automatyczne anulowanie zleceń w wyniku odłączenia od CCG
Automatyczne anulowanie zleceń w wyniku odłączenia od CCG Specyfikacja techniczna wersja: 1.0 data:2013.08.06 OPIS DOKUMENTU Cel Dokument zawiera techniczny opis automatycznego anulowania zleceń w wyniku
GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH Michał Serzycki
GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH Michał Serzycki DESiWM/DEC-1008/37080/09 Dotyczy sprawy: DESiWM-41-39/09 Warszawa, dnia 12 października 2009 r. DECYZJA Na podstawie art. 104 1 ustawy z dnia
Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti
Kod szkolenia: Tytuł szkolenia: JBPM Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti Dni: 2 Szkolenie jest zgodne z wersją 6.x, możliwe są również
Akademickie Centrum Informatyki PS. Wydział Informatyki PS
kademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne Transmisja w protokole IP Krzysztof ogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1.
Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie
Systemy operacyjne wykład 11- Zakleszczenia dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 17grudnia2015r. POJĘCIE ZAKLESZCZENIA Zakleszczenie to zbiór
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH Modeling and analysis of computer systems Kierunek: Informatyka Forma studiów: Stacjonarne Rodzaj przedmiotu: Poziom kwalifikacji: obowiązkowy
Analiza zgodności z wymogami dotyczącymi elektronicznej dokumentacji medycznej oraz gotowości na w
Niniejszym przedstawiamy pierwszy oficjalny dokument opisujący kwestie aktualnej zgodności systemu Patomorfolog z wymaganiami dotyczącymi elektronicznej dokumentacji medycznej oraz stanu integracji z systemem
I. Techniki wielowersyjne sterowania współbieżnością
I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane
Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1
Szkolenie wycofane z oferty Program szkolenia: Enterprise Java Beans 3.0/3.1 Informacje: Nazwa: Enterprise Java Beans 3.0/3.1 Kod: Java-EE-EJB Kategoria: Java EE Grupa docelowa: developerzy Czas trwania:
Usprawnienie procesu zarządzania konfiguracją. Marcin Piebiak Solution Architect Linux Polska Sp. z o.o.
Usprawnienie procesu zarządzania konfiguracją Marcin Piebiak Solution Architect Linux Polska Sp. z o.o. 1 Typowy model w zarządzaniu IT akceptacja problem problem aktualny stan infrastruktury propozycja
Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka
Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka Poznań, 16.05.2012r. Raport z promocji projektu Nowa generacja energooszczędnych
Wdrożenie technologii procesowej IBM BPM w EFL
Wdrożenie technologii procesowej IBM BPM w EFL Marcin Naliwajko Z-ca dyrektora Departamentu Technologii Dominik Lisowski Starszy Architekt Systemów IT Grupy EFL WebSphere Message Broker 2008 r. Wdrożenie
Priorytetyzacja przypadków testowych za pomocą macierzy
Priorytetyzacja przypadków testowych za pomocą macierzy W niniejszym artykule przedstawiony został problem przyporządkowania priorytetów do przypadków testowych przed rozpoczęciem testów oprogramowania.
Prowadzący. Doc. dr inż. Jakub Szymon SZPON. Projekt jest współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego.
EDUKACJA DLA BEZPIECZEŃSTWA studia podyplomowe dla czynnych zawodowo nauczycieli szkół gimnazjalnych i ponadgimnazjalnych Projekt jest współfinansowany ze środków Unii Europejskiej w ramach Europejskiego
Spis treści. 1 Moduł RFID (APA) 3
Spis treści 1 Moduł RFID (APA) 3 1.1 Konfigurowanie Modułu RFID..................... 3 1.1.1 Lista elementów Modułu RFID................. 3 1.1.2 Konfiguracja Modułu RFID (APA)............... 4 1.1.2.1
Faza Określania Wymagań
Faza Określania Wymagań Celem tej fazy jest dokładne określenie wymagań klienta wobec tworzonego systemu. W tej fazie dokonywana jest zamiana celów klienta na konkretne wymagania zapewniające osiągnięcie
PODSTAWY INFORMATYKI wykład 10.
PODSTAWY INFORMATYKI wykład 10. Adrian Horzyk Web: http://home.agh.edu.pl/~horzyk/ E-mail: horzyk@agh.edu.pl Google: Adrian Horzyk Gabinet: paw. D13 p. 325 Akademia Górniczo-Hutniacza w Krakowie WEAIiE,
Opinia 17/2018. w sprawie projektu wykazu sporządzonego przez właściwy polski organ nadzorczy. dotyczącego
Opinia 17/2018 w sprawie projektu wykazu sporządzonego przez właściwy polski organ nadzorczy dotyczącego rodzajów operacji przetwarzania podlegających wymogowi dokonania oceny skutków dla ochrony danych
2.11. Monitorowanie i przegląd ryzyka 2.12. Kluczowe role w procesie zarządzania ryzykiem
Spis treści Wstęp 1. Wprowadzenie 1.1. Co to jest bezpieczeństwo informacji? 1.2. Dlaczego zapewnianie bezpieczeństwa informacji jest potrzebne? 1.3. Cele, strategie i polityki w zakresie bezpieczeństwa
epuap Opis standardowych elementów epuap
epuap Opis standardowych elementów epuap Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka SPIS TREŚCI SPIS TREŚCI...
r r r. ŁÓDŹ Hotel Ambasador Centrum
GAMP 5 Step by Step DLA KOGO? Szkolenie przeznaczone jest dla wszystkich osób mających do czynienia z zastosowaniem systemów skomputeryzowanych w przemyśle farmaceutycznym, np.: dostawców systemów skomputeryzowanych
Programowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Nowe wymagania dla systemów informatycznych wynikające z ogólnego rozporządzenia o ochronie dany
Nowe wymagania dla systemów informatycznych wynikające z ogólnego rozporządzenia o ochronie dany Projektowanie systemów informatycznych Privacy by design (uwzględnianie ochrony danych w fazie projektowania)
koniec punkt zatrzymania przepływów sterowania na diagramie czynności
Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Załącznik do Regulaminu udzielania zamówień w ENERGA-OPERATOR REGULAMIN AUKCJI I LICYTACJI ELEKTRONICZNYCH
Załącznik do Regulaminu udzielania zamówień w ENERGA-OPERATOR REGULAMIN AUKCJI I LICYTACJI ELEKTRONICZNYCH Załącznik do Regulaminu udzielania zamówień w ENERGA-OPERATOR SPIS TREŚCI Dział I PRZEPISY OGÓLNE...
JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]
JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE] Parę słów o mnie 2 Nauczyciel akademicki od 2000 roku Od 2002 współpracuję z firmami jako programista i projektant aplikacji Od 2006 roku właściciel firmy
Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Informatyzacja przedsiębiorstw
Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Fizyki, Matematyki i Informatyki obowiązuje w roku akademickim 2012/2013 Kierunek studiów: Informatyka Forma studiów: Stacjonarne
Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi
Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Fizyki, Matematyki i Informatyki obowiązuje w roku akademickim 2011/2012 Kierunek studiów: Informatyka Forma studiów: Stacjonarne
Część I - Załącznik nr 7 do SIWZ. Warszawa. 2011r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA
CSIOZ-WZP.65.48.20 Część I - Załącznik nr 7 do SIWZ Warszawa. 20r. (dane Wykonawcy) WYKAZ OSÓB, KTÓRYMI BĘDZIE DYSPONOWAŁ WYKONAWCA DO REALIZACJI ZAMÓWIENIA Wykonawca oświadcza, że do realizacji zamówienia
Bazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Instrukcja obsługi aplikacji epay
Instrukcja obsługi aplikacji epay Teleserwis PayTel Comp SA, Teleserwis PayTel ul. Działkowa 115a 02-234 Warszawa telefon: 58 660 10 66 faks: 58 660 10 67 email: teleserwis@paytel.pl Dział Obsługi Kontrahenta
Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.
Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-
1 Moduł Inteligentnego Głośnika
1 Moduł Inteligentnego Głośnika Moduł Inteligentnego Głośnika zapewnia obsługę urządzenia fizycznego odtwarzającego komunikaty dźwiękowe. Dzięki niemu możliwa jest konfiguracja tego elementu Systemu oraz
Egzamin ITIL Foundation
Egzamin ITIL Foundation Przykładowy arkusz egzaminacyjny A, wersja 5.1 Test wielokrotnego wyboru (tylko jedna odpowiedź jest prawidłowa) Instrukcja 1. Należy udzielić odpowiedzi na wszystkie 40 pytań.
SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa
Autorzy scenariusza: SCENARIUSZ LEKCJI OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Web frameworks do budowy aplikacji zgodnych z J2EE
Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym
Język BPEL. Bussiness Process Execution Language
Język BPEL Bussiness Process Execution Language Język BPEL BPEL jest (Web Services) Business Process Execution Language, standaryzowany przez OASIS BPEL jest językiem bazującym na XML służącym do definiowania
REGULAMIN. Warunki Udziału w Aukcji Elektronicznej na:
REGULAMIN Warunki Udziału w Aukcji Elektronicznej na: Wykonanie audytu energetycznego procesu technologicznego w zakresie odzysku (zawrotu) kondensatu z wybranych wytwórni produkcyjnych w poszczególnych
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI asix Aktualizacja pakietu asix 4 do wersji 5 lub 6 Pomoc techniczna Dok. Nr PLP0016 Wersja:08-12-2010 ASKOM i asix to zastrzeżony znak firmy ASKOM Sp. z o. o.,
Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)
I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia
Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca
Uwierzytelnianie w PHP 01 Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca stron internetowych, jest identyfikacja i uwierzytelnienie uprzywilejowanego użytkownika. Od zaprojektowania
Inżynieria oprogramowania
Inżynieria oprogramowania Wykład 8 Inżynieria wymagań: analiza przypadków użycia a diagram czynności Patrz: Stanisław Wrycza, Bartosz Marcinkowski, Krzysztof Wyrzykowski, Język UML 2.0 w modelowaniu systemów
Technologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
9.9 Algorytmy przeglądu
14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka
Spring Framework - wprowadzenie i zagadnienia zaawansowane
Program szkolenia: Spring Framework - wprowadzenie i zagadnienia zaawansowane Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Spring Framework - wprowadzenie i zagadnienia
GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO
GS2TelCOMM Rozszerzenie do TelCOMM 2.0 Opracował: Michał Siatkowski 29-03-2017 Zatwierdził: IMIĘ I NAZWISKO DATA TEL-STER 2017 Spis treści Wprowadzenie... 3 Architektura... 3 Instalacja... 3 Współpraca
Wartośd aktywów w analizie ryzyka bezpieczeostwa informacji
Strona1 Wartośd aktywów w analizie ryzyka bezpieczeostwa informacji Spis treści I Wstęp... 2 II. W jakim celu określa się wartośd aktywów?... 2 III. Wartościowanie aktywów... 3 IV. Powiązanie istotności
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka
Modelowanie jako sposób opisu rzeczywistości Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka 2015 Wprowadzenie: Modelowanie i symulacja PROBLEM: Podstawowy problem z opisem otaczającej
XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH
XIII International PhD Workshop OWD 2011, 22 25 October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH METHOD OF REEINGINEERING ORGANIZATION USING BUSINESS PROCESS
Spacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego
Etapy Ŝycia systemu informacyjnego Wprowadzenie do metodologii modelowania systemów informacyjnych 1. Strategia 2. Analiza 3. Projektowanie 4. Implementowanie, testowanie i dokumentowanie 5. WdroŜenie
Programowanie obiektowe
Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana