GUI pro orchestraci GeoWebov´ ych sluˇ zeb Frantiˇ sek Kl´ımek Institute of Geoinformatics, VSB-TU of Ostrava
[email protected] Kl´ıˇ cov´ a slova: GeoWeb, geoinformatika, webov´e sluˇzby, orchestrace, BPEL, GUI
Abstrakt Souˇc´ ast´ı v´yzkumn´eho projektu Orchestrace sluˇzeb pro GeoWeb” GA 205/07/0797 ˇreˇsen´eho ˇ” na Institutu geoinformatiky VSB-TU Ostrava, zab´yvaj´ıc´ıho se moˇznost´ı orchestrace webov´ych sluˇzeb z oblasti GIS a ovˇeˇren´ım praktick´ych moˇznost´ı dostupn´ych jazyk˚ u pro popis a pl´ anov´ an´ı obchodn´ıch proces˚ u je i ˇca ´st zab´yvaj´ıc´ı se n´ avrhem grafick´eho uˇzivatelsk´eho rozhran´ı, kter´e by umoˇzn ˇovalo uˇzivatel˚ um na r˚ uzn´ych u ´rovn´ıch funkcionality pracovat s tˇemito orchestry sluˇzeb. Jak´ a je m´ıra funkcionality, kterou jednotliv´ı uˇzivatel´e poˇzaduj´ı? M´ a jim b´yt umoˇznˇeno vyhled´ avat orchestry, spouˇstˇet je, parametrizovat, upravovat, ˇci dokonce navrhovat? Na tyto ot´ azky se snaˇz´ı odpovˇedˇet n´ asleduj´ıc´ı ˇr´ adky, ve kter´ych jsou shrnuty z´ akladn´ı u ´daje o orchestraci v oblasti GeoWebu, anal´yza a popis charakteristik jednotliv´ych uˇzivatel˚ u i n´ avrh samotn´eho grafick´eho rozhran´ı koncov´eho uˇzivatele a popis komponent, kter´e by mˇel b´yt v tomto rozhran´ı pro pr´ aci s orchestry k dispozici.
´ Uvod Webov´e sluˇzby se neodvratnˇe st´ avaj´ı souˇc´ast´ı vˇetˇsiny informaˇcn´ıch syst´em˚ u. S rostouc´ım poˇctem volnˇe dostupn´ ych i komerˇcn´ıch sluˇzeb se nab´ız´ı moˇznosti jejich vz´ajemn´eho propojov´an´ı do funkˇcn´ıch celk˚ u. Pouh´ ym statick´ ym spojov´an´ım sluˇzeb nejsme schopni vyuˇz´ıt jejich potenci´al, natoˇz potenci´ al servisnˇe orientovan´e architektury (SOA), kter´a pˇritahuje z´ajem vˇsech oblast´ı IT pr˚ umyslu a rychle pronik´a do hlavn´ıch chod˚ u aplikac´ı z´asadn´ıch pro plnˇen´ı obchodn´ıch operac´ı. Proto je zapotˇreb´ı zaˇc´ıt sluˇzby ˇretˇezit dynamicky, tzn. spojovat je dle aktu´aln´ıch potˇreb, moˇznost´ı uˇzivatele (stav pˇripojen´ı, finance, poˇzadovan´a pˇresnost v´ ysledk˚ u, rychlost odezvy, ap.). V souˇcasnosti se mluv´ı o dvou zp˚ usobech ˇretˇezen´ı webov´ ych sluˇzeb, zn´am´ ych jako orchestrace a choreografie [PRAM]. Orchestrace Standardn´ı technologie jako napˇr. WSDL (Web Service Description Language), SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discovery and Integration) pracuj´ıc´ı s webov´ ymi sluˇzbami n´ am poskytuj´ı prostˇredky pro jejich jednotliv´ y popis, lokalizaci Geinformatics FCE CTU 2008
109
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb a spouˇstˇen´ı. I kdyˇz webov´ a sluˇzba m˚ uˇze poskytovat mnoho metod, kaˇzd´ y WSDL soubor popisuje doslova atomick´e (na n´ızk´e u ´rovni) funkce. Co n´am vˇsak tyto z´akladn´ı technologie neposkytuj´ı, jsou d˚ uleˇzit´e detaily, kter´e popisuji chov´an´ı sluˇzby jako souˇc´ast vˇetˇs´ı, v´ıce komplexn´ı spolupr´ ace. Kdyˇz se jedn´a o spolupr´aci, kter´a je kolekc´ı aktivit (metod, sluˇzeb) navrˇzen´ ych tak, aby u ´spˇeˇsnˇe plnila dan´ y business c´ıl, jedn´a se o tzv. business proces. A pr´avˇe popis kolekc´ı aktivit, kter´ y tento business proces vytv´aˇr´ı je naz´ yv´an orchestrace [PRAM]. V r´amci projektu probˇehla anal´ yza nˇekolika, pro orchestraci bˇeˇznˇe pouˇz´ıvan´ ych jazyk˚ u a po t´eto anal´ yze byl pro potˇreby orchestrace v prostˇred´ı GeoWebu shled´an jako vyhovuj´ıc´ı jazyk, jazyk BPEL. Hlavn´ı funkc´ı BPEL je orchestrace webov´ ych sluˇzeb, tedy ˇr´ızen´ı souhry funkcionality, kterou nab´ız´ı ”backend” ˇc´ast syst´emu, ˇci v´ıce syst´em˚ u. Tato funkcionalita je dekomponov´ ana do operac´ı, jeˇz je moˇzn´e volat pˇres webovou sluˇzbu. Na druh´e stranˇe BPEL s´am stoj´ı za webovou sluˇzbou, kter´ a definuje jeho rozhran´ı, tj. vstupn´ı operace. Pro kaˇzd´ y vstup do procesu (v BPMN objekt Start / Intermediate MessageEvent) je tedy ve webov´e sluˇzbˇe, kter´a popisuje rozhran´ı BPELu, jedna operace. Vstupy procesu vˇsak nemus´ı b´ yt v´ yhradnˇe na zaˇc´atku, asynchronn´ı procesy mohou m´ıt vstupy na r˚ uzn´ ych m´ıstech. D´a se tedy ˇr´ıci, ˇze BPEL implementuje webovou sluˇzbu. Pˇritom aplikace, kter´a webovou sluˇzbu pouˇz´ıv´a, nev´ı, zda se za n´ı skr´ yv´ a proces, ˇci zda je implementov´ana napˇr. EJB modulem. BPEL je rovnˇeˇz nez´avisl´ y na platformˇe, implementace pro nˇej existuj´ı na platformˇe Java EE, .NET a jin´ ych platform´ach. Proces implementovan´ y v jazyce BPEL pomoc´ı jednoho n´astroje by tak´e mˇelo b´ yt moˇzn´e pˇren´est a spustit v n´ astroji jin´em. Nˇekteˇr´ı v´ yrobci byznys proces management syst´emu (BPMS) ale pouˇz´ıvaj´ı sv´ a vlastn´ı rozˇs´ıˇren´ı jazyka BPEL, kter´a tuto pˇrenositelnost znemoˇzn ˇuj´ı [TBPEL].
Architektura navrˇ zen´ eho syst´ emu Jedn´ım z hlavn´ıch c´ıl˚ u grantov´eho projektu je stanovit metodiku a popsat architekturu, jak by mohl cel´ y komponovan´ y syst´em zahrnuj´ıc´ı sluˇzby v r˚ uznorod´ ych form´ach, orchestry, katalogy atd., vypadat a spolupracovat. Pro n´avrh grafick´eho uˇzivatelsk´eho rozhran´ı je samozˇrejmˇe nutn´e tuto architekturu alespoˇ n v z´akladn´ı rovinˇe zn´at a vˇedˇet, kde do t´eto architektury komponenta grafick´eho rozhran´ı vstupuje. V n´asleduj´ıc´ıch nˇekolika ˇr´adc´ıch je tedy pops´ana architektura syst´emu, dle v´ yzkumn´eho projektu, v jej´ı aktu´aln´ı podobˇe. Do ukonˇcen´ı projektu lze pˇredpokl´ adat jeˇstˇe jej´ı dalˇs´ı moˇzn´e zmˇeny, nemˇely by vˇsak b´ yt nikterak dramatick´e. Nemˇelo by tedy doj´ıt k ˇz´ adn´e pˇrevratn´e zmˇenˇenˇe konceptu grafick´eho rozhran´ı. J´adrem orchestrace je registr sluˇzeb, kter´ y poskytuje mechanizmy pro registrov´an´ı, kategorizov´ani a hlavnˇe vyhled´ av´ an´ı webov´ ych sluˇzeb v re´aln´em ˇcase. Pokud uˇzivatel potˇrebuje vyuˇz´ıt nˇejakou specifickou sluˇzbu, prohled´a dan´ y registr. Tam z´ısk´a jej´ı popis a m˚ uˇze ji zaˇc´ıt pouˇz´ıvat. Registr je vˇsak zamˇeˇren nejen na sluˇzby, ale i na procesy, kter´e sv´ ym rozhran´ım v podstatˇe sluˇzb´ am odpov´ıdaj´ı a obsahuje i rozhran´ı umoˇzn ˇuj´ıc´ı vyhled´av´an´ı sluˇzeb dle popisu, parametr˚ u, kl´ıˇcov´ ych slov, podle v´ ykonnostn´ıch metrik, typu atd. Pr´avˇe k tomuto registru, ˇci sadˇe registr˚ u spojen´ ych a potenci´alnˇe i vz´ajemnˇe spolupracuj´ıc´ıch se pˇripojuje uˇzivatel prostˇrednictv´ım sv´eho grafick´eho uˇzivatelsk´eho rozhran´ı (GUI) a vyhled´av´a potˇrebn´e sluˇzby, ˇci procesy. Hlavn´ım poˇzadavkem GUI aplikace je tedy moˇznost komunikace s registrem sluˇzeb a formulace poˇzadavk˚ u uˇzivatele v jemu srozumiteln´e podobˇe a n´asledn´a vizualizace odpovˇed´ı registru opˇet v uˇzivatelsk´ y pˇr´ıvˇetiv´e formˇe. Cel´a architektura je zn´azornˇen´a na obr. 1, kde jsou zobrazeny jej´ı jednotliv´e komponenty. Geinformatics FCE CTU 2008
110
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Obr. 1: Jednotliv´e komponenty navrˇzen´eho syst´emu Service 1..n Adapter Monitoring Service register BPEL Procesor GUI
GUI Jedn´ım z v´ ystup˚ u zmiˇ novan´eho grantov´eho projektu m´a b´ yt i grafick´e uˇzivatelsk´e rozhran´ı (GUI, z Angl. Graphical User Interface). Rozhran´ı m´a umoˇzn ˇovat pr´aci s orchestry. P˚ uvodn´ı pl´an byl, aby v n´ı ˇsly orchestry i vytv´aˇret, toto se vˇsak zd´a jako nevhodn´e (viz. d´ale v textu). K tomuto u ´kolu je vhodnˇejˇs´ı vyuˇz´ıt extern´ı aplikaci. GUI by tedy mˇelo umˇet ”jen” vizualizovat orchestr s aktu´ aln´ımi instancemi sluˇzeb a dovolit uˇzivateli zvolit jin´e instance sluˇzeb (pomoc´ı vyhled´ an´ı v registru a umoˇznit tak uˇzivateli optimalizovat orchestr dle jeho individu´aln´ıch poˇzadavk˚ u). Syst´em by mohl ˇreˇsit i potˇreby uˇzivatel˚ u, alespoˇ n s vyuˇzit´ım z´akladn´ı sady parametr˚ u profilu uˇzivatele. Tj. mˇel by b´ yt definov´an kontext uˇzivatele a podle nˇej ve znalostech nalezen adekv´ atn´ı orchestr (resp. jeho instance). Takto navrˇzen´e a popsan´e GUI by mˇelo n´aslednˇe b´ yt implementov´ano napˇr. jako plugin do nˇekter´e z desktop GIS aplikac´ı (jako vhodn´a aplikace se jev´ı OpenJump [OJ]), nebo pˇr´ıstupn´e jako webov´ a aplikace, coˇz se takt´eˇz jev´ı jako velmi vhodn´a varianta vzhledem k moˇzn´emu dopadu na velk´e mnoˇzstv´ı potenci´ aln´ıch uˇzivatel˚ u. Druh´a zmiˇ novan´a varianta by mohla b´ yt reprezentov´ana napˇr. implementac´ı spoleˇcnˇe s OpenLayers [OL], coˇz je JavaScriptov´a knihovna umoˇzn ˇuj´ıc´ı zobrazovat mapy v prohl´ıˇzeˇci bez z´avislosti na serverov´e ˇc´asti.
Uˇ zivatel´ e Pokud je poˇzadavkem navrˇzen´ı GUI, s kvalitn´ım, srozumiteln´ ym a intuitivn´ım ovl´ad´an´ım, je tˇreba netradiˇcnˇe zaˇc´ıt od stˇredu – tj. od U. GUI je pˇredevˇs´ım navrhov´ano pro uˇzivatele, Geinformatics FCE CTU 2008
111
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb je tedy nutnost vyj´ıt z anal´ yzy uˇzivatel˚ u, kteˇr´ı budou k procesu pˇristupovat a analyzovat takt´eˇz jejich potˇreby. Zajist´e kaˇzd´ y z nich bude m´ıt jin´e pˇredstavy a poˇzadavky jak by mˇelo GUI vypadat, jakou m´ıru detail˚ u o dan´em procesu m´a poskytovat a co vˇse m´a umoˇzn ˇovat. Nejdˇr´ıve je tedy potˇreba pod´ıvat se na role a uˇzivatele, kteˇr´ı k procesu pˇristupuj´ı. Pˇri pohledu na nˇekter´e zdroje informac´ı o tomto t´ematu, napˇr. [UBPM], [RBPM], [TILSOA], nebo [BOSSOA] lze nal´ezt velk´e mnoˇzstv´ı r˚ uznorod´ ych rol´ı, kter´e jsou v´ıce, ˇci m´enˇe nezbytn´e pro spr´ avn´e navrhov´ an´ı a u ´drˇzbu proces˚ u postaven´ ych na t´eto architektuˇre. Pro pˇr´ıklad jen jmenujme nˇekter´e z nich (bliˇzˇs´ı popis jednotliv´ ych rol´ı a jejich kompetenc´ı lze nal´ezt ve zmiˇ novan´ ych zdroj´ıch): Vlastn´ık procesu Vrcholov´ y (strategick´ y, TOP) t´ ym, nebo manaˇzer Liniov´ y manaˇzer Anim´ ator BPM IT specialista Business konzultant Architekt BMS Procesn´ı t´ ymy Agent inovace Centrum inovace Z´ akazn´ık procesu
Toto dˇelen´ı vych´ az´ı z prostˇred´ı enterprise aplikac´ı a firem, kter´e obdobn´e technologie a procesy postaven´e na servisnˇe orientovan´e architektuˇre vyuˇz´ıvaj´ı. Zajist´e se nejedn´a o kompletn´ı a nemˇenn´ y seznam, protoˇze v kaˇzd´e spoleˇcnosti m˚ uˇzou b´ yt role upraven´e k aktu´aln´ı potˇrebˇe spoleˇcnosti a podobnˇe [RLBPM]. V n´ami popisovan´em prostˇred´ı vˇsak omez´ıme mnoˇzstv´ı uˇzivatel˚ u pouze na n´asleduj´ıc´ı dvˇe skupiny, kter´e jsou z hlediska n´ avrhu GUI pro registr sluˇzeb a orchestraci z naˇseho hlediska podstatn´e. Uˇ zivatel´ e vytv´ aˇ rej´ıc´ı proces Jedn´a se o uˇzivatele, kteˇr´ı vytv´ aˇrej´ı urˇcit´ y proces a umoˇzn ˇuj´ı jej vyuˇz´ıvat. Zpravidla se jedn´ a ´ o firmy vytv´ aˇrej´ıc´ı procesy, zahrnuj´ıc´ı napˇr. jimi vytv´aˇren´e sluˇzby. Uˇcelem je tedy vyuˇz´ıv´an´ı jejich sluˇzeb, z ˇcehoˇz vypl´ yvaj´ı napˇr. finanˇcn´ı zisky, nebo reklama apod. Druhou skupinou vytv´aˇrej´ıc´ı procesy mohou b´ yt nadˇsenci, kter´e zaj´ımaj´ı tyto technologie, nebo vytvoˇr´ı proces pro vlastn´ı potˇrebu a r´ adi se o nˇej podˇel´ı s jin´ ymi. Tito uˇzivatel´e zpravidla maj´ı k dispozic´ı lidi (nebo jsou jimi sami), kteˇr´ı se vyznaj´ı v n´avrhu a vytv´aˇren´ı proces˚ u, jedn´a se tedy o t´ ymy, kter´e obsahuj´ı pracovn´ıky, kteˇr´ı nejen ˇze maj´ı znalosti z t´eto problematiky, ale maj´ı obvykle k dipozici i potˇrebn´e programov´e vybaven´ı nejen pro n´avrh, ale i pro implementac´ı procesu na nˇejak´ y aplikaˇcn´ı server. Lze je tedy oznaˇcit, jako uˇzivatel´e vytv´aˇrej´ıc´ı procesy, Geinformatics FCE CTU 2008
112
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb kteˇr´ı n´aslednˇe proces chtˇej´ı zaregistrovat do registru sluˇzeb a maj´ı z´ajem na jeho vyuˇz´ıv´an´ı. Z hlediska kontextu n´ avrhu GUI lze konstatovat, ˇze tito uˇzivatel´e maj´ı jiˇz vˇetˇsinu potˇrebn´eho – at’ jiˇz ve formˇe komerˇcn´ıch ˇreˇsen´ı, nebo ˇreˇsen´ı postaven´ ych na programech s otevˇren´ ym zdrojov´ ym k´ odem – k dispozici, nen´ı pro nˇe tedy tˇreba vym´ yˇslet dalˇs´ı n´astroje, kter´e jim umoˇzn´ı proces vizualizovat, upravovat, apod. Uˇ zivatel´ e vyuˇ z´ıvaj´ıc´ı proces Existuje vˇsak druh´ a skupina uˇzivatel˚ u, kteˇr´ı jsou konzumenty takto vytvoˇren´ ych proces˚ ua chtˇej´ı je pouze spouˇstˇet, ˇci drobnˇe upravovat (parametrizovat) apod. Jedn´a se tedy o uˇzivatele, kteˇr´ı si chtˇej´ı vyhledat konkr´etn´ı proces a s t´ım pracovat, nejˇcastˇeji pouze z´ıskat jeho popis a spustit jej. Tato pr´ ace, kter´ a spoˇc´ıv´a v komunikaci z registrem sluˇzeb, m´a b´ yt uˇzivatelsky ˇ adn´e takov´e uˇzivatelsk´e prostˇred´ı, pˇr´ıvˇetiv´a a nevyˇzaduj´ıc´ı hlubˇs´ı znalosti z oblasti SOA. Z´ zvl´aˇstˇe pro potˇreby komunikace s navrˇzen´ ym registrem, vˇsak v souˇcasn´e dobˇe nen´ı k dipozici. Jak´e m´a b´ yt? Co m´ a uˇzivateli zpˇr´ıstupˇ novat?
Poˇ zadavky uˇ zivatel˚ u V n´asleduj´ıc´ıch ˇr´ adc´ıch jsou pops´ any moˇzn´e poˇzadavky uˇzivatel˚ u na toto GUI. Poˇzadavky jsou seˇrazeny od tˇech nejjednoduˇsˇs´ıch, aˇz po pokroˇcilejˇs´ı, kter´e sahaj´ı, aˇz na hranici n´avrhu proces˚ u – tzn. na hranici s n´ astroji urˇcen´ ymi pro skupinu uˇzivatel˚ u vytv´aˇrej´ıc´ı procesy. vyhled´ an´ı potˇrebn´eho procesu
Hlavn´ım a z´ akladn´ım poˇzadavkem uˇzivatel˚ u je nalezen´ı jimi poˇzadovan´eho procesu, nebo sluˇzby. Uˇzivatel˚ um mus´ı b´ yt samozˇrejmˇe nab´ıdnuto upˇresnˇen´ı vyhled´av´an´ı v z´avislostech na metrik´ach zjistiteln´ ych z registru sluˇzeb. spouˇstˇen´ı vybran´eho proces˚ u
Spoleˇcnˇe s v´ yˇse jmenovan´ ym poˇzadavkem na nalezen´ı procesu je spuˇstˇen´ı procesu druh´ ym a z´aroveˇ n posledn´ım hlavn´ım poˇzadavkem. Kdyby GUI odpov´ıdalo pouze tˇemto dvˇema poˇzadavk˚ um, lze pˇredpokl´ adat, ˇze by bylo dostaˇcuj´ıc´ı pro valnou vˇetˇsinu uˇzivatel˚ u vyuˇz´ıvaj´ıc´ı sluˇzeb registru. parametrizace procesu – u ´prava na z´akladˇe metrik
V z´avislosti na m´ıˇre, v jak´e chce uˇzivatel s procesem pracovat lze mluvit o jednoduch´e a sloˇzitˇejˇs´ı parametrizaci. Jednoduchou je myˇslena pouh´a u ´prava vstupn´ıch parametr˚ u procesu, ˇci v´ ybˇer v z´ avislosti na jak´em krit´eriu m´a b´ yt proces upraven apod. Uˇzivatel˚ uv poˇzadavek m˚ uˇze napˇr. zn´ıt – vyuˇzij pouze sluˇzby, kter´e jsou zdarma. V pˇr´ıpadˇe t´eto jednoduch´e parametrizace je tedy pr´ ace ponech´ ana na stranˇe j´adra orchestrace a pˇreb´ır´a tedy do sv´e reˇzie logiku v´ ybˇeru. Na vstup je pouze posl´ana ˇsablona, kterou j´adro uprav´ı do konkr´etn´ı podoby a v´ ysledek opˇet vr´ at´ı uˇzivateli. Naproti tomu v pˇr´ıpadˇe sloˇzitˇejˇs´ı parametrizace pˇreb´ır´a zodpovˇednost a logiku jiˇz na sebe s´ am uˇzivatel a vybere si napˇr. pouze z´astupnou sluˇzbu za jednu konkr´etn´ı, kde vyˇzaduje napˇr. vyˇsˇs´ı pˇresnost. podpora pro workflow
Geinformatics FCE CTU 2008
113
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb Nˇekter´e procesy lze definovat jako dlouho trvaj´ıc´ı procesy s lidskou interakc´ı (Human Task Management) [UBPM], u tˇechto by bylo vhodn´e zahrnout do tohoto jednotn´eho GUI potˇrebn´e uˇzivatelsk´e rozhran´ı tuto interakci zprostˇredkuj´ıc´ı. Bude-li tedy do v´ ysledku zahrnuta nˇekter´ a sluˇzba, poˇzaduj´ıc´ı zpˇresˇ nov´ an´ı vstupu apod., je neˇz´adouc´ı, aby uˇzivatel nˇejak´ ym zp˚ usobem hledal, kde m´ a zpˇresnˇen´ı zad´ avat, ale je vhodn´e, aby uˇzivateli byla nab´ıdnuta, napˇr. v r´amci sledov´an´ı stavu orchestru, jednoduch´ a moˇznost toto zpˇresnˇen´ı prov´est. Pokud tedy v pr˚ ubˇehu procesu dojde napˇr. k poˇzadavku, aby uˇzivatel upˇresnil zda anal´ yza m´a b´ yt provedena pro obec ´ Janovice nad Uhlavou, nebo Janovice (okr. F-M), uˇzivatel toto upˇresnˇen´ı provede v´ ybˇerem z nab´ızen´ ych moˇznost´ı pˇr´ımo v navrhovan´eho GUI. zobrazen´ı procesu
Poˇzadavek na zobrazen´ı procesu se vyskytne nejen u skupiny uˇzivatel˚ u, kteˇr´ı budou cht´ıt sloˇzitˇejˇs´ım zp˚ usobem parametrizovat, ˇci upravovat nab´ıdnut´ y proces, ale jistˇe se vyskytne i skupina uˇzivatel˚ u, kteˇr´ı budou pouze cht´ıt vidˇet, kter´e sluˇzby jsou zapojeny apod. uloˇzen´ı procesu
Po u ´pravˇe procesu do podoby ˇz´ adan´e uˇzivatelem, budou nˇekteˇr´ı uˇzivatel´e cht´ıt upraven´ y proces uloˇzit do registru sluˇzeb, aby si zajistili jeho znovupouˇzitelnost v jiˇz jednou editovan´e podobˇe. Zobrazen´ı procesu a vyhled´av´an´ı v z´avislostech na uˇzivateli. Tento bod naplˇ nuje potˇreby uˇzivatel˚ u, kteˇr´ı r´ adi vyuˇz´ıvaj´ı pr´ace v kontextu uˇzivatele, kdy aplikace v´ı o uˇzivateli a nab´ız´ı mu v´ ysledky urˇcen´e pr´ avˇe pro nˇej. Uˇzivateli v jehoˇz profilu jsou tedy informace o tom, ˇze je spoˇriv´ y“ a vyuˇz´ıv´ a pouze sluˇzby zdarma, nebudou nab´ızeny placen´e sluˇzby. ” sledov´ an´ı stavu
Umoˇzn ˇuje uˇzivateli sledovat v jak´em stavu se j´ım spuˇstˇen´ y proces moment´alnˇe nach´az´ı a zobrazuje informace napˇr. o tom, jak dlouh´a doba je pˇredpokl´adan´a do dokonˇcen´ı spuˇstˇen´eho procesu. monitoring
Nˇekteˇr´ı uˇzivatel´e budou vyˇzadovat bliˇzˇs´ı informace o prob´ıhaj´ıc´ım procesu a budou cht´ıt zn´ at informace o tom, kter´ a sluˇzba je pr´ avˇe zapojen´a, na kterou sluˇzbu se ˇcek´a apod. Vhodn´e by bylo zobrazen´ı procesu spoleˇcnˇe s vyznaˇcen´ım pr´avˇe prob´ıhaj´ıc´ıch krok˚ u. debuging
V pˇr´ıpadˇe ne´ uspˇeˇsn´eho proveden´ı orchestru budou nˇekteˇr´ı uˇzivatel´e zajist´e cht´ıt vˇedˇet, proˇc doˇslo k jeho selh´ an´ı, v kter´em m´ıstˇe apod. Debuging by jim mˇel umoˇznit prov´est proces krokovanˇe a odhalit tedy slab´e m´ısto, nal´ezt m´ısto – sluˇzbu, kter´a vrac´ı nespr´avn´e, nebo ˇz´adn´e v´ ysledky apod. Na z´ akladˇe toho si budou uˇzivatel´e moci vybrat z´astupnou sluˇzbu za slab´e m´ısto v procesu a tak prov´est poˇzadovan´ y proces napˇr. rychleji – po odhalen´ı pomal´e sluˇzby dojde k jej´ımu nahrazen´ı za sluˇzbu poskytuj´ıc´ı pouˇziteln´a obdobn´a data rychleji. n´ avrh´ aˇr proces˚ u
Pro skupinu uˇzivatel˚ u – konzument˚ u proces˚ u se jev´ı jako nepotˇrebn´e – viz. v´ yˇse v textu. Geinformatics FCE CTU 2008
114
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Prvky GUI GUI bude sloˇzeno z jist´ ych element˚ u, kter´e by byly jednak samostatnˇe pouˇziteln´e, ale jist´ ym zp˚ usobem i prov´ azan´e. Na z´ akladˇe pr´ace uˇzivatele budou interaktivnˇe zobrazeny aktu´aln´ı prvky, kter´e by mohly b´ yt k dan´e ˇcinnosti vhodn´e. Prvky jsou vyps´any v poˇrad´ı, kter´ y se snaˇz´ı korespondovat s moˇzn´ ymi poˇzadavky uˇzivatel˚ u. SearchBox Pole s v´ ysledky Dialog pro pr´ aci s procesem Dialog zobrazen´ı podrobn´ ych informac´ı o procesu Dialog pro jednoduchou parametrizaci Dialog pro vizualizaci procesu Mapov´e pole Tlaˇc´ıtko pro spuˇstˇen´ı procesu Tlaˇc´ıtko pro uloˇzen´ı procesu Sledovaˇc pr˚ ubˇehu procesu Monitor procesu Debuger procesu Zobrazen´ı v´ ysledku procesu Pˇrihlaˇsovac´ı dialog
Podoba zobrazen´ eho procesu Pˇri n´avrhu nov´eho procesu se obvykle pouˇz´ıv´a BPMN. Prim´arn´ım c´ılem BPMN je vˇsak poskytnout notaci, kter´ a je snadno srozumiteln´a vˇsem business uˇzivatel˚ um: business analytik˚ um, kteˇr´ı navrhuj´ı procesy, technick´ ym v´ yvoj´aˇr˚ um, kteˇr´ı implementuj´ı technologie pro vykon´av´an´ı proces˚ u a manager˚ um, kteˇr´ı tyto procesy monitoruj´ı a ˇr´ıd´ı. BPMN vytv´aˇr´ı standardizovan´ y most mezi n´ avrhem business proces˚ u a jejich implementac´ı. Dalˇs´ım c´ılem BPMN je umoˇznit vizualizaci XML jazyk˚ u urˇcen´ ych pro n´avrh a vykon´av´an´ı proces˚ u (jako napˇr. BPEL4WS) prostˇrednictv´ım business-orientovan´e notace [REEN]. Aˇz potom je obvykle tento z´ apis navrhovan´eho procesu, pˇreveden do jeho implementace v BPEL, BPML, ˇci jin´em jazyce pro spouˇstˇen´ı proces˚ u. BPMN tedy definuje, jak pˇrev´adˇet jednotliv´e elementy a sekvence tˇechto element˚ u do jazyka BPEL. Je tedy moˇzn´e model procesu do jeho spustiteln´e podoby pˇrev´est. D´ıky pomˇern´e volnosti modelov´an´ı v BPMN vˇsak neb´ yv´ a obvykle moˇzn´e vygenerovat BPEL automaticky, nˇekter´e BPMS n´astroje vˇsak tuto funkci nab´ızej´ı, a to za cenu urˇcit´ ych omezen´ı pˇri samotn´em modelov´an´ı procesu [UBPM3]. Moˇznost Automatick´e generov´ an´ı lze zajistit i striktn´ım dodrˇzen´ım pravidel definovan´ ych v BPMN. Geinformatics FCE CTU 2008
115
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb Oproti BPMN nem´ a BPEL, ˇz´ adnou implicitn´ı grafickou reprezentaci a slouˇz´ı k popisu procesu uˇz na vykonateln´e u ´rovni, v podstatˇe jde o programov´ y k´od. Pr´avˇe BPEL vˇsak bude pro potˇreby vizualizace procesu v GUI pˇr´ıstupn´ y z registru. Nˇekter´e z programov´ ych n´astroj˚ u slouˇz´ıc´ıch pro potˇreby tvorby aplikac´ı zaloˇzen´ ych na SOA, jako jsou napˇr. NetBeans [NB], n´am usnadˇ nuj´ı pˇrechod z BPMN na BPEL t´ım, ˇze se snaˇz´ı pouˇz´ıvat stejn´e grafick´e prvky, to ale rozhodnˇe neb´ yv´ a pravidlem [TBPEL]. Tato cesta se vzhledem k tomu, ˇze v registru budou sluˇzby uloˇzeny ve formˇe jazyka BPEL, jev´ı jako vhodn´a. Proces je vizualizov´an v podobˇe, kter´ y je pˇri troˇse snahy pochopiteln´ y i pro m´ırnˇe pokroˇcil´e uˇzivatel´e a lze pˇredpokl´adat, ˇze pr´avˇe pokroˇcilejˇs´ı uˇzivatele budou vyˇzadovat pokroˇcilejˇs´ı funkcionalitu pr´ace s orchestry. Na n´asleduj´ıc´ım – obr. 2 – je zobrazen uk´azkov´ y proces vytvoˇren´ y a vizualizovan´ y pr´avˇe v programov´em produktu NetBeans a na obr. 3 je proces vizualizov´an pomoc´ı WEEP Engine [WEEP], kter´ y umoˇzn ˇuje konverzi souboru BPEL do podoby SVG, nebo PNG. Tento engine by mohl b´ yt dobˇre vyuˇziteln´ y pro potˇreby funkˇcn´ı implementace popisovan´eho GUI.
Obr. 2: BPEL proces vizualizov´an pomoc´ı NetBeans [NB] Geinformatics FCE CTU 2008
116
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Obr. 3: BPEL proces vizualizov´an pomoc´ı WEEP Engine [WEEP]
Sc´ en´ aˇ r pr´ ace V n´asleduj´ıc´ıch ˇr´ adc´ıch je pops´ an moˇzn´ y sc´en´aˇr pr´ace s grafick´ ym rozhran´ım pro orchestraci GeoWebov´ ych sluˇzeb. V z´ avislosti na formˇe – desktop aplikace, ˇci webov´em rozhran´ı, uˇzivatel zah´aj´ı pr´aci vyvol´ an´ım nab´ıdky menu v aplikaci, pro niˇz bude napˇr. vytvoˇren plugin, nebo spust´ı internetov´ y prohl´ıˇzeˇc a zad´ a webovou adresu, kde bude klientsk´a aplikace ve formˇe webov´e aplikace. N´ aslednˇe bude uˇzivateli zobrazeno n´asleduj´ıc´ı v´ ychoz´ı dialogov´e okno, kter´e bude obsahovat textov´e pole a mapov´e pole, oboje urˇceno k vyhled´av´an´ı sluˇzeb. Bude zde i volba pokroˇcil´e, kter´e umoˇzn´ı zpˇresnit poˇzadovan´ y vyhled´avan´ y v´ yraz, nebo jiˇz v tuto chv´ıli urˇcit, aby v´ ysledn´e orchestry byly vr´ aceny parametrizovan´e, napˇr. dle ceny. Mˇela by zde b´ yt i moˇznost pˇrihl´ aˇsen´ı uˇzivatele, kterou by n´aslednˇe byly ovlivnˇeny vyhled´avan´e sluˇzby a procesy. Uˇzivateli budou n´ aslednˇe zobrazeny vyhledan´e sluˇzby a orchestry s moˇznost´ı zobrazen´ı si v´ıce podrobnosti. Pro zobrazen´ı podrobnost´ı geografick´ ych bude vyuˇzito opˇet komponenty zprostˇredkov´ avaj´ıc´ı mapov´e v´ ystupy. Geinformatics FCE CTU 2008
117
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Obr. 4: N´ avrh u ´vodn´ı str´anky port´alu slouˇz´ıc´ıho bˇeˇzn´ ym uˇzivatel˚ um
Obr. 5: Zobrazen´ı vyhledan´ ych sluˇzeb
Po vybr´an´ı dan´eho orchestru bude uˇzivateli pˇr´ımo umoˇznˇena jeho jednoduch´a parametrizace, nebo spuˇstˇen´ı vybran´eho orchestru. V pˇr´ıpadˇe poˇzadovan´e u ´pravy procesu bude proces registrem upraven a opˇet vr´ acen v obdobn´em dialogov´em oknˇe (webov´e str´ance) a parametrizace se m˚ uˇze st´ ale opakovat, dokud nebude uˇzivatel spokojen. Geinformatics FCE CTU 2008
118
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Obr. 6: Zobrazen´ı vˇsech podrobnost´ı o procesu, vˇcetnˇe moˇznosti parametrizace a spuˇstˇen´ı Pˇri volbˇe sloˇzitˇejˇs´ı parametrizace bude uˇzivateli zobrazen proces v jeho grafick´e podobˇe – viz. obr. 2, nebo obr. 3. Pˇri poˇzadavku z´amˇeny sluˇzby za jinou bude opˇet vyuˇz´ıv´an dialog pro vyhled´ av´ an´ı sluˇzeb a jejich volba. Po spuˇstˇen´ı procesu bude uˇzivateli zobrazen dialog o pr˚ ubˇehu a n´ aslednˇe zobrazen v´ ysledek.
Navrˇ zen´ e rozhran´ı Z v´ yˇse zm´ınˇen´ ych ˇr´ adk˚ u je patrn´e, ˇze GUI bude pˇristupovat k Service Registru a BPEL procesoru. V n´ asleduj´ıc´ıch ˇr´ adc´ıch je pops´ano z´akladn´ı rozhran´ı v˚ uˇci tˇemto dvˇema zmiˇ novan´ ym komponent´ am. GUI – Registr Sluˇ zeb Geinformatics FCE CTU 2008
119
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Obr. 7: Zobrazen´ı informac´ı o pr˚ ubˇehu spuˇstˇen´eho procesu getServices() – vrac´ı seznam proces˚ u/sluˇzeb upraven´ y v z´avislostech na metrik´ach, ˇsablon´ ach, ˇci uˇzivateli apod. Souˇc´ast´ı vr´acen´eho seznamu jsou i z´akladn´ı metriky a informace o procesech a sluˇzb´ ach. getDetail() – Vrac´ı vˇsechny dostupn´e informace o procesu, ˇci sluˇzbˇe. Umoˇzn ˇuje vr´atit proces ve formˇe BPEL souboru, kter´ y je moˇzno n´aslednˇe vizualizovat. save() – slouˇz´ı k uloˇzen´ı upraven´eho procesu do registru sluˇzeb, k pozdˇejˇs´ımu znovupouˇzit´ı.
GUI – BPEL Procesor execute() – umoˇzn ˇuje zavolat BPEL procesor, aby spustil konkr´etn´ı sluˇzbu uloˇzenou v registru sluˇzeb, nebo sluˇzbu, kter´a je upravena uˇzivatelem a nen´ı ˇz´adan´e jej´ı uloˇzen´ı v registru sluˇzeb.
Z´ avˇ er V souˇcasnosti je grafick´e uˇzivatelsk´e rozhran´ı navrˇzen´e v teoretick´e rovinˇe a byly modelovˇe vytvoˇreny dialogy a komponenty, kter´e by mohly b´ yt pˇri pr´aci s orchestry vyuˇziteln´e. Pro potvrzen´ı pouˇzitelnosti a uˇzivatelsk´e pˇr´ıvˇetivosti vˇsak bude nejd˚ uleˇzitˇejˇs´ı interakce tohoto n´avrhu pˇr´ımo s uˇzivateli. Aˇz po t´eto interakci s vybranou r˚ uznorodou skupinou uˇzivatel˚ u– v prv´e f´azi realizovan´e takt´eˇz v rovinˇe teoretick´e je vhodn´e pˇristoupit k realizaci GUI, jej´ı praktickou implementac´ı. N´ aslednˇe je vhodn´e prov´est druh´e kolo interakce z uˇzivateli a zan´est jejich pˇripom´ınky vzniknuvˇs´ı pˇri re´ aln´e pr´aci s navrˇzen´ ym GUI. Souˇcasn´ y n´avrh vych´az´ı ze souˇcasnˇe navrˇzen´e architektury, kter´ a se jeˇstˇe m˚ uˇze drobnˇe upravit, coˇz se m˚ uˇze projevit i v navrˇzen´em grafick´em rozhran´ı. Geinformatics FCE CTU 2008
120
´ ch sluˇ GUI pro orchestraci GeoWebovy zeb
Reference [BOSSOA] Bose S., Bieberstein N., Fiammante M., Jones K., Shah R., SOA Project Planning Aspects, online1 . [NB] Domovsk´ a str´ anka produktu NetBeans, online2 . [OJ] Domovsk´ a str´ anka projektu OpenJump, online3 . [OL] Domovsk´ a str´ anka projektu OpenLayers, online4 . ˇ ezen´ı webov´ [PRADP] Pager, M., Retˇ ych sluˇzeb v prostˇred´ı open source GIS. Diplomov´a pr´ace. 5 2007. Ostrava. online . ˇ [PRAM] Prager M., Marˇs´ık V., Vyuˇzit´ı orchestrace sluˇzeb pro ˇreˇsen´ı u ´loh v r´amci ISKR, 6 online . [RBPM] Role BPM, BPM Port´ al, online7 . ´ [REEN] BPMN & BPEL for business analysts, Uvod do kurzu, online8 . [RLBPM] Organizaˇcn´ı struktury v procesn´ım ˇr´ızen´ı, BPM slovn´ıˇcek, online9 . [TBPEL] Vaˇs´ıˇcek P., Seri´ al BPM prakticky, 5. ˇc´ast: Tvorba BPEL modulu, online10 . [TILSOA] Tilkov S., Roles in SOA Governance, online11 . [UBPM] Vaˇs´ıˇcek P., Seri´ al BPM prakticky, 1. ˇc´ast: Proˇc BPM s open source n´astroji, online12 . ´ [UBPM3] Vaˇs´ıˇcek P., Seri´ al BPM prakticky, 3. ˇc´ast: Uvod do BPMN, online13 . [WEEP] Domovsk´ a str´ anka projektu WEEP, online14 .
1
http://www.informit.com/articles/article.aspx?p=422305&seqNum=5 http://www.netbeans.org/ 3 http://openjump.org/wiki/show/HomePage 4 http://www.openlayers.org/ 5 http://gisak.vsb.cz/ pra089/texty/DP pra089 v1 0.pdf 6 http://gis.vsb.cz/GIS Ostrava/GIS Ova 2008/sbornik/Lists/Papers/093.pdf 7 http://www.procesy.cz/Metodiky/Role-BPM.htm 8 http://www.reengine.cz/index/bpmn-and-bpel-for-business-analysts.do 9 http://bpm-slovnik.blogspot.com/2007/09/organizace.html#Role 10 http://bpm-sme.blogspot.com/2008/04/5-tvorba-bpel-modulu.html 11 http://www.infoq.com/articles/tilkov-soa-roles 12 http://bpm-sme.blogspot.com/2008/02/1-uvod-do-bpm-pro-sme.html 13 http://bpm-sme.blogspot.com/2008/03/3-uvod-do-bpmn.html 14 http://weep.gridminer.org/index.php/About WEEP 2
Geinformatics FCE CTU 2008
121