ZNANSTVENI PRISPEVKI B Arhitekturni model za učinkovito spremljanje izvajanja poslovnih procesov v SOA Aleš Frece, Matjaž B. Jurič Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko Smetanova ulica 17, 2000 Maribor ales.frece@uni-mb.si, matjaz.juric@uni-mb.si Izvleček V informatiki smo priča razmahu povezovanja aplikacij v avtomatizirane poslovne procese, s pomočjo katerih imajo vodstva možnost nadzorovati večino vidikov poslovanja svojih organizacij. Ko raven učinkovitosti izvajanja poslovnih aktivnosti pade pod pričakovano (poslovni cilj), je lahko vodstvo 0 tem obveščeno takoj in lahko sprejme ustrezne korektivne ukrepe. Da je takšno ukrepanje sploh mogoče, je treba v izvajanju poslovnih procesov najprej zaznati izredne situacije. To nam omogoča spremljanje poslovnih aktivnosti (Business Activity Monitoring, BAM), ki se vedno bolj uveljavlja kot zelo uporabno orodje za razumevanje in izboljševanje učinkovitosti izvajanja poslovnih procesov v skladu s celovitim pristopom k upravljanju poslovnih procesov (Business Process Management, BPM). Strategije prve generacije uporabe BAM so se osredinjale predvsem na razumevanje poslovnih tokov z informacijskega vidika (npr. s preštevanjem instanc procesov). Kasneje se je pojavila težnja, da BAM ne bi bil le nekaj statičnega, temveč naj bi se dinamično vključeval v izboljševanje učinkovitosti izvajanja procesov. Tako so nastale strategije BAM druge generacije, ki združujejo osnovne prednosti BAM z zmogljivimi analitičnimi in statističnimi zmožnostmi. S tem te strategije zagotavljajo učinkovitejši pristop k izboljševanju kakovosti, upravljanju s spremembami in zagotavljanju tekočega izvajanja poslovnih procesov. V članku bomo podali predlog arhitekture, ki temelji na inteligentnih analitičnih in statističnih infrastrukturah, s katerimi nam je omogočeno boljše razumevanje poslovne dinamike, hkrati pa bomo predlagali arhitekturni model, ki te idejne zasnove realizira oz. implementira po konceptih storitveno usmerjene arhitekture (Service Oriented Architecture, SOA). Ključne besede: spremljanje poslovnih aktivnosti, poslovni procesi, obravnava poslovnih situacij, dogodkovno vodena arhitektura, napredno procesiranje dogodkov, prepoznavanje vzorcev, razvrščanje opravil. Abstract ARCHITECTURAL MODEL FOR EFFECTIVE BUSINESS PROCESS MONITORING INSIDE SOA In information industry we can see more and more applications being connected into automated business processes. With their help the company's management has the ability to supervise most of the aspects of business operations. If business operations performance at some point does not fulfil the level of agreement, the management is instantly notified so that corrective measures can be executed. In order to act correctly in these situations we have to identify them in the first place. This is possible through Business Activity Monitoring (BAM). BAM is, as an important part of Business Process Management (BPM), proving to be a very useful tool for understanding and improving the SOA business process execution. The first generation of BAM strategies were focused on business flow monitoring from information perspective, for example counting of process instances. Later emerged the idea that BAM should not be something static but rather something, which would dynamically be included into business processes optimization improvement. The second generation of BAM strategies combine basic BAM benefits with powerful analytical and statistical capabilities. By doing this these strategies promise an effective approach to improvement of not only quality and change management but also fluent business process execution assurance. In this article we will describe some new efforts towards a goal of intelligent analytical and statistical infrastructures that will help us to understand better business dynamics and at the same time we will define architectural model that will bring these strategies into life with the help of service oriented architecture (SOA) concepts. Key words: Business Activity Monitoring (BAM), Business Processes, Business Situation Handling, Event Driven Architecture (EDA), Complex Event Processing (CEP), Pattern Recognition, Task Scheduling. 1 UVOD Vodstvo ima prek sistemov za izvajanje poslovnih procesov, V informatiki smo priča vedno večjemu povezovanju aplikacij ki omogočajo tudi njihovo spremljanje, možnost nadzorovati v avtomatizirane poslovne procese (McCoy, 2002). V izvaja- večino vidikov poslovanja svoje organizacije. Z nadzorovanje teh procesov se lahko vključujejo tudi končni uporabniki. njem procesov je mogoče nadzorovati kakovost poslovanja s pomočjo različnih metrik, ki morajo zadoščati vnaprej dogo-uorjenim ravnem storitev (angl. Service Level Agreement, SLA). Te so nekakšna informacijska predstavitev poslovnih ciljev organizacije. Z uporabo in spremljanjem SLA v sistemih za izvajanje avtomatiziranih poslovnih procesov lahko sistem samodejno zazna trenutek, ko dejansko poslovanje ne ustreza dogovorjenim ravnem. O tem lahko sistem obvesti vodstvo podjetja, ki ima možnost sprejeti najučinkovitejše ukrepe. Da lahko vodstvo ustrezno ukrepa glede na nastale izredne poslovne situacije, jih mora sistem najprej odkriti. To mu omogoča izvajanje aktivnosti spremljanja poslovnih al(tiunosti (angl. Business Actiuity Monitoring, BAM). Pod izrazom BAM razumemo tehnološko rešitev, ki ponuja real-nočasovni vpogled v zbirko podatkov o poslovnih dogodkih, ti pa so predstavljeni v obliki agregata realnočasovnih podatkov o poslovnih situacijah (Amnajmongkol, Ang'ani, Keen, Che, Fox in Lim, 2008). Osnovni element, ki omogoča spremljanje poslovnih aktivnosti, je dogodek. Po definiciji IBM je dogodek (angl. event) znak, da se je zgodilo nekaj, kar nas utegne zanimati (Best Practices for the Common Base Event and Common Event Infrastructure, 2006). Ogle, Kreger, Salahshour, Cornpropst, Labadie idr. (2004) definirajo dogodke kot zunanje, a vidne manifestacije vseh sistemskih operacij, ki predstavljajo začetek, potek in konec procesov. V poslovnem procesu tako dogodki predstavljajo poslovni mejnik (angl. business milestone) ali izredno poslovno situacijo. Tipično poslovni procesi prožijo dogodke, ko v njih pride do prehoda med dvema aktivnostma ali pa do prekoračitve vrednosti atributa transakcije, do katere lahko sistem deluje avtonomno. Dogodki nosijo časovno informacijo, s čimer sporočajo, kdaj je bil dosežen neki mejnik oz. je nastala neka situacija v procesu. Vse te situacije, tako tehnične kot poslovne, je treba zajemati, predstavljati in obdelovati enako, tj. v konsistentni, standardizirani obliki. To nam omogoča SOA, ki zagotavlja infrastrukturo za izmenjavo in obdelavo dogodkov. 2 PREDSTAVITEV PROBLEMA Zadnji napori na področju spremljanja poslovnih aktivnosti, tako Crump (2006), se osredinjajo na podporo strategijam za izkoriščanje dodane vrednosti uporabe BAM orodij. Glavne so tri strategije BAM t. i. druge generacije, ki pa še niso podprte s konkretnimi arhitekturnimi modeli oz. implementacijami: ■ poslovna zagotovila in vidnost, ki je razširitev osnovne strategije BAM v obliki dveh novejših tehnik: • zagotavljanje skladnosti z dogovori o ravneh storitev in • odkrivanje hib, ■ nadzorne storitve in ■ prepoznavanje kompleksnih vzorcev. Poglejmo si podrobneje, kaj se skriva za temi imeni strategij. 2.1 Zagotavljanje skladnosti z dogovori o ravneh storitev Morency in Coyle (2007) definirata SLA kot sredstvo, katerega cilj je zagotoviti dogovorjeno kakovost posameznih storitev, ki je ponujena končnim uporabnikom. Metrika, ki se uporablja za merjenje kakovosti, je tako odvisna od storitve. Npr. za neko tehnično storitev se odzivni čas aplikacije v produkciji meri v sekundah, njena razpoložljivost pa v odstotkih časa, ko lahko končni uporabniki uporabljajo aplikacijo. Ciljne ravni storitev so tako določene v absolutnih vrednostih enot časa (npr. N sekund odzivnega časa aplikacije A) ali pa v odstotkih celotnega časa (npr. aplikacija A je vsaj M-% razpoložljiva med običajnim dogajanjem v produkciji). Ne glede na metriko, ki jo nadzoruje raven storitve, pa naj bo to razpoložljivost, učinkovitost ali kaj tretjega, so procesi za njihovo upravljanje podobni. Metriko neprestano nadzoruje vsaj ena aplikacija za upravljanje z ravnmi storitev. Če to stanje prekorači dogovorjene pragove vrednosti, se sprožijo izjeme v obliki alarmov (Morency in Coyle, 2007). V primeru BPM se skladnost z ravnmi storitev ne zagotavlja na ravni tehničnih storitev temveč na ravni poslovnih procesov, z njimi povezanih transakcij, pa tudi na ravni celotnega poslovanja. V tem smislu je zagotavljanje skladnosti skrb, da se glavne poslovne aktivnosti izvajajo brez hib in znotraj postavljenih kriterijev. Veliko organizacij je v preteklosti poskušalo to doseči z osredinjanjem na razpoložljivost storitev, vendar so doživljala številne degradacije učinkovitosti, tudi ko je kazalo, da vse deluje brez problemov (Crump, 2006). Podatek o blizu stoodstotni razpoložljivosti namreč ne pove veliko, če storitev, ki jo merimo, ne daje pravilnih rezultatov. BAM ne dela s posameznimi aplikacijami, omrežji in drugimi informacijskimi viri, ampak s poslovnimi procesi, transakcijami in storitvami. To je ključna prednost pri ugotavljanju, če izvajanje poslovnih aktivnosti dosega želene cilje. Kritični poslovni proces namreč lahko uporablja širši nabor aplikacij, sistemov in podatkov- nih baz. Brez procesnega vidika, ki ga ponuja BAM, bi morali pri poskušanju ocenjevanja učinkovitosti izvajanja procesa poznati razpoložljivost in učinkovitost vseh teh aplikacij, omrežij in drugih informacijskih virov. Tega nam ni treba poznati, ker BAM razume procesne in transakcijske atribute in nam tako lahko omogoči, da laže razumemo ključne faktorje učinkovitosti na poslovni ravni. Tipični scenarij uporabe orodja BAM druge generacije bi bil: BAM orodje zbere relevantne dogodke in na njihovi podlagi izračuna vrednosti definiranih metrik. Sčasoma se nabere za posamezne metrike veliko vrednosti, nato pa lahko analitična komponenta začne razumeti zgodovinsko obnašanje in trende. S tem načinom lahko spozna normalno delovanje in nato prepoznava neobičajne situacije ter poroča o njih. To je lahko še posebno pomembno v situacijah, v katerih ni očitne napake (npr. vsi sistemi tečejo brez težav, javljena ni bila nobena napaka), a kljub vsemu je neki proces prekoračil na podlagi poslovnih ciljev definirane SLA. Drugo področje, na katerem BAM omogoča zagotavljanje skladnosti z dogovori o ravneh storitev, je upravljanje s spremembami (angl. Change Management). BAM je s svojim delovanjem na poslovni ravni idealen za odkrivanje sprememb v učinkovitosti delovanja po uveljavljenih spremembah na procesni ravni. S tem postane BAM pomembno orodje pri ugotavljanju vpliva sprememb v poslovnih procesih in omogoči odkrivanje morebitnih pomanjkljivosti pri optimizaciji procesov (Crump, 2006). 2.2 Odkrivanje hib Drugo ključno področje znotraj strategije poslovnih zagotovil in vidnosti je odkrivanje hib (angl. Defect Detection). Gre za zmožnost BAM, da uporabi svoje znanje o poslovnih procesih, transakcijah in metrikah, da odkrije napake in hibe. Te teme smo se že dotaknili v prejšnjem razdelku (2.1 Zagotavljanje skladnosti z dogovori o ravneh storitev), vendar še enkrat poudarimo, da je izraz hiba uporabljen v kontekstu poslovnih procesov oz. transakcij in ne v smislu izpadov informacijskih virov ali aplikacij - do hibe lahko pride tudi takrat, ko vsi sistemi delujejo normalno in izgleda, da se vse operacije izvajajo brez napak (Crump, 2006). Ena glavnih tehnik odkrivanja hib je statistično profiliranje (angl. Statistical Profiling). V bistvu gre za to, da BAM pridobiva vrednosti metrik skozi čas in na podlagi tega ocenjuje, kaj je »normal- no«. Statistične meritve v navezi z zgodovinskimi podatki rezultirajo pomembne metrike, kot je npr. standardni odklon. S pomočjo normalne vrednosti in standardnim odklonom lahko BAM identificira transakcije, katerih metrike se gibljejo zunaj normalnih vrednosti. Če se neka transakcija giblje zunaj določenih mej, še ne pomeni, da je v njej prišlo do napake. Npr. povečan obseg naročil je lahko vzrok izvedbe napačnih naročil ali pa povečane potrebe po naročenem blagu zaradi učinkovite proizvodnje. Kljub vsemu je uporaba BAM v takih situacijah smiselna, saj privabijo pozornost odgovornih oseb, ki se nato odločijo, ali je treba sprejeti kakšne korektivne ukrepe. Medtem ko se statistično profiliranje izvaja na procesni ravni, je največja korist od njega, ko se izvaja na ravni posameznih transakcij (Crump, 2006). BAM spremlja ključne kazalnike poslovanja in o njihovih prekoračitvah določenih pragov samodejno obvesti vnaprej določene osebe in jim s tem prihrani čas, ki bi ga sicer porabili za brskanje po dnevniških datotekah in drugih zgodovinskih zapisih, da bi našli vir nastalih težav. Poleg tega se BAM lepo vklaplja v zgodbo raznih standardov na področju zagotavljanja kakovosti, ki delujejo na principu nepretrganega izboljševanja, npr. v Six Sigma. Six Sigma zahteva kot vhod natančne statistične podatke, po izvedenih spremembah na procesih pa zahteva natančno merjenje učinkovitosti in nato primerja učinkovitosti spremenjenega procesa v nasprotju s prej uporabljanim (Lahiri, 1999). BAM lahko pripravi zahtevane podatke, lahko meri zahtevano učinkovitost in izmerjene vrednosti primerja z zgodovinskimi na procesni in transakcijski ravni, s čimer je odprta pot do visokokakovostnih procesov. 2.3 Nadzorne storitve Nadzorne storitve (angl. Control Services) so način, kako upravljati poslovne aktivnosti s pomočjo poslovnih politik (angl. policy) (Crump, 2006). Ključna razlika med nadzornimi storitvami in drugimi načini uporabe BAM je, da so se ti osredinjali na procese in njihove transakcije z notranje perspektive, medtem ko se nadzorne storitve osredinjajo na iste metrike v navezavi z zunanjimi vhodi - politikami. Primer politike bi bil, da v sistemu za upravljanje odnosov s strankami (angl. Customer Relationship Management, CRM) želimo stalnim strankam na vprašanja odgovoriti v dvakrat krajšem roku, kot sicer odgovorimo občasnim strankam. Gre le še za en način, kako samodejno prepoznati situacije, ki ustrezajo vnaprej definiranim profilom. Orodja BAM, ki bodo podpirala uporabo politik, bodo morala ponuditi neko vrsto storitev, prek katere bomo lahko definirali in kasneje spreminjali te politike, le-te pa se bodo nato aplicirale na samo izvajanje poslovnih aktivnosti. Strategije BAM prve generacije je mogoče dopolniti, da naredijo še več, kot le označijo posebne situacije. Z njimi lahko naslavljamo tudi probleme upravljanja z roki (angl. Deadline Management). Te strategije lahko razširimo tako, da ne omogočajo samo spremljanja, katera opravila so bila opravljena v roku in katera ne, temveč bi z njihovo pomočjo lahko predvideli, kje je še mogoče doseči skrajne roke. V strategijah BAM prve generacije se namreč uporabljajo metrike, kot sta čas, potreben za izvedbo neke poslovne aktivnosti, ter čas, v katerem se mora končati poslovni proces. Tako bi bilo mogoče na vsakem koraku poslovnega procesa ugotoviti, koliko časa je še ostalo do skrajnega roka. V nekaterih procesih lahko dodeljevanje prioritet poslovnim aktivnostim pripomore k temu, da se doseže skrajni rok za izvedbo neke aktivnosti. 2.4 Prepoznavanje kompleksnih vzorcev Poslovanje je lahko zelo kompleksno in vzrok, da se je pojavila neka poslovna situacija, je lahko kombinacija večjega števila okoliščin. Poslovne situacije lahko prepoznamo po hkratni spremembi večjega nabora metrik. Tako se lahko nekateri procesi upočasnijo, nekatere metrike lahko začnejo rasti, druge padati, in te velike spremembe vrednosti metrik se lahko zgodijo v kratkem času. Prepoznavanje kompleksnih vzorcev (angl. Complex Pattern Recognition) ni nič drugega kot adaptacija strategij BAM, da pomagajo pri prepoznavanju takšnih situacij in s tem omogočijo možnost pravilnega odziva nanje (Crump, 2006). Vloga strategij BAM v prepoznavanju kompleksnih vzorcev je, da dodatno omogočijo izdelavo posnetkov stanja na zahtevo uporabnikov, ko pride do izredne situacije. Npr. če v naš center za pomoč uporabnikom dobivamo precej povečano število klicev, pomeni, da je nekje prišlo do večjih težav in da je poslovanje podjetja ogroženo na nekem delu trga. Uporabnik zato opredeli, da se v takšnih situacijah napravi posnetek celotnega njegovega stanja. V posnetek stanja se zapiše t. i. odtis (angl. fingerprint), ki identificira okoliščine, zaradi katerih je prišlo do izredne situacije. Tako se gradi znanje o vzrokih nastalih izrednih situacij in v vsakem trenutku je mogoče primerjati vre- dnosti trenutnih metrik s kombinacijami vrednosti vzrokov izrednih situacij. S tem je mogoče odkrivati potencialne poslovne situacije in o tem prek alarmov obveščati ustrezne uporabnike. Sčasoma se pridobiva vedno več znanja in inteligence ter posledično se izboljšajo zmožnosti predvidevanja in odkrivanja vse več potencialnih poslovnih situacij. 3 PREGLED SORODNIH RAZISKAV Področje zagotavljanja skladnosti z dogovori o ravneh storitev je dobro pokrito z raziskavami, vendar ne za specifično okolje storitveno usmerjenih arhitektur (Service Oriented Architecture, SOA), v središču katerih so poslovni procesi. Tako Padagett, Haji in Djemame (2005) obravnavajo SLA v SOA, vendar na tehnični ravni, saj obravnava SLA porabe strojnih virov na strani ponudnika storitev. Quan in Altmann (2009) sicer naslavljata delovne tokove, vendar le na preprostih primerih. Pomemben sklep v tem članku predstavlja učinkovitost upravitelja poslovnih procesov (angl. broker), ki s pomočjo poslovnega modela delovnega toku in dobro opredeljenih SLA zmore bolje izvajati delovni tok. Primanjkljaj raziskav na tem področju uspešno kompenzirajo orodja BAM, kot sta npr. IBM WBM (WebSphere Business Monitor V6.2 Overview, 2009) in Oracle BAM (Oracle Business Activity Monitoring, 2009). Oba produkta namreč omogočata spremljanje SLA izvajanja aktivnosti v poslovnih procesih prek grafične nadzorne plošče s pomočjo procesiranja kompleksnih dogodkov (Complex Event Processing, CEP), kot jih definirata Teymourian in Paschke (2009). Pri tem IBM WBM uporablja obliko dogodkov CBE oz. Common Base Event (Ogle, 2004), Oracle BAM pa pristop na temelju neposredne integracije s podatkovno bazo. Oba pristopa omogočata proženje različnih alarmov (e--pošta, klic spletne storitve ipd.), IBM WBM pa omogoča ob alarmu še proženje neke spletne storitve. Raziskave s področja statističnega profiliranja kot načina odkrivanja hib niso nič novega. Osredi-njajo se na specifične domene; Graham, Kessler in McKusick (1982) se npr. osredinjajo na kompleksne programe, ki so zastavljeni modularno. Rešitev v tem prispevku omogoča časovno analizo izvajanja posameznih rutin prek različnih scenarijev dekom-poziranega programa. Dekompozicijo, ki jo obvlada predstavljena rešitev (moduli in rutine), je konceptualno podobna kot na primeru poslovnih procesov v SOA, pri katerem se procesi višjih razgradijo do procesov nižjih ravni vse do končnih storitev. Sicer pa ni na voljo konkretne raziskave, ki bi se na področju profiliranja osredinjala na področje poslovnih procesov v SOA. Uporaba politik za prilagajanje zahtev SLA glede na konkretne situacije ni nova zamisel. Področje je naslovila raziskava Jeng, Chan in Bhaskaran (2004) z definicijo adaptivnega ogrodja na podlagi politik, ki omogoča spremljanje poslovnih aplikacij na zahtevo, tudi ko se le-te spremenijo. Rezultate te raziskave je IBM uporabil v svoji rešitvi IBM WBM (WebSphere Business Monitor V6.2 Overview, 2009), vendar so v tej rešitvi politike definirane v obliki statično zakodi-ranih omejitev SLA (ob namestitvi rešitve za spremljanje poslovnih aktivnosti), torej s statičnimi vrednostmi ključnih kazalnikov poslovanja (KPI, Key Performance Indicator). Koncept politik v okolju SOA je širši in namenjen temu, da se določena pravila zajamejo v deklarativni obliki zunaj programske rešitve, nato pa se interpretirajo v času izvajanja (Web Services Policy 1.5 - Framework, 2007). Tako je namreč omogočeno neodvisno spreminjanje politik od programske rešitve, s čimer je zagotovljena določena raven fleksibilnosti, kar je eden izmed glavnih ciljev SOA. Upravljanje z roki je že dolgo znan problem iz sistemov v realnem času, pri čemer je glavno področje raziskovanja razvrščanje opravil tako, da se vsa končajo v zahtevanem roku (angl. Task Scheduling). Ja-nowski in Joseph (2004) naslavljata problem razvrščanja opravil realnočasovnega programa na omejenem naboru računalniških virov z uporabo časovne procesne logike in modalne logike. V eni novejših raziskav Jang, Xu in Jia (2009) definirajo enega izmed mogočih algoritmov, ki zagotavljajo optimalno razporeditev, če je ta seveda mogoča. Še več, v tej raziskavi je opredeljeni algoritem primerjan s konkurenčnimi algoritmi; le-te je presegel na meritvah učinkovitosti razvrščanja opravil. Tema prepoznavanja kompleksnih vzorcev je šele v zadnjem času postala zares zanimiva. Podobno kot velja za statistično profiliranje, tudi raziskave s področja prepoznavanja kompleksnih vzorcev naslavljajo specifične domene. Npr. Dong, Li in He (2006) predstavljajo sodobne metode prepoznavanja kompleksnih vzorcev, saj ugotavljajo, da sodobni kompleksni sistemi zahtevajo uporabo novejših, različnim situacijam prilagodljivih metod prepoznavanja vzorcev. 4 OPREDELITEV ARHITEKTURNEGA MODELA ZA IZVAJANJE STRATEGIJ BAM DRUGE GENERACIJE S KONCEPTOM SOA Definirajmo arhitekturni model, ki bi omogočal uporabo strategij BAM druge generacije z uporabo dogodkov in infrastrukture za njihovo izmenjavo, ki jo zagotavlja SOA. Zagotavljanje skladnosti storitev z dogovori o njihovih ravneh oz. SLA uspešno rešujejo obstoječa orodja BAM (IBM WBM in Oracle BAM), zato raje poskušajmo definirati model, ki bo zmogel: ■ razvrščati poslovne aktivnosti v poslovnih procesih, da se vedno izvede kar največ aktivnosti v določenem roku, kot je le mogoče s pomočjo omejenih virov za izvajanje, ■ odkrivati hibe v izvajanju poslovnih procesov s pomočjo statističnega profiliranja, ■ omogočal upravljanje poslovnih aktivnosti s pomočjo deklarativnih politik, ki jih bo mogoče spreminjati neodvisno od konkretne rešitve spremljanja poslovnih aktivnosti, ■ prepoznavati kompleksne vzorce oz. poslovne situacije in ■ obravnavati identificirane poslovne situacije s pomočjo servisnih poslovnih procesov, na situacije, ki pa ne bodo pokrite s temi procesi, pa bo znal opozoriti uporabnika. Zasnova modela je shematsko prikazana na sliki 1, na kateri nastopajo različne komponente. Skladno z legendo k sliki 1 so nekatere komponente poznane iz obstoječih arhitekturnih zasnov (»Obstoječe«), nekatere pa definira tu zasnovani model na novo (»Dodano«). Tretja kategorija komponent so zunanji sistemi (»Zunanje«), ki nimajo neposredne povezave z ožjim spremljanjem poslovnih aktivnosti, temveč služijo samo kot vir dogodkov poslovnih aktivnosti (poslovni procesi in zunanji sistemi) oz. poslovnih situacij (zunanji sistemi). Dogodki poslovnih aktivnosti so vsi dogodki, ki so relevantni za spremljanje poslovnih aktivnosti, poslovne situacije pa vse na podlagi dogodkov odkrite situacije, ki jih je treba obravnavati, bodisi s strani BAM orodij druge generacije bodisi s strani uporabnikov. Skladnosti izvajanja procesov z SLA v arhitekturnem modelu zagotavljajo načela, ki jih uporabljata rešitvi IBM WBM (WebSphere Business Monitor V6.2 Overview, 2009) in Oracle BAM (Oracle Business Activity Monitoring, 2009), tj. s pomočjo ključnih kazalnikov poslovanja, pri čemer mejne vrednosti KPI (pragovi) predstavljajo dogovore SLA. Metri- ke merijo zahteve, ki jih postavljajo SLA, njihove vrednosti pa predstavljajo vrednost KPI. Kršitve dogovorov SLA predstavljajo situacije, pri katerih so preseženi pragovi KPI. Kdaj pride do teh kršitev, model ugotovi sam, kako naj reagira v vsakem posameznem primeru, pa je določeno vnaprej - naj bo to le obveščanje poslovnih uporabnikov prek izbranih poti ali pa zagon poslovnega procesa, ki koordinira izvajanje korektivnih aktivnosti. Hibe v izvajanju poslovnih procesov model odkriva s pomočjo širšega pogleda na spremembe vrednosti KPI, pri čemer izvaja statistično profiliranje. S pomočjo statističnih podatkov prek vseh instanc procesov lahko ugotovi, katere instance med izvajanjem odstopajo od povprečja (gledano na tempo izvajanja aktivnosti) in o takem obnašanju proži ustrezne poslovne situacije. Z isto metodo model odkriva ozka grla v izvajanju procesov, tj. aktivnosti, ki pogosto odstopajo od povprečja. Pri upravljanju poslovnih aktivnosti s pomočjo politik se model ne ustavi samo pri sporočanju situacij, pri katerih je potrebna posebna pozornost sodelujočih v poslovnih procesih, temveč vpeljuje mehanizem izračunavanja možnosti doseganja skrajnih rokov. Tako arhitekturni model s pomočjo algoritma razvrščanja zagotovi, da se z določanjem in upoštevanjem prioritet aktivnosti v nekem časovnem roku izvedejo vse aktivnosti, ki se še sploh lahko. Za zagotavljanje podpore prepoznavanju kompleksnih vzorcev oz. poslovnih situacij model omogoča poslovnim uporabnikom izdelavo posnetka stanja metrik. Pri tem si model zapomni vzroke (obnašanje metrik skozi čas), ko pride do poslovne situacije. Model po vsakem narejenem posnetku primerja trende metrik posnetkov s trenutnim stanjem in tako lahko opozori na potencialno poslovno situacijo. 4.1 Zagotavljanje skladnosti z SLA Za boljše razumevanje arhitekturnega modela razložimo, da poslovne procese sestavljajo poslovne aktivnosti, ki pri vpeljavi spremljanja poslovnih aktivnosti predstavljajo oddajnike dogodkov (glej sliko 1). Kaj bodo posamezne aktivnosti sporočale prek dogodkov, moramo opredeliti v času njihovega načrtovanja. Definirati moramo njihovo vsebino, tj. poslovne informacije, ki jih bodo vsebovali. Pri tem moramo premisliti, za kakšen tip poslovne aktivnosti gre, kako se aktivira (»Aktivnost N pričela«), kdaj se konča (»Aktivnost N zaključila«) ter kakšni poslovni podatki so povezani z njo in kako se obdelujejo v njej. Aktivnosti poročajo, ko se spremeni njihovo stanje (začetek, konec, suspendiraj, nadaljuj), poroča pa lahko tudi proces, npr. ko poslovne aktivnosti spremenijo vsebino poslovnih podatkov, za katere skrbi proces interno (kreiraj, spremeni, briši). Procesni strežnik mora biti konfiguriran tako, da dogodke poslovnih aktivnosti pošilja na dogodkovni strežnik (poznan iz IBM WBM), kjer jih lovi vrsta za sprejem dogodkov. Vrsta služi kot vmesni pomnilnik, preden se dogodki (mednje spadajo tudi poslovne aktivnosti) trajno hranijo v hrambi dogodkov. Od tod komponenta za dostop do dogodkov selektivno črpa dogodke in jih objavlja na ustrezni distribucijski vrsti: ločeno objavlja dogodke poslovnih aktivnosti in poslovne situacije. Pri tem predlagani arhitekturni model opredeljuje do sedaj še nepoznano distribucijsko vrsto za poslovne situacije, s katero omogoča nadaljnjo obravnavo poslovnih situacij različno od samo opozarjanja poslovnih uporabnikov nanje. Dogodke obeh vrst lahko prožijo zunanji sistemi (npr. ERP sistem), s čimer je predlagani arhitekturni model razširljiv na kompletno poslovno domeno, ne samo na del domene, ki ga pokrivajo poslovni procesi. Predlagani arhitekturni model vključuje BAM strežnik na osnovi IBM WBM (WebSphere Business Monitor V6.2 Overview, 2009) in Oracle BAM (Oracle Business Activity Monitoring, 2009). Tako porablja dogodke s pomočjo porabnika dogodkov v smislu, da jih najprej razvršča v njihove kontekste v razvrščeval-cu kontekstov (kateri aktivnosti pripadajo znotraj katere instance procesa), zatem pa na podlagi informacij v dogodkih izračuna metrike (npr. trajanje določene aktivnosti ali instance procesa). Na podlagi izračunanih metrik model ugotavlja vrednosti KPI in njihovih prekoračitev. Rešitve BAM prve generacije v primeru prekoračitve omogočajo zgolj pošiljanje alarmov poslovnim uporabnikom, ves čas pa omogočajo grafičen pregled nad stanjem KPI. Predlagani arhitekturni model gre naprej in uvede prožilca poslovnih situacij, ki poleg morebitnega alarma sproži še dogodek poslovne situacije, ki v končni fazi na dogodkovnem strežniku konča v distribucijski vrsti poslovnih situacij. Na nadzorno ploščo poleg alarmov o prekoračitvah KPI prikaže še vse poslovne situacije, ki niso bile obdelane kako drugače. GraSčni prikaz KPI In obvesUla o prekcKBäitvah Poslovni uporabnik | ^ JM^OTM ptoMal I Slika 1: Arhitekturni model za izvajanje strategij BAM druge generacije po konceptih SOA Dogodke poslovnih situacij, ki jih vpeljuje predlagani model, med drugim porablja aktivator servisnih poslovnih procesov. Servisni poslovni procesi so poslovni procesi, katerih naloga je odpraviti določene poslovne situacije. Aktivator servisnih procesov ima za določene poslovne situacije registrirane servisne poslovne procese. Tako je njegova naloga zgolj sprožiti ustrezni servisni proces, ko se pojavi določena poslovna situacija. Ta poslovni proces koordinira izvajanje korektivnih ukrepov ali pa s pomočjo odločitvenih modelov celo namesto poslovnega uporabnika analizira situacijo, odloči o korektivni akciji in jo tudi izvede. S tem arhitekturni model vpeljuje višjo stopnjo avtomatizacije poslovnega okolja, saj nekatere poslovne situacije obravnava samodejno brez posredovanja poslovnega uporabnika. 4.2 Statistično profiliranje S pomočjo statističnega profiliranja arhitekturni model napoveduje pojavitve hib v izvajanju poslovnih procesov na podlagi odstopanja metrik izvajanja od zgodovinskega profila izvajanja tega procesa. Izraču- nane metrike se prenesejo v hrambo metrik, kjer so na voljo za dodatne obdelave. V arhitekturnem modelu je komponenta statističnega profiliranja zastavljena po arhitekturnem vzorcu »vtičnik«, s pomočjo katerega omogoča uporabo poljubnega algoritma za profilira-nje. Izbrani algoritem bi moral biti učinkovit in robusten, ki bi znal ločiti med spremembami v poslovanju, odpovedmi izvajanja procesov in nepotrebnimi napakami v izvajanju. Iz tega sledi, da bi bilo treba za vsako izmed omenjenih kategorij razviti ločen (pod) algoritem - zopet po vzorcu »vtičnika«. Mogoči algoritmi profiliranja so metoda uteženih najmanjših kvadratov, Fourierjeva transformacija, linearna interpolacija, trigonometrična interpolacija, generaliziran linearni model, modeli Box-Jenkins ipd. Algoritmi profiliranja so zmožni predvidevati situacije le z določeno verjetnostjo. Da model zagotovi napovedi s čim večjo verjetnostjo, ponuja mehanizme za izboljševanje teh algoritmov. Izboljševanje poteka tako, da poslovni uporabniki ocenjujejo ustreznost napovedi, s čimer model zagotovi povratno zanko v izvajanje napovedi. 4.3 Zagotavljanje skrajnih rokov Za uveljavljanje politik v deklarativni obliki glede skrajnih rokov za izvedbo aktivnosti model uporablja poljuben algoritem razvrščanja (arhitekturni vzorec »vtičnik«), npr. razvrščanje po najzgodnejših rokih oz. EDF (Xiong, Wang in Ramamritham, 2008). Raz-vrščevalni algoritem aktivnostim dodeljuje prioritete glede na njihov skrajni rok, če jih je še mogoče doseči. Katere so aktivnosti in kakšne so odvisnosti med njimi, razvrščevalnik aktivnosti razbere iz modela procesnega toka, ki je sicer tudi podlaga za izvajalno obliko poslovnega procesa. Časovne zahteve glede izvajanja poslovnih aktivnosti razvrščevalnik pridobi iz modela KPI, ki je sicer podlaga za izračunavanje KPI-jev in njihovih prekoračitev. Razvrščevalnik dodeljuje prioritete ob koncu vsake aktivnosti, ob pojavitvi nove delovne obremenitve oz. zahteve po izvedbi nove aktivnosti ter ob vsaki relevantni poslovni situaciji (npr. ko neko opravilo kljub pravilni razvrstitvi ni bilo izvedeno pravočasno). Algoritem EDF je optimalni algoritem razvrščanja (Xiong, Wang in Ramamritham, 2008). Velja namreč, da EDF uspešno razvrsti neodvisna opravila, za katere imamo čas prejetja in zaželen čas konca, tako, da bodo vsa končana v roku. Slaba stran EDF je sicer, da je v primeru pomanjkanja virov za izvajanje aktivnosti zelo težko napovedati, koliko in katere aktivnosti bodo zamudile skrajni rok. Vendar s tem nismo v izvajanje aktivnosti vnesli ničesar, kar bi zmanjšalo učinkovitost izvajanja poslovnih procesov. Ravno nasprotno, v tem primeru model po naravi samih aktivnosti omogoča obveščanje izvajalcev, katerih aktivnosti nima več smisla izvajati (recimo, da njihovi rezultati niso več potrebni), tiste, ki prekoračijo rok, pa model razvršča glede na škodo, ki jo povzroča zamuda v izvajanju aktivnosti na časovno enoto. Stroškovni vidik izvajanja aktivnosti razvrščevalnik pridobi iz modela KPI. 4.4 Prepoznavanje kompleksnih vzorcev Hranjene metrike model uporablja tudi pri prepoznavanju kompleksnih vzorcev. Ko poslovni uporabnik zazna poslovno situacijo, ki je sistem ni zaznal samodejno, se lahko odloči narediti posnetek stanj vseh metrik. Ti posnetki se hranijo v hrambi posnetkov stanj metrik, kjer so na voljo komponenti za prepoznavanje kompleksnih vzorcev. S posnetkom se hranijo tudi trendi metrik, ki so vodili do ročno identificirane poslovne situacije. S tem model ne prepozna kompleksnega vzorca, šele tik preden vrednosti metrik skonvergirajo proti vrednostim posnetka neke situacije, temveč primerja trende spreminjanja metrik s tistimi v posnetku poslovne situacije. Torej model prepozna prihajajoče poslovne situacije ne le s pomočjo vrednosti metrik v konkretni situaciji, temveč tudi z ujemanjem trendov spreminjanja teh metrik s trendi, ki vodijo do neke poslovne situacije. 5 SKLEP Prikazali smo, da je spremljanje izvajanja poslovnih procesov s pomočjo orodij BAM ena izmed ključnih faz celostnega življenjskega cikla poslovnih procesov. KPI-ji, zbrani v času izvajanja procesov, lahko poleg sprejemanja ustreznih korektivnih ukrepov v izrednih situacijah služijo kot podlaga za izvedbo potrebnih optimizacij procesov. Pokazali smo, da se BAM vedno bolj uveljavlja kot zelo uporabno orodje. A realizirati vse te prednosti ni preprosto, zato je zelo pomembno, kako se lotimo njihove realizacije. Pri tem priskoči na pomoč pristop SOA s svojimi dobrimi praksami. V članku smo združili različne strategije in tehnike pri vpeljavi strategij BAM druge generacije v arhitekturni model, ki uporablja nekatere pristope, poznane iz obstoječih raziskav in rešitev, obenem pa vpeljuje nove koncepte in pristope po vzoru dobrih praks SOA. Pri tem smo opredelili različne komponente na različnih mestih v arhitekturi, ki v sodelovanju izvajajo strategije BAM druge generacije, ki še niso podprte ne v raziskavah ne v orodjih BAM. Poleg tega smo navedli še, kako bi takšna orodja, ki bi implementirala predlagani arhitekturni model, v praksi uporabljali poslovni uporabniki. Arhitekturni model prinaša večjo stopnjo avtomatizacije poslovnih procesov z vpeljavo koncepta servisnega poslovnega procesa, hkrati pa se je sposoben učiti od uporabnikov z zajemanjem situacij o poslovnih situacijah. Arhitekturni model je razširljiv (vključevanje zunanjih sistemov) ter prilagodljiv, saj omogoča uporabo različnih algoritmov za razvrščanje, profiliranje in prepoznavanje kompleksnih vzorcev. Model je izvedljiv, čeprav ni bil preizkusen v praksi. Preizkus bi zahteval izbiro konkretne platforme SOA, s čimer pa ne bi mogli pokazati splošnosti modela. 6 VIRI IN LITERATURA [1] Amnajmongkol, S., Ang'ani, J., Keen, M., Che, Y., Fox, T. in Lim, A. (2008). Business Activity Monitoring with WebSphere Business Monitor V6.1. New York: IBM Redbooks. [2] Best Practices for the Common Base Event and Common Event Infrastructure. (2006). New York: IBM Corporation. [3] Crump, J. (2006). Business Activity Monitoring (BAM): The New Face of BPM. Reston: webMethods. [4] Dong, L., Li, G. in He, Z. (2006). Pattern Recognition Based on All Set Theory and SPA in Complex System, Peking: Jiaotong University. [5] Graham, S. L., Kessler, P. B. in McKusick, M. K. (1982). Gprof: a Call Graph Execution Profiler, Berkeley: University of California. [6] Janowski, T., Joseph, M. (2004). Dynamic Scheduling and Fault-Tolerance: Specification and Verification, Tokyo: The United Nations University. [7] Jang, J., Xu, H. in Jia, P. (2009). Task Scheduling for Heterogeneous Computing Based on Bayesian Optimization Algorithm. Peking: International Conference on Computational Intelligence and Security. [8] Jeng, J. J., Chang H. in Bhaskaran, K. (2004). Policy Driven Business Performance Management. New York: IBM T. J. Watson Research Center. [9] Lahiri, J. (1999). The Enigma of Six Sigma. New Delhi: Business Today. [10] McCoy, D. W. (2002). Business Activity Monitoring: Calm Before the Storm. Connecticut: Gartner. [11] [12] [13] [14] [15] [16] [17] [18] [19] Morency, J. P. in Coyle, D. M. (2007). Toolkit Best Practice: Disaster Recovery Service Levels: What Makes Them Different and Why They Are Important. Connecticut: Gartner. Ogle, D., Kreger, H., Salahshour, A., Cornpropst, J., Labadie, E., Chessell, M. idr. (2004). Canonical Situation Data Format: The Common Base Event V1.0.1, IBM Corporation. Oracle Business Activity Monitoring (Oracle BAM) - What's New in Oracle BAM 11g. (2009). Redwood City: Oracle. Padagett, J., Haji, M. in Djemame, K. (2005). SLA Management in a Service Oriented Architecture. Leeds: University of Leeds. Quan, D. M. in Altmann, J. (2007). Business Model and the Policy of Mapping Light Communication Grid-Based Workflow Within the SLA Context. Bruchsal: International University of Bruchsal. Teymourian, K. in Paschke, A. (2009). Semantic Rule-Based Complex Event Processing. Berlin: Freie Universität. Web Services Policy 1.5 D Framework. (2007). Boston: W3C. WebSphere® Business Monitor V6.2 Overview. (2009). New York: IBM Corporation. Xiong M., Wang, Q., Ramamritham, K. (2008). On Earliest Deadline First Scheduling for Temporal Consistency Maintenance. New Jersey: Bell Labs. Ales Frece je raziskovalec na Fakulteti za elektrotehniko, računalništvo in informatiko Univerze v Mariboru, kjer pripravlja doktorsko disertacijo, ter na Institutu za varnost podatkov in informacijskih sistemov. Strokovno pokriva področje informatike s poudarkom na storitveno orientiranih arhitekturah. Sodeluje v številnih raziskovalnih in aplikativnih projektih. Udeležuje se konferenc, na katerih predstavlja teme s področja storitveno usmerjenih arhitektur, poslovnih pravil, storitvenih vodil in spremljanja poslovnih aktivnosti. ■ Matjaž B. Jurič je izredni profesor na Fakulteti za elektrotehniko, računalništvo in informatiko Univerze v Mariboru. Ukvarja se s SOA, kompozicijo poslovnih procesov, z integracijo, elektronskim poslovanjem, s spletnimi storitvami in z optimizacijo zmogljivosti. Je avtor oz. soavtor knjig Business Process Driven SOA, SOA Approach to Integration, Best Practices for SOA-based integration and composite applications development, Business Process Execution Language for Web Services (Packt Publishing), .NET Serialization Handbook, J2EE Design Patterns Applied, Professional J2EE EAI in Professional EJB (Wrox Press), poglavij v knjigah More Java Gems (Cambridge University Press) in Technology Supporting Business Solutions (Nova Science Publishers). Sodeloval je pri številnih projektih doma in v tujini. Je član BPEL Advisory Boarda.