jezika poslovnih procesov BPEL pri orkestraciji elektronskega poslovanja Maja PuSnik. Matjaž B Junč Marjan HeriČko. Boštjan Su mak Univerza v Mariboru. Fakulteta za elektrotehniko, računalništva in informatiko, Inštitut za informatiko. Smetanova ulica 17, Maribor Maja.Pusnik@uni-mb.si Povzetek Spletne storitve pokrivajo tehnični vidik izmenjave dokumentov XML in predstavljajo tehnološko podlago elektronskemu poslovanju Leto pa ni samo izmenjava dokumentov, temveč koordinirano sodelovanje med partnerji, kar zahteva natančno določeno zaporedje aktivnosti. Tehnologija BPEL (Business Process Execution Language), ki bo predstavljena v prispevku, omogoča deklarativno ortestraoijo in koreografijo poslovnih procesov, kater ill preoblikovanje in posodabljanje ne zahLeva vključevanja razvijalcev informacijskih sistemov, temveč jih lahko opravijo poslovni akterji sami V prispevku bomo preučili vlogo in pomen tehnologije BPEL. analizirali model delovanja in jo primerjali s sorodnimi tehnologijami. Identificirali bomo prednosti in slabosti tehnologije BPEL in podali napotke za izboljšavo identificiranih slabosti, Analizirali bomo še strežnike in orodja, ki omogočajo uporabo BPEL. Abstract The Importance of web services and BPEL in e-business orchestration Web services include the technical view of XML document exchange and represent a technological basis for e-business. However, ebusiness is not only about document exchange, but also about a coordinated collaboration between partners, defined in a specific sequence of activities. The BPEL technology (Business Process Execution Language), presented in this paper, enables declarative orchestration and choreography of business processes, where the reshaping and updating does not require the involvement of information system developers, in fact business actors can manage it alone. In the paper, we will study the role and importance of the BPEL technology, analyze the activity model and compare it with other related existing technologies We will identify advantages and disadvantages of the BPEL technology and present instructions for improvements of identified weaknesses. Furthermore, we will analyze several servers and tools, which enable BPEL usage. RAZPRAVE E3 Pomen snletnih storitev in izvaialneoa 1 Uuod □ejstuo, da elektronsko poslovanje lahko zniža stroške poslovanja in ponudi nove, učinkovitejše metode sodelovanja med podjetji in organizacijami, je znano že dalj časa. Uresničitev pa je povezana z obstojem ustrezne infrastrukture, tehnologij in orodij, katerih skupna značilnost mora biti dostopnost. To pomeni uporabo internetnih povezav za infrastrukturo in uporabo enostavnih tehnologij, ki ne bodo potrebovala prevelikega vlaganja v izobraŽevanje in razvoj. Da je pri tem potrebno zagotoviti tudi ustrezno varnost, zanesljivost in hitrost, ni treba posebej poudarjati. Za razliko od tehnologije EDI {Electronic Data Interchange) in drugih rešitev temeljijo sodobne tehnologije za razvoj informacijske podpore elektronskega poslovanja na tehnologij' XML (Extensible Markup Language) in spletnih storitvah (Web Servi- ces). Niso Un ko kompleksne kot obstoječe rešitve, to pa pomeni manj truda za učenje in s tem hitrejSo in cenejšo uporabo. Ta dejstva odpirajo vrata informacijskim rešitvam za elektronsko poslovanje tudi v majhnih in srednje velikih podjetjih. XML in spletne storitve nudijo tehnološko osnovo za izmenjavo elektronskih dokumentov in sporočil. Da bi dosegli koordinirano zaporedje izvajanja aktivnosti med sodelujočimi partnerji/ potrebujemo tehnologije za opis orkestra rije in koreografije aktivnosti, ki so izpostavljene prek spletnih storitev. V prispevku sc bomo osredinili na trenutno najpomembnejšo tehnologijo - tehnologijo BPEL, imenovano tudi BPEI.4WS (Business Process Execution Language for Web Services). 2004 - številka 3 - letnik XII upúhíiini informatika 121 Maja Puimk, Matjaž H. Jurič, Marjan MeriČka, Boilj.m Šum.ik Pomen spletnih storitev In izvajalnega jezika poslovnih procesov BPEL pri orkoslraciji elektronskega poslovanja V prvem delu prispevka bomo opisali vlogo spletnih storitev pri razvoju rešitev za elektronsko poslovanje. Identificirali bomo gradnike, ki jih tehnologija spletnih storitev ne naslavlja neposredno, kot so opisi profilov podjetij in pogodb ter orkestracija in koreografija poslovnih aktivnosti. Na tem področju šc ni popolnega poenotenja, zato bomo v nadaljevanju identificirali konkurenčne tehnologije in jih primerjali. Posvetili se bomo tehnologiji BPEL, katere vlogo, pomen in model delovanja bomo natančno preučili na primeru. Prikazali bomo način orkestracije enostavnega elektronskega poslovnega procesa, moduliranega s pomočjo spletnih storitev. Poslovni proces bo v prispevku opisoval i/menjavo sporočil XML med dvema podjetjema po definiciji implementirane poslovne logike. Poslovni proces torej naslavlja model oziroma scenarij, ki se mora izvršiti, da lahko govorimo o poslovni funkcionalnosti. S primerjavo tehnologij WSCI (Web Services Choreography Interface), BPML (Business Process Modelling Language) in ebXML BPSS (Business Process Spécification Schéma) bomo identificirali prednosti in slabosti tehnologije liPEL ter analizirali najpomembnejše strežnike in orodja, 2 Od spletnih storitev da orkestracije Spletne storitve naslavljajo tehnične vidike povezovanja podjetij. Njihovo poslanstvo je integracija Šibko sklopljenih informacijskih sistemov; združujejo torej skupino tehnologij XML, SO A P (Simple Object Access Protocol), WSDL (Web Services Description Language) ter UDDI (Universal Description, Discovery and Intégration). Pomen spletnih storitev je predvsem v povezljivosti in neodvisnosti od okolja, v katerem so razvite. Njihov neposredni namen je zagotavljanje poslovnih funkcionalnosti prek spleta, vse bolj pa se uporabljajo interno znotraj podjetij. S pomočjo spletnih storitev enostavno pošiljamo različne XML dokumente in omogočimo komunikacijo znotraj podjetja in med različnimi podjetji. Spletne storitve so komponente, ki komunicirajo prek protokola SOAP na sin h ran in asinhron način. Za oblikovanje sporočil, ki si jih izmenjujejo, se uporablja jezik XML. Ustrezno varnost pri izmenjavi omogoča t, i. varnost spletnih storitev (WS Security), ki združuje digitalni podpis, enkripdjo in prenos varnostne vsebine. Spletne storitve definirajo tudi vmesnike, ki ponazarjajo operacije oziroma storitve, ki jih nudijo. Opisni jezik WSD1. specificira podatke, kot so podatkovni tipi, sporočila, operacije, povezave, vrata in tipi vrat ter same storitve, ne vključuje pa poslovnega vidika, vpogleda v vsebino storitev, načina uporabe, vrste sodelovanja ter podrobnosti o obnašanju in vlogah spletne storitve v kompleksnejših sodelovanjih [15p Ključni gradnik jo tudi register UDDI, v katerem ponudniki registrirajo spletne storitve in omogočijo, da jih odjemalci najdejo in uporabijo. Odjemalec si pridobi WSDL in oblikuje posrednika, ki naredi storitev lokacijsko neodvisno. Za povpraševanje po UDDI se uporablja protokol SOAP, omogočeno pa je povpraševanje po imenih (bele strani), tipu storitve (rumene strani) in načinu, na katerega bi želeli opravljati elektronsko poslovanje (zelene strani). 2.1 Tehnologije za opisovanje poslovnih procesov Spletne storitve pa samostojno ne zagotavljajo ustrezne poslovne logike, ki jo pričakujemo od elektronskega poslovanja. Zato so vse bolj pomembne tehnologije, ki omogočajo sestavljanje in združevanje spletnih storitev v ustrezne scenarije oziroma v poslovne procese. Njihova bistvena naloga je vpeljevanje poslovne logike v skupino ločenih spletnih storitev, ki zagotavljajo ločeno funkcionalnost. Slika 1 prikazuje nabor tehnologij za opisovanje poslovnih procesov [14], Trenutno aktualne so štiri tehnologije; ebXML (electronic business XML), BPEL (Business Process Execution Language), BPMI (Business Process Management Initiative) in WSCI (Web Service Choreography Interface), ki so prikazane po arhitekturnih nivojih gradnje elektronskih procesov, poudarek pa je na orkestraciji in koreografiji javnih 1er privatnih poslovnih procesov. Vodoravna os predstavlja omenjene tehnologije, ki podpirajo različna podjetja oziroma organizacije. Navpična os predstavlja nivoje elektronskega poslovanja, od zahtev pO izmenjavi podatkov, varnosti, opisovanja storitev, objavljanja in iskanja poslovnih procesov pa vse do koreografije in orkestracije spletnih storitev ter sklepanja raznih dogovorov in pogodb med podjetji. Predstavljene tehnologije izpolnjujejo različne zahteve elektronskega poslovanja, vse pa temeljijo na spletnih storitvah. 1/ slike je razvidno, da so tehnologije BPEL, BPMI in WSCI zasnovane na osnovnem naboru tehnologij spletnih storitev, kar vključuje SOAP, WSDL, UDDI in WS Security. Naslanjajo se tudi na koordinacijo spletnih storitev (WS Coordination) in transakcijo spletnih storitev (WS Transaction), ki naslavljata koordinacijo in transakcijsko integriteto. Tehnologija ebXML pa 122 u e o R Í s h A INFORMATIKA 2Q0Í - ilevilka 3 - lotnik Xil Maja Pušnik, Maljai 0. Jurič, Marjan Heričko. Boiljan Šumak: Pomen spletnih storitev in izvajalnega jezika poslovnih procesov BPEL pri orkestradji elektronskega poslovanja - jI Pogodbe in dogovori CPA (C ol I a bo ra Ii on Protocol Aqreement) Orkestracija in koreografija javnih in privatnih poslovnih procesov BPSS (Business Process Specification Schema ) BPEL (Business Process Execution Language ) BPML (Business Proses Modelling Language) BPMN (Business Proses Markup Notation) WSCI (Web Service Choreography Interface ) Transakcijo in koordinacija WS Transactions in WS Coordination Odkrivanje poslovnih proccsov RR (Registry and Repository) BPQL (Business Process Query Language) UDD! (Universal Description. Discovery and Integration) Opisovanje storitev CPP (Collaboration Protocol Profite) WSDL (Web Services Description Language ) Varnost WS Security {Web Services Security) Sporočanje M SS (Messaging Service Specification) SOAP (Simple Object Access Protocol) Tehnologija ebXML (electronic business XML) BPEL4WS (Business Process Execution Language) BPMI (Business Process Management Initiative) WSCI (Web Service Choreography Interface) -> Podpora v industriji OASiS. UN/CEFACT IBM.BEA. Microsoft BPMI, Intalio, SAP... BEA, Intalio, SAP AG, Sun Microsystems Sliks 1 Tehnologije ia opisovanje poslovnih procesov dodaja lastne specifikacije, ki naštete standarde dopolnjujejo. Za prenos sporočil in dokumentov uporablja ebXML Messaging Service Specification (MSS), ki dopolnjuje SOAP s priponkami in omogoča dodatne storitve pri prenosu sporočil, kar povečuje kakovost storitev. Registre UDD1 nadgrajuje ebXML Kegistrv and Rep osi to ry (RR), ki omogoča hranjenje bogatejše vsebine od UDDI. Slednje olajša iskanje povezav med partnerji. Tehnologija ebXML vpeljuje tudi nekaj specifičnih konstruktov, ki jih v drugih tehnologijah ne najdemo. To so profili podjetij (Collaboration Protocol Profile-CPP) in pogodbe med podjetji (Collaboration Protocol Agreement - CPA) ter komponente jedra, s katerimi oblikujemo standardne poslovne dokumente (Core Components — CC). Za opis poslovnih procesov ebXML ponuja BPSS - Business Process Specification Schema [18j. Tehnologije BPEL, BPMI, WSCI in BPSS tako nudijo načine za opis poslovnih procesov, predstavljenih prek spletnih storitev, uporabljamo pa jih za potrebe elektronskega poslovanja ali pa so zgolj integracije med informacijskimi sistemi. Ker na tem področju še ni bil dosežen konsenz, je smiselno pregledati Še ozadje. BPEL je bil oblikovan na pobudo podjetij Microsoft in IBM, in sicer kot združitev obstoječih jezikov XLANG in WSFL (Web Service Flow Language). Podpira ga industrija, vključen pa je tudi v organizacijo ÜASIS. BPSS (del ebXML) nastaja pod okriljem OASIS in UN/CEFACT in omogoča specifikacijo poslovnih procesov, da bi se ti implementirali ob uporabi ostalih tehnologij ebXML. Jezik BPML je del iniciative BPMI (Business Process Management Initiative), podprt od podjetij Intalio, Sterling, Sun in CSC in nudi široko podporo za Í004 jlevilka 3 - letnik XII > Procès 3 dinacije interakcij med sistemi in vmesnikov. Potrebo po popolni kompoziciji spletnih storitev rešujeta orkestracija in koreografija [12!. Obe tehniki se nanašata na kompozicijo spletnih storitev za gradnjo dinamičnih in fleksibilnih poslovnih procesov. Orkestracija definira interakcijo in procesni tok med spletnimi storitvami in poslovnim procesom. Koreografija pa definira tok izmenjave informacij med množico udeležencev, Orkestracija in koreografija sta med seboj povezani (H)]. Koreografija je sodelovalnega tipa in omogoča vključevanje vsem udeležencem. Sledi vrstnemu redu sporočil eksternih spletnih storitev [12], vključno s strankami, dobavitelji in partnerji. Koreografija je značilno povezana z javno izmenjavo sporočil, ki se izmenjajo med več spletnimi storitvami [12]. Slika 2 prikazuje skico koreografije poslovnih procesov, in sicer vključuje tri različne poslovne procese enega aii več podjetij, ki za izpolnitev poslovnih ciljev med seboj komunicirajo in si izmenjujejo sporočila, predvsem v obliki XML. Poslovni procesi ne razkrivajo svoje implementacije in poslovne logike, komunicirajo le na nivoju vmesnika, pri čemer sprejemajo in oddajajo različna sporočila. Orkestracija se nanaša na izvršilne poslovne procese, ki lahko sodelujejo z internimi in eksternimi spletnimi storitvami na nivoju sporočanja. Vključena je poslovna logika in vrstni red izvrševanja opravil. Orkestracija vključuje upravljanje transakcij med individualnimi storitvami, vključno s potrebnim obravnavanjem napak, kot tudi z opisovanjem splošnega procesa. Nanjo lahko gledamo kot na konstrukt med avtomatiziranim procesom in individualnimi storitvami, ki odrejajo korake v procesu. Pomeni kontrolo s perspektive enega udeleženca. Slika 3 prikazuje skico orkestracije poslovnih procesov [101, kjer je najpo- < corkestracijski strsinik>> J- 1, < < poslovni proces > > Proces 1 < > es 3 > Proces 2 Slika 5: Koreografija poslovnih procesov 124 UPOKIBH* INFORMATIKA Slika 3 Orkestracija postavnih procesov 2Q0i - številka 3 - letnik XIÎ Moja Pušnik. Matjaž B, Jurič. Marjan HenčHo. Boštjan ¡Sumak: Pomen spletnih stoHlev tn izvajalnega jezika poslovnih procesov SPEL pri arkestraciji: elektronskega poslovanja membnejši del orkestracijski strežnik, implementiran na strani izbranega podjetja. Orkestracijski strežnik določa potek izvajanja različnih poslovnih procesov, ki so lahko sestavljeni iz domaČih ali tujih spletnih storitev. Na podlagi poslovne logike odreja vrstni red, pogoje in obravnavanje izjem in napak. 3 Tehnologija BPEL Tehnologija BPEL združuje znanje tehnologij WSEL (Web Service Plow Language) in XLANG. Podprta je s spletnimi transakcijami in spletno koordinacijo. Vključena je v konzorcij OASIS, ki je v podporo omenjeni tehnologiji oblikoval tehnični komite VVSBPELTC (Web Services Business Process Execution Language Technical Committee), ki nadaljuje delo na specifikacijah BPEL ¡11 vključuje množico velikih podjetij [17|. Tehnologija BPEL igra pomembno vlogo pri orke-S t raciji in koreografiji spletnih storitev. Slika 4 prikazuje povezanost BPEL s sorodnima tehnologijama WSGI, BPML in ebXML BPSS ter njuno vlogo pri orke-st raci j i in koreografiji poslovnih procesov [17], Različne tehnologije zagotavljajo orkestracijo in koreografijo, BPEL pa opravlja oboje. Koreografija deluje s pomočjo abstraktnih procesov, orkestracija pa s pomočjo izvršilnih procesov. Razlika med abstraktnimi In izvršilnimi procesi in njihova vloga bo opisana v nadaljevanju [18]: - Abstraktni procesi pri tehnologiji BPEL predstavljajo javne procese, ki so vključeni v koreografijo poslovnih procesov in opisujejo način izmenjave sporočil med spletnimi storitvami in uporabniki. « Izvršilni procesi pri tehnologiji BPE3. predstavljajo privatne procese, ki so vključeni v orkestratájo poslovnih procesov in se nanašajo na privatno implementacijo spletnih storitev, pri čemer opisujejo in izvršujejo interakcije med spletnimi storitvami z.a oblikovanje sodelovalnih procesov ali dolgo trajajočih poslovnih transakcij. Slika 5 prikazuje potek oblikovanja elektronskih poslovnih procesov. Prične se z opisom poslovnega koreografija orkestracija BPÉL4WS (j t) f.l rak t ni wSCi proces) BPEL4WS (izvriiln ¡proces) BPML ebXMLBPSS procesa, izdelavo spletnih storitev in objavo le-teh v raznih registrih. Proces se nadaljuje z opisom poslovnega procesa z ustrezno tehnologijo (BPEL), objavo na strežniku in uporabo poslovnih procesov; Opis poslovnega procesa lahko vključuje več spletnih storitev, ki opravljajo različne operacije in se lahko združijo v enem poslovnem procesu. Tehnologija BPEL podpira Štiri tipe tokov, ki omogočajo dinamičen in fleksibilen pristop h gradnji poslovnih procesov [17]: ■ kontrolni tok predstavlja zaporedje korakov programa in vključuje obravnavanje napak in izjem, • sporočilni tok se izvaja z aktivnostmi prejemanja, odgovarjanja in proženja sporočil, vendar pri proženju brez obravnavanja napak in predvsem v javnih procesih, ■ podatkovni tok se izvaja, ko se informacije implicitno prenašajo med različnimi aktivnosti s pomočjo globalno vidnih podatkovnih zbiralnikov oziroma spremenljivk, • trfinsakcijski tok predstavlja podporo dolgo trajajočim poslovnim transakcijam s pomočjo obravnavanja napak in izvajanjem alternativnih korakov, vendar le znotraj privatnih procesov. Pri tehnologijah spletnih storitev je težko definirali sodelovanje in povezovanje izvršilnega procesa. Pri opisovanju poslovnih procesov v tehnologiji BPEL pa se osredinimo prav na sodelovanje in povezovanje. Uporabniki informacijskega sistema Razvijalci Informacijskih sistemov specifikacije poslovnega procesa t izvajanje avtontatidrnnega poslovnega procesa C ( C C Izdelava spletnih storitev modeliranje poslovnega procesa I orkeslracija poslovnega procesa I objava na strežniku za d (kastracijo poslovnih procesov 3 ) ) ijo^ Slika 4: BPEL, koreografija in orkestracija Sliko 5: Življenjski cikel BPEL procesa 2006 • številka 3 - loinik XII ji a h a NFORMATtKA 125 Maja Pušnik, Matjaž 0. Jurič. Marjan Heričkc, Elosljan Šumak: Ponirn spletnih storitev in izvajalnega jeiikoi poslovnih procesov BPEL pri orkestratiji elektronskega poslovanja 3.1 Primer orkestracije Poslovni proces, na katerem bo izveden primer, zajema komunikacijo med kupcem in dobaviteljem računalniške opreme. Informacijski sistem kupca izvede povpraševanje po cenikih in ponudbi strojne opreme. V svoje povpraševanje vključuje več podjetij. Ko informacijski sistemi dobaviteljev prejmejo zahtevo v obliki dokumenta XML, kupcu pošljejo v obliki dokumenta XML svojo ponudbo in ccnik. informacijski sistem kupca sestavi odločitveno tabelo, po kateri se posameznik odloči o najugodnejši ponudbi, lahko pa na podlagi lastnih vgrajenih odločitvenih modelov in poslovne inteligence informacijski sistem odloči samodejno in izbere najugodnejšega ponudnika. Informacijskemu sistemu izbranega podjetja se pošlje dokument naročila v obliki XM1„ le-ta jo potrdi in sestavi strojno opremo, ki jo tudi fizično dobavi kupcu. V podjetju se še izstavita dobavnica in račun v elektronski obliki, na primer v skladu e-slogom 111)]. Informacijski sistem kupca poravna račun po prejemu strojne opreme in dobavitelj plačilo preveri ter avtomatsko knjiži. Stika (•> prikazuje diagram aktivnosti opisanih korakov, ki vključuje komunikacijo med kupcem računalniške opreme in raznimi dobavitelji. Orkestracijo predstavlja implementacija poslovne logike na podlagi diagrama aktivnosti in orke- kupec računalniške opreme stracijski strežnik, ki odreja vrstni red, pogoje, način komuniciranja med njima, obravnavanje izjem in podobno. Primeri implementacije bodo predstavljeni v nadaljevanju, v poglavju o procesu BPEL (3.3). Več o orkestracijskih strežnikih najdete v poglavju 4. Preprost primer komunikacije bo v nadaljevanju predstavljen s spletnimi storitvami in poslovnim procesom, zapisanim s tehnologijo BPEL. 3.2 Spletne storitve in WSDl Aktivnosti povpraševanja po strojni opremi, pošiljanje ponudbe, pošiljanje predračuna in naročilnice, potrjevanje naročilnice in izstavi) dobavnice smo opisali kot spletne storitve. Njihova funkcionalnost vključuje osnovne funkcionalnosti zamišljenega poslovnega procesa, prikazanega s pomočjo diagrama aktivnosti (povpraševanje, pregled ponudb, sestava naročila ,,.). Na definirane funkcionalnosti se navezuje opis procesa v BPEL. V procesu so partnerji oblikovanj na podlagi svojih vlog, kjer tip vrat definira natanko en gradnik portType, Vloge so del opisa spletnih storitev WSDL, kjer predstavlja fip vrat abstraktno funkcionalnost z uporabo abstraktnih sporočil, sama vrata (port) pa dejanski dostop do informacij. Slika 7 prikazuje definicijo vlog partnerjev v tehnologiji WSDL J17). dobavitelj Slika 6: Diagram aktivnosti poslovnega procesa 126 UF001BN* INFORMATIKA 2006 - številka 3 ■ Letnik Xtl Maja Pušnik. Maljaž B. Jurič, Marjan Heričko, Boštjan Sumak Pomen spletnih storitev in izvajalnega jezika poslovnih procesov BPCL pri orkestraciji elektronskega poslovanja Imensko področje, ki se navezuje na definicijo vlog, je posebej prirejeno definiciji partnerjev in ga lahko najdemo v ažurnih specifikacijah BPEL 117|. 3.3 Proces BPEL Tehnologija BPEL temelji na opisu spletnih storitev WSDL. Vmesnik WSDL definira specifične operacije in tehnologija BPEL definira vrstni red operacij. Dodatno lahko tehnologija WSDL naslavlja eksterncstoritve, ki jih zahteva proces \\2\. Poslovni procesi so lahko izvršilni ali abstraktni [6]: ■ izvršilni proces zajema orkestracijo in modelira obnašanje udeležencev v specifični poslovni interakciji, predvsem v modeliranju privatnega delovnega toka, ■ abstraktni proces zajema koreografijo in s pomočjo poslovnega protokola specificira javno izmenjavo sporočil med udeleženci; poslovni protokoli niso izvršilni in ne spremljajo internih podrobnosti procesnega loka. Delovni tok BPEL. vključuje obravnavo objektov in je sestavljen iz raznih aktivnosti nad objekti. Avtomatizacija poslovnih procesov omogoča izmenjavo dokumentov, informacij in opravil med udeleženci. Komunikacija poteka na podlagi množice proceduralnih pravil. BPEL opisuje poslovne procese, pri čemer vključuje več spletnih storitev [ 18], Proces BPEL temelji na jeziku XML in se izvaja s pomočjo orkestracijskih strežnikov (npr. Collaxa, BPW84J, BizTalk, ChoreoServer, VC AH), ki prevzemajo vlogo ¡centralnega koordinatorja. Strežnik prebere dokument BPEL in kliče ustrezne spletne storitve v pravilnem vrstnem redu, kot ga definira sam proces na podlagi funkcionalnih specifikacij. Ta proces sc obravnava kot spletna storitev in se kot tak tudi kliče [ 17J. Proces v BPET- je sestavljen iz več komponent; iz definicije samega procesa, definicije udeleženih partnerjev in spremenljivk ter operacij, ki sestavljajo poslovni proces. Sam proces je definiran z ustreznimi imenskimi področji. Udeleženci poslovnega proccsa so v BPEL definirani tako, da definira atribut »myRole« vlogo poslovnega procesa in »partnerRole« vlogo partnerja, s katerim poteka izmenjava sporočil oziroma XMI. dokumentov. Komunikacija v poslovnem procesu poteka med dvema ali več partnerji, pri čemer se partner lahko pojavi v natanko eni definiciji vloge [17]. Slika 8 prikazuje primer definicije poslovnih partnerjev v poslovnem procesu BPEL. V tehnologiji BPEL ločimo med tremi tipi partnerjev [17]: » aktivni partnerji, ki s spletnimi storitvami prožijo proces, - klicani partnerji, katerih spletne storitve prožijo drugi procesi, • obojestranski partnerji, ki s spletnimi storitvami kličejo druge procese in so tudi sami klicani. V nadaljevanju se definirajo spremenljivke, potrebne za začasno shranjevanje podatkov, ki se izmenjujejo med partnerji znotraj procesa. Sledi zaporedje aktivnosti, ki specificirajo poslovni proces iz funkcionalnih specifikacij. BPEL vsebuje dva tipa aktivnosti [17]: ■ primitivne aktivnosti, ki so nizko nivojske in predstavljajo dejansko delo v procesu in - sirukturirane aktivnosti, ki so navodila višjega nivoja za pretok kontrol primitivnih aktivnosti. Definicija procesa je zgrajena iz aktivnosti, partnerjev in zbiralnikov s specifičnimi korelacijskimi množicami, definicije obravnavanja napak in še kaj. Aktivnost poslovnega proccsa je opisana in razgraje-

< ! — De Lin i c i j a v .log, r. s t-> n «maša jo na i ¡-nikdar; -.i ln o s L ap le L. ne § toz j. i_.v . - -> < ! - - De £ .1; retc L. j a -v r t, ki do % o bf o p p sira o i "j t; sple t. n<;, t, o:: i I: v e i n :-:>o ve z ana n-i sjstcezna SO/.:1 sporoči 1 a.- ->

Slika 1 l/sek ¡1 W5DL, ki jajema definicijo vlog - številka 3 - Letnik XII KfosABNA INFORMATIKA 127 Maja Pušnik. Mat]ai B Jurič. Marjan Heričko, Sošljan Šumak; Pomen spletnih storitev In izvajalnega Jenka poslovnih procesov BPEL pri orkestraciji elektronskega poslovanja <•-:• le " posredn i k " part n«%r^ole=" PonudnikStroj neOpreme" /> Slika 8 Definicija poslovnih partnerjev na z množiGO elementov. Slika 9 prikazuje osnovno zgradbo in potek aktivnosti, ki so sestavni deli poslovnega procesa. Proces jo skladen z diagramom aktivnosti. Sam proces BPEL je povezan z diagrami UML in orodje ETTK (The Emerging Technologies Toolkit) omogoča pretvorbo UMI. diagrama aktivnosti, oblikovanega v Rational Kose, v ustrezen dokument BPEL, kar dviguje nivo abstrakcije 119]. Pravilno sestavljen proces se postavi na izbranem strežniku, kjer ga lahko pregledujemo, nadzorujemo, upravljamo in spreminjamo [16]. Slika 9 sledi definiciji poslovnega procesa, definiciji partnerjev in spremenljivk. Operacije poslovnega procesa so pogosto vključene znotraj nekega zaporedja, definiranega s konstruktorjem . S pomočjo konstrukta poslovni proces kliče poljubno operacijo partnerja, ki je lahko enosmerna ali zahteva odgovor. S pomočjo konstrukta poslovni proces čaka na ustrezno sporočilo. S kons traktom se omogoča pošiljanje sporočil kot odgovor prejetemu sporočilu z . Vsi našteti konstrukti vsebujejo več atributov, kjer se med drugim definira ime operacij. Definirajo se partnerji, ki operacije prožijo (partnerLink) in lokacija opisa poslovne operacije v WSDL (portType) z imenskim področjem. Imensko področje poslovne operacije kaže na ustrezno spletno storitev. V sklopu atributov je äe vključeno ime sprožene operacije, zapisane v WSDL (operation), in ime ustreznih spremenljivk, tako vhodnih ali izhodnih, ki predstavljajo XML dokumente. Omogočeno je tudi hkratno proženje več operacij s pomočjo konstrukta in spreminjanje vrednosti XML dokumentov. ki potujejo med partnerji. Operacij in možnosti je več, kot je prikazano na primeru, vključno z obravnavanjem pogojev, napak in izjem. Zapis procesa BPEL je enostaven XML dokument s specifičnimi lastnostmi, določenimi v zadnji aktualni specifikaciji XML 1.0 [17] in specifikaciji BPEL4WS 1.1 117], Pomembna je določitev imenskih področij, kjer definiramo povezave z vsebino spletnih storitev. Ker je lahko preprost poslovni proces sestavljen iz več spletnih storitev, je opisov le-teh lahko več. Tehnologija BPEL je neodvisna od platforme in zato primerna za vse informacijske sisteme. Primarni mehanizem tehnologije BPEL je izmenjava asinhronih sporočil [17]. Zapisovanje aktivnosti je proceduralno in slabost dokumentov XML je njihova nepreglednost ter kompleksnost. Rešitev prihaja v obliki raznih vizualnih urejevalnikov za oblikovanje poslovnih procesov. Primer je definicija procesa BPEL na strežniku Collaxa z orodjem »BPEL Designer«, ki omogoča grafično oblikovanje BPEL procesov [17]. S pomočjo ustreznega strežnika je omogočen nadzor nad procesom in povezavo različnih procesov med seboj. 3.4 Podpora gradnji poslovnih procesov Vsi poslovni procesi in dokumenti so zapisani s tehnologijo XML. Da bi vladal red in da bi lahko različna podjetja med seboj uspešno komunicirala in avtomatsko pretvarjala potrebne informacije na podlagi specifičnih potreb, potrebujejo podjetja dobro zasnovane sheme. Pomembne so razlike med podjetji in prednosti, ki jih prinašajo sheme. Lahko se uporabljajo tudi združeno, kar koristi predvsem podjetjem, ki so 128 uporabna informatika 2004 - številka 3 - letnik XII M:ija Pučnik, Matja; B Junč. Marjan H en ¿ko. Boštjan Šumak Pomen spletnih storitev in Izvajalnega jezika poslovnih procesov BPEL pri orkestraeiji elektronskega poslovanja , < i ft v o k a > ¡1 - — > <1-- 1. Knpoc poš. j-a zahtevo, da Soli prosit: ponudbo, ki vklfjüíuje aef iíü'l c I j c i tveruv a Jets .i. wíips r. i, inv« i zv s j | j o če ga p« t Í ifi or j &, ope raci 3 e spi o t ne storitve, ha katero se in spremonI j ivkf. —> e-"posi i jan jePonudbeStrojneOpreme" pa ro rt«t !.. in k« "ponudnik" pori T y pe =■1 'mp: p o s r edovanj eSt r o j ne Op reme " Qp!..r i 0:1= "mp: pošiljanj «Ponudbe " .í.npi;:..Vai: iabl e= "podatki Zahteve" .-_p_l. Variable " poda t k i Ponudbe " crcat o i r.staflpo=n yes"/> -ít— 3. Kupec izbere artikle, ki jih želi jprsjer.i—> creply name "posil]anjeNarocilaStrojneOpreme" pa 11 :^iLir;k="kupec" por v ?ypc="rnp ¡povpraševanj ePoS troj niOpremi" opera t i.on="mp:pó'sil jan jeNarocilnice" v«r i abI^»"podatkiNarocilnice" creatélr.st£inctí "yes"/> .—> < 1 __ 4 , poudnisa v naroói Inico — > . <\~~6. ponudnik preveri plačilo in zaključi —> Slika 9 Primer procesa BP£L 200Í - številka 3 - letnik XII upohaoha INFORMATIKA 129 Maja PuŠnik. Matjaž 0. Jurič. Marjan Haričko. Boštjan Šumak: Pomen spletnih storitev in izvajalnega jezika poslovnih protesov SPEL pri orkeslraciji elektronskega poslovanja ^receive !;;:):vi!:i="preverjari je Po t rdi iaRacuna" part ne' ink "ponudnik" por t .Type!~"mp: posredovan j eSt.ro j r^eOpreme " oper ition«= "prever j ari j eRacuna " inpjt/Vari3b:U:=,,podatkiRacuna,,/> cinvoke name -"knj izcn je" partnerLink="ponudnik" por t T ype>-"mp: posredovan j eStroj neOpreme" op:-r:< 1: i on "mp: knj i zenje" i ipui V : i ab; e " poda t. k : Ra cura" oviputVari -Ü) lö»=" seznamZakl j učenih "> Slika 9: Primer procesa BPEL - nadaljevanje veliko vložila v razvoj DTD in uporabo entitet, ne da bi uporabo tovrstnih poslovnih procesov, nadzor nad bila prikrajšana za prednosti, ki jih prinašajo sheme njimi in upravljanje le-teh [16]. Najbolj razširjeni med [19j, kot so podatkovni lipi, pestra kardinalnost in še njimi so Collaxa BPEL Server 2.0, BPWS4J (Business kaj. Shemo lahko oblikujemo na več načinov: Process Execution Language for Web Services Java ■ lahko jo zgradimo od začetka. Run Time), BizTalk Server 2004, ChoreoServer in • lahko jo oblikujemo iz obstoječega XML doku- VCAB (The Vergil Composite Application Builder menla, Suite). ■ pretvorimo obstoječi DTD (z orodji Pearl script DTD2Schema, TIBCO TurboXML). 5 SKLEP V prispevku smo predstavili vlogo in pomen spletnih 4 Qrkestracijskí Strežniki storitev in orkestracije ter koreografije poslovnih proZa izvrševanje procesov BPEL, npr. njihovo orke- cesov pri razvoju informacijskih rešitev za elektronsko stracijo in koreografijo, potrebujemo ustrezne strežnike poslovanje. Analizirali smo obstoječe tehnologije za 110]. S pomočjo primernega orkest raci jskega strežnika podporo višjenivojskih funkcionalnosti: BPEL, WSCI, tehnologija omogoča nadzor nad spletnimi storitvami BPML in ebXML ter jih med seboj primerjali. Osredi-in poslovnimi procesi, integracijo asinhronih storitev, nílt smo se na tehnologijo BPEL, ki omogoča deklar-enostavno proženje oddaljenih spletnih storitev, pre- ativno orkestracijo in koreografijo spletnih storitev ter jemanje asinhronih odgovorov in koordinacijo več- enostaven in hiter razvoj specifikacij glede na dinami-slopenjskih poslovnih procesov. ko poslovnih procesov, zato je primerna tudi za Kljub temu, da je tehnologija BPEL še mlada, seže manjša in srednje velika podjetja. V prispevku smo uveljavlja v industriji. Podporni strežniki omogočajo preučili osnovno zgradbo BPEL in identificirali 130 o > o fi i e * a informatika 200¿ -Številka 3 • IcInikXII Maja Pušnik, Matjaž D Jurii. Marjan Hcričko, Bušl|an Šumak: Pomen spletnih storitev in izvajalnega jeiika poslovnih procesov BFEL pri orkestraciji elektronskega poslovanja poglavitne gradnike, potrebne pri orkestraciji poslovnih procesov. Pregledali smo tudi najpomembnejše strežnike in orodja, ki podpirajo BPEL in procese obravnavajo kot napredne spletne storitve. Pomen spletnih storitev in tehnologije LiPEL smo predstavili s pomočjo enostavnega primera poslovnega procesa, kjer smo avtomatizirali izmenjavo dokumentov, vpeljali Odločitveni model, ki brez človeškega posredovanja zaključi del poslovnega procesa. Razložili smo pomen orkestracije in koreografije poslovnih procesov. Poudarili smo, da se podjetja z že implementiranimi spletnimi storitvami lahko s pomočjo tehnologije BPEL in ustreznega orkestra-cijskega strežnika enostavno povežejo glede na svojo poslovno logiko. Ponovno lahko uporabijo že uveljavljene aplikacije, avtomatizirajo lahko javne in privatne procese ter nadzorujejo njihovo izvajanje. S tem svoje poslovanje približajo elektronskemu trgu, povečajo hitrost in učinkovitost ter eliminirajo možnost napak. Razvoj informacijske podpore za elektronsko poslovanje vedno bolj temelji na uporabi XM1. in spletnih storitev. S tem ko razvijamo informacijsko podporo za zaplelenejse scenarije elektronskega poslovanja, se kaže potreba po tehnologijah za orke-stradjo in koreografijo poslovnih procesov, izpostavljenih prek spletnih storitev. Tehnologija BPEL, ki se razvija pod okriljem organizacije OASIS, je trenutno najbolj obetavna tehnologija na omenjenem področju in vsekakor vredna pozornosti informacijskih oddelkov v podjetjih, ki razvijajo e-rešilve. UIRi IN LITERATURA [1] Alp fia Works. What is BPWS4J? IBM 2002, h t tp ://xm I. cover page s .or$. [2) Andrews. T., Curbera, F., Dholakia, H., Goland, Y.. Specification: Business Process Execution Language for Web Services Version 1.1. IBM. Maj 2003, h tt p ://www-106, i bm. co m/devel ope rwo rks/webse rvi ces. (3} Austin, 0., Bartjir. A„ Peters, Ross-Ta I tot, S. Web Services Choreography Requirements 1.0. W3C, 12. 8. 2003, http://www.w3.org/. [4] EAN Slovenlja, e-Slog, Gospodarska zbomica Sloven ¡je. [5] Geer, D. Taking Steps to Secure Web Services. Computer, Oktober 2003. str. 14, [6| June. M. B., S. Basha. J,. Leander, R,. Nagappan, R. Professional J2EE EAI, Wrox Press. December, 2001. [7) JuriÈ, M. B, Zakaj spletne storitve niso zgolj nov komponentni model. Objektna tehnologija v Sloveniji 2002, str, 1-11. [8| Khodabakchian, Sherman, 0. Collaxa's BPEL4WS 101 Tutorial, Collaxa 2003. www.collaxa.com. [9] Maniell, K. From UML to BPEL. Model Driven Architecture in a Web services world. IBM 2003. www.omg.org. [10] McDonald, C. Orchestration, Choreography, and Collaboration. Sun Microsystems 2003, http://webiogs.java.net. [11] Open S tor m Software. CboreoServer Web Service Orchestration. 2003 http://www.openstonn.com/. [12] Peltz, C. Web Services Orchestration and Choreography. Computer, Oktober 2003. str. 46. [13] Pusnik, M., Jurii, M. B., Heriiko. M., Sumak, 0. Electronic business framework evaluation. IS 2003, 2003, str. 178 -181. [14] Puânik, M., Jurii, M. Heriiko, M., Sumak B,, Ftozman, I. Business process, orchestration and eBusiness. Sixteenth Bled eCommerce Conference. Bled. 2003. str. 160 171. [15] Turner. M.. Budgen. D.. Brereton, R Turning Software into a Service, Computer. Oktoher 2003, str. 38, [16] Vergil. VCAB - The Vergil Composite Application Builder Suite. 2003, http://www.vergiltecb.com. [17] W3C Architecture domain. Extensible Markup Language, W3C. Avgust 2003, www.w3.org/XMU. [18] Wang, T., Doffoel, R Workflow of BPEL4WS. 2003, www. f okus ,gn id. de/re sea rch. [19] Watson, G. Using XML Schémas and DTDs Together. XMI -Journal, 2003, www.sswug.org/see/16 730. Moja Pušnik ¡h diplomirala Ifita 2QQ6 na Fakulteti za elektrotehniko, računalništvo in informatiko Univerze v Mariboru. Je študentka magistrskega študij na omenjeni fakulteti in je zaposlena kot asistentka za področje informatike. Pri raziskovalnem delu se ukvarja predvsem z elektronskim poslovanjem, tehnologijo XML, BPEL4W5, WSCi, BPML. ebXML in spletnimi storitvami Je avtorica več strokovnih prispevkov na domačih in tujih konferencah, svoje članke pa je objavila tudi v znanstveni reviji Informatica. ■ Matjaž B JuriS je docent na Inštitutu za informatiko Fakultete za elektrotehniko, računalništvo in infnrmatiko Univerze v Mariboru, kjer je diplomiral leta 1996, doktoriral pa leto 1909. Njegovo raziskovalno-razvojno delo obsega vse vidike objektne tehnologije s posebnim poudarkom na komponentnem razvoju programske opreme, distribuiranih objektnih sistemih, integraciji aplikacij in zmogljivostih Je avtor in soavtor več knjig, avtor več znanstvenih člankov, recenzent za založbo John Wiley & Sons in za nekatere tuje revije. KuL vabl|eni predavatelj, organizator vabljenih sekcij iit avtor prispevkov sodeluje na mednarodnih in domačih konferencah ter v strokovnih in znanstvenih revijah. ■ Marjan Heriiko je na področju računalništva in informatike diplomiral leta 1989, leta 1993 magistriral in leLa 1998 doktoriral na Univerzi v Mariboru. Na Fakulteti za elektrotehniko, računalništvo in informatiko v Mariboru je zaposlen na Inštitutu za informatiko kot izredni profesor za področje informatike, Njegovo raziskovatno-razvojno delo vključuje vse vidike objektne tehnologije in komponentnega razvoja, s poudarkom na Javi. objektnem modeliranju in sodobnih procesih razvoja. Bil je pobudnik ustanovitve Centra za objektno tehnologijo, v sklopu katerega deluje v vlogi tehničnega koordinatorja aktivnosti. Kot svetovalec in izvajalec izobraževalnih aktivnosti na temo Jave. objektnega in komponentnega razvoja sodeluje pri več industrijskih projektih. Je vodja programskega in organizacijskega odbora konferenc OTS Objektna tehnologija v Sloveniji, ■ Boštian Sumak |e diplomiral leta 2002 na Fakulteti za elektrotehniko, računalništvo in informatiko Univerze v Mariboru, kjer je vpisan na podiplomski študij. Zaposlen je kot asistent na Inštitutu za informatiko in se med drugim ukvarja z integracijo in avtomatizacijo poslovnih procesov s pomot jo povezovalnih strežnikov, spletnimi storitvami, razvojem aplikacij, te h nn log i jo XML in arhitekturo portalnlh rešitev. Je avtor več strokovnih prispevkov na domačih in tojih konferencah. 200£ - številke 3 letnik XIJ iphiiti informatika 131