GUI pro orchestraci GeoWebových služeb Frantǐsek Kĺımek Institute of Geoinformatics, VSB-TU of Ostrava frantisek.klimek.hgf@vsb.cz Kĺıčová slova: GeoWeb, geoinformatika, webové služby, orchestrace, BPEL, GUI Abstrakt Součást́ı výzkumného projektu ” Orchestrace služeb pro GeoWeb” GA 205/07/0797 řešeného na Institutu geoinformatiky VŠB-TU Ostrava, zabývaj́ıćıho se možnost́ı orchestrace webových služeb z oblasti GIS a ověřeńım praktických možnost́ı dostupných jazyk̊u pro popis a plánováńı obchodńıch proces̊u je i část zabývaj́ıćı se návrhem grafického uživatelského rozhrańı, které by umožňovalo uživatel̊um na r̊uzných úrovńıch funkcionality pracovat s těmito orchestry služeb. Jaká je mı́ra funkcionality, kterou jednotliv́ı uživatelé požaduj́ı? Má jim být umožněno vy- hledávat orchestry, spouštět je, parametrizovat, upravovat, či dokonce navrhovat? Na tyto otázky se snaž́ı odpovědět následuj́ıćı řádky, ve kterých jsou shrnuty základńı údaje o or- chestraci v oblasti GeoWebu, analýza a popis charakteristik jednotlivých uživatel̊u i návrh samotného grafického rozhrańı koncového uživatele a popis komponent, které by měl být v tomto rozhrańı pro práci s orchestry k dispozici. Úvod Webové služby se neodvratně stávaj́ı součást́ı většiny informačńıch systémů. S rostoućım počtem volně dostupných i komerčńıch služeb se nab́ıźı možnosti jejich vzájemného propo- jováńı do funkčńıch celk̊u. Pouhým statickým spojováńım služeb nejsme schopni využ́ıt jejich potenciál, natož potenciál servisně orientované architektury (SOA), která přitahuje zájem všech oblast́ı IT pr̊umyslu a rychle proniká do hlavńıch chod̊u aplikaćı zásadńıch pro plněńı obchodńıch operaćı. Proto je zapotřeb́ı zač́ıt služby řetězit dynamicky, tzn. spojovat je dle aktuálńıch potřeb, možnost́ı uživatele (stav připojeńı, finance, požadovaná přesnost výsledk̊u, rychlost odezvy, ap.). V současnosti se mluv́ı o dvou zp̊usobech řetězeńı webových služeb, známých jako orchestrace a choreografie [PRAM]. Orchestrace Standardńı technologie jako např. WSDL (Web Service Description Language), SOAP (Sim- ple Object Access Protocol), UDDI (Universal Description, Discovery and Integration) pra- cuj́ıćı s webovými službami nám poskytuj́ı prostředky pro jejich jednotlivý popis, lokalizaci Geinformatics FCE CTU 2008 109 GUI pro orchestraci GeoWebových služeb a spouštěńı. I když webová služba může poskytovat mnoho metod, každý WSDL soubor popisuje doslova atomické (na ńızké úrovni) funkce. Co nám však tyto základńı technolo- gie neposkytuj́ı, jsou d̊uležité detaily, které popisuji chováńı služby jako součást větš́ı, v́ıce komplexńı spolupráce. Když se jedná o spolupráci, která je kolekćı aktivit (metod, služeb) navržených tak, aby úspěšně plnila daný business ćıl, jedná se o tzv. business proces. A právě popis kolekćı aktivit, který tento business proces vytvář́ı je nazýván orchestrace [PRAM]. V rámci projektu proběhla analýza několika, pro orchestraci běžně použ́ıvaných jazyk̊u a po této analýze byl pro potřeby orchestrace v prostřed́ı GeoWebu shledán jako vyhovuj́ıćı jazyk, jazyk BPEL. Hlavńı funkćı BPEL je orchestrace webových služeb, tedy ř́ızeńı souhry funkcionality, kterou nab́ıźı ”backend” část systému, či v́ıce systémů. Tato funkcionalita je de- komponována do operaćı, jež je možné volat přes webovou službu. Na druhé straně BPEL sám stoj́ı za webovou službou, která definuje jeho rozhrańı, tj. vstupńı operace. Pro každý vstup do procesu (v BPMN objekt Start / Intermediate MessageEvent) je tedy ve webové službě, která popisuje rozhrańı BPELu, jedna operace. Vstupy procesu však nemuśı být výhradně na začátku, asynchronńı procesy mohou mı́t vstupy na r̊uzných mı́stech. Dá se tedy ř́ıci, že BPEL implementuje webovou službu. Přitom aplikace, která webovou službu použ́ıvá, nev́ı, zda se za ńı skrývá proces, či zda je implementována např. EJB modulem. BPEL je rovněž nezávislý na platformě, implementace pro něj existuj́ı na platformě Java EE, .NET a jiných platformách. Proces implementovaný v jazyce BPEL pomoćı jednoho nástroje by také mělo být možné přenést a spustit v nástroji jiném. Někteř́ı výrobci byznys proces management systému (BPMS) ale použ́ıvaj́ı svá vlastńı rozš́ı̌reńı jazyka BPEL, která tuto přenositelnost znemožňuj́ı [TBPEL]. Architektura navrženého systému Jedńım z hlavńıch ćıl̊u grantového projektu je stanovit metodiku a popsat architekturu, jak by mohl celý komponovaný systém zahrnuj́ıćı služby v r̊uznorodých formách, orchestry, katalogy atd., vypadat a spolupracovat. Pro návrh grafického uživatelského rozhrańı je samozřejmě nutné tuto architekturu alespoň v základńı rovině znát a vědět, kde do této architektury komponenta grafického rozhrańı vstupuje. V následuj́ıćıch několika řádćıch je tedy popsána architektura systému, dle výzkumného projektu, v jej́ı aktuálńı podobě. Do ukončeńı pro- jektu lze předpokládat ještě jej́ı daľśı možné změny, neměly by však být nikterak dramatické. Nemělo by tedy doj́ıt k žádné převratné změněně konceptu grafického rozhrańı. Jádrem orchestrace je registr služeb, který poskytuje mechanizmy pro registrováńı, katego- rizováni a hlavně vyhledáváńı webových služeb v reálném čase. Pokud uživatel potřebuje využ́ıt nějakou specifickou službu, prohledá daný registr. Tam źıská jej́ı popis a může ji zač́ıt použ́ıvat. Registr je však zaměřen nejen na služby, ale i na procesy, které svým rozhrańım v podstatě službám odpov́ıdaj́ı a obsahuje i rozhrańı umožňuj́ıćı vyhledáváńı služeb dle popisu, parametr̊u, kĺıčových slov, podle výkonnostńıch metrik, typu atd. Právě k tomuto registru, či sadě registr̊u spojených a potenciálně i vzájemně spolupracuj́ıćıch se připojuje uživatel prostřednictv́ım svého grafického uživatelského rozhrańı (GUI) a vyhledává potřebné služby, či procesy. Hlavńım požadavkem GUI aplikace je tedy možnost komunikace s registrem služeb a formulace požadavk̊u uživatele v jemu srozumitelné podobě a následná vizualizace odpověd́ı registru opět v uživatelský př́ıvětivé formě. Celá architektura je znázorněná na obr. 1, kde jsou zobrazeny jej́ı jednotlivé komponenty. Geinformatics FCE CTU 2008 110 GUI pro orchestraci GeoWebových služeb Obr. 1: Jednotlivé komponenty navrženého systému � Service 1..n � Adapter � Monitoring � Service register � BPEL Procesor � GUI GUI Jedńım z výstup̊u zmiňovaného grantového projektu má být i grafické uživatelské rozhrańı (GUI, z Angl. Graphical User Interface). Rozhrańı má umožňovat práci s orchestry. Původńı plán byl, aby v ńı šly orchestry i vytvářet, toto se však zdá jako nevhodné (viz. dále v textu). K tomuto úkolu je vhodněǰśı využ́ıt exterńı aplikaci. GUI by tedy mělo umět ”jen” vizualizovat orchestr s aktuálńımi instancemi služeb a dovolit uživateli zvolit jiné instance služeb (pomoćı vyhledáńı v registru a umožnit tak uživateli optimalizovat orchestr dle jeho individuálńıch požadavk̊u). Systém by mohl řešit i potřeby uživatel̊u, alespoň s využit́ım základńı sady parametr̊u profilu uživatele. Tj. měl by být definován kontext uživatele a podle něj ve znalostech nalezen adekvátńı orchestr (resp. jeho instance). Takto navržené a popsané GUI by mělo následně být implementováno např. jako plugin do některé z desktop GIS aplikaćı (jako vhodná aplikace se jev́ı OpenJump [OJ]), nebo př́ıstupné jako webová aplikace, což se taktéž jev́ı jako velmi vhodná varianta vzhledem k možnému do- padu na velké množstv́ı potenciálńıch uživatel̊u. Druhá zmiňovaná varianta by mohla být re- prezentována např. implementaćı společně s OpenLayers [OL], což je JavaScriptová knihovna umožňuj́ıćı zobrazovat mapy v prohĺıžeči bez závislosti na serverové části. Uživatelé Pokud je požadavkem navržeńı GUI, s kvalitńım, srozumitelným a intuitivńım ovládáńım, je třeba netradičně zač́ıt od středu – tj. od U. GUI je předevš́ım navrhováno pro uživatele, Geinformatics FCE CTU 2008 111 GUI pro orchestraci GeoWebových služeb je tedy nutnost vyj́ıt z analýzy uživatel̊u, kteř́ı budou k procesu přistupovat a analyzovat taktéž jejich potřeby. Zajisté každý z nich bude mı́t jiné představy a požadavky jak by mělo GUI vypadat, jakou mı́ru detail̊u o daném procesu má poskytovat a co vše má umožňovat. Nejdř́ıve je tedy potřeba pod́ıvat se na role a uživatele, kteř́ı k procesu přistupuj́ı. Při pohledu na některé zdroje informaćı o tomto tématu, např. [UBPM], [RBPM], [TIL- SOA], nebo [BOSSOA] lze nalézt velké množstv́ı r̊uznorodých roĺı, které jsou v́ıce, či méně nezbytné pro správné navrhováńı a údržbu proces̊u postavených na této architektuře. Pro př́ıklad jen jmenujme některé z nich (bližš́ı popis jednotlivých roĺı a jejich kompetenćı lze nalézt ve zmiňovaných zdroj́ıch): � Vlastńık procesu � Vrcholový (strategický, TOP) tým, nebo manažer � Liniový manažer � Animátor BPM � IT specialista � Business konzultant � Architekt BMS � Procesńı týmy � Agent inovace � Centrum inovace � Zákazńık procesu Toto děleńı vycháźı z prostřed́ı enterprise aplikaćı a firem, které obdobné technologie a procesy postavené na servisně orientované architektuře využ́ıvaj́ı. Zajisté se nejedná o kompletńı a neměnný seznam, protože v každé společnosti můžou být role upravené k aktuálńı potřebě společnosti a podobně [RLBPM]. V námi popisovaném prostřed́ı však omeźıme množstv́ı uživatel̊u pouze na následuj́ıćı dvě skupiny, které jsou z hlediska návrhu GUI pro registr služeb a orchestraci z našeho hlediska podstatné. Uživatelé vytvářej́ıćı proces Jedná se o uživatele, kteř́ı vytvářej́ı určitý proces a umožňuj́ı jej využ́ıvat. Zpravidla se jedná o firmy vytvářej́ıćı procesy, zahrnuj́ıćı např. jimi vytvářené služby. Účelem je tedy využ́ıváńı jejich služeb, z čehož vyplývaj́ı např. finančńı zisky, nebo reklama apod. Druhou skupinou vytvářej́ıćı procesy mohou být nadšenci, které zaj́ımaj́ı tyto technologie, nebo vytvoř́ı proces pro vlastńı potřebu a rádi se o něj poděĺı s jinými. Tito uživatelé zpravidla maj́ı k dispozićı lidi (nebo jsou jimi sami), kteř́ı se vyznaj́ı v návrhu a vytvářeńı proces̊u, jedná se tedy o týmy, které obsahuj́ı pracovńıky, kteř́ı nejen že maj́ı znalosti z této problematiky, ale maj́ı obvykle k dipozici i potřebné programové vybaveńı nejen pro návrh, ale i pro implementaćı procesu na nějaký aplikačńı server. Lze je tedy označit, jako uživatelé vytvářej́ıćı procesy, Geinformatics FCE CTU 2008 112 GUI pro orchestraci GeoWebových služeb kteř́ı následně proces chtěj́ı zaregistrovat do registru služeb a maj́ı zájem na jeho využ́ıváńı. Z hlediska kontextu návrhu GUI lze konstatovat, že tito uživatelé maj́ı již většinu potřebného – at’ již ve formě komerčńıch řešeńı, nebo řešeńı postavených na programech s otevřeným zdrojovým kódem – k dispozici, neńı pro ně tedy třeba vymýšlet daľśı nástroje, které jim umožńı proces vizualizovat, upravovat, apod. Uživatelé využ́ıvaj́ıćı proces Existuje však druhá skupina uživatel̊u, kteř́ı jsou konzumenty takto vytvořených proces̊u a chtěj́ı je pouze spouštět, či drobně upravovat (parametrizovat) apod. Jedná se tedy o uživatele, kteř́ı si chtěj́ı vyhledat konkrétńı proces a s t́ım pracovat, nejčastěji pouze źıskat jeho popis a spustit jej. Tato práce, která spoč́ıvá v komunikaci z registrem služeb, má být uživatelsky př́ıvětivá a nevyžaduj́ıćı hlubš́ı znalosti z oblasti SOA. Žádné takové uživatelské prostřed́ı, zvláště pro potřeby komunikace s navrženým registrem, však v současné době neńı k dipozici. Jaké má být? Co má uživateli zpř́ıstupňovat? Požadavky uživatel̊u V následuj́ıćıch řádćıch jsou popsány možné požadavky uživatel̊u na toto GUI. Požadavky jsou seřazeny od těch nejjednodušš́ıch, až po pokročileǰśı, které sahaj́ı, až na hranici návrhu proces̊u – tzn. na hranici s nástroji určenými pro skupinu uživatel̊u vytvářej́ıćı procesy. � vyhledáńı potřebného procesu Hlavńım a základńım požadavkem uživatel̊u je nalezeńı jimi požadovaného procesu, nebo služby. Uživatel̊um muśı být samozřejmě nab́ıdnuto upřesněńı vyhledáváńı v závislostech na metrikách zjistitelných z registru služeb. � spouštěńı vybraného proces̊u Společně s výše jmenovaným požadavkem na nalezeńı procesu je spuštěńı procesu druhým a zároveň posledńım hlavńım požadavkem. Kdyby GUI odpov́ıdalo pouze těmto dvěma poža- davk̊um, lze předpokládat, že by bylo dostačuj́ıćı pro valnou většinu uživatel̊u využ́ıvaj́ıćı služeb registru. � parametrizace procesu – úprava na základě metrik V závislosti na mı́̌re, v jaké chce uživatel s procesem pracovat lze mluvit o jednoduché a složitěǰśı parametrizaci. Jednoduchou je myšlena pouhá úprava vstupńıch parametr̊u procesu, či výběr v závislosti na jakém kritériu má být proces upraven apod. Uživatel̊uv požadavek může např. zńıt – využij pouze služby, které jsou zdarma. V př́ıpadě této jednoduché para- metrizace je tedy práce ponechána na straně jádra orchestrace a přeb́ırá tedy do své režie logiku výběru. Na vstup je pouze poslána šablona, kterou jádro uprav́ı do konkrétńı podoby a výsledek opět vrát́ı uživateli. Naproti tomu v př́ıpadě složitěǰśı parametrizace přeb́ırá zod- povědnost a logiku již na sebe sám uživatel a vybere si např. pouze zástupnou službu za jednu konkrétńı, kde vyžaduje např. vyšš́ı přesnost. � podpora pro workflow Geinformatics FCE CTU 2008 113 GUI pro orchestraci GeoWebových služeb Některé procesy lze definovat jako dlouho trvaj́ıćı procesy s lidskou interakćı (Human Task Management) [UBPM], u těchto by bylo vhodné zahrnout do tohoto jednotného GUI potřebné uživatelské rozhrańı tuto interakci zprostředkuj́ıćı. Bude-li tedy do výsledku zahrnuta některá služba, požaduj́ıćı zpřesňováńı vstupu apod., je nežádoućı, aby uživatel nějakým zp̊usobem hledal, kde má zpřesněńı zadávat, ale je vhodné, aby uživateli byla nab́ıdnuta, např. v rámci sledováńı stavu orchestru, jednoduchá možnost toto zpřesněńı provést. Pokud tedy v pr̊uběhu procesu dojde např. k požadavku, aby uživatel upřesnil zda analýza má být provedena pro obec Janovice nad Úhlavou, nebo Janovice (okr. F-M), uživatel toto upřesněńı provede výběrem z nab́ızených možnost́ı př́ımo v navrhovaného GUI. � zobrazeńı procesu Požadavek na zobrazeńı procesu se vyskytne nejen u skupiny uživatel̊u, kteř́ı budou cht́ıt složitěǰśım zp̊usobem parametrizovat, či upravovat nab́ıdnutý proces, ale jistě se vyskytne i skupina uživatel̊u, kteř́ı budou pouze cht́ıt vidět, které služby jsou zapojeny apod. � uložeńı procesu Po úpravě procesu do podoby žádané uživatelem, budou někteř́ı uživatelé cht́ıt upravený proces uložit do registru služeb, aby si zajistili jeho znovupoužitelnost v již jednou editované podobě. Zobrazeńı procesu a vyhledáváńı v závislostech na uživateli. Tento bod naplňuje potřeby uživatel̊u, kteř́ı rádi využ́ıvaj́ı práce v kontextu uživatele, kdy aplikace v́ı o uživateli a nab́ıźı mu výsledky určené právě pro něj. Uživateli v jehož profilu jsou tedy informace o tom, že je ” spořivý“ a využ́ıvá pouze služby zdarma, nebudou nab́ızeny placené služby. � sledováńı stavu Umožňuje uživateli sledovat v jakém stavu se j́ım spuštěný proces momentálně nacháźı a zobrazuje informace např. o tom, jak dlouhá doba je předpokládaná do dokončeńı spuštěného procesu. � monitoring Někteř́ı uživatelé budou vyžadovat bližš́ı informace o prob́ıhaj́ıćım procesu a budou cht́ıt znát informace o tom, která služba je právě zapojená, na kterou službu se čeká apod. Vhodné by bylo zobrazeńı procesu společně s vyznačeńım právě prob́ıhaj́ıćıch krok̊u. � debuging V př́ıpadě neúspěšného provedeńı orchestru budou někteř́ı uživatelé zajisté cht́ıt vědět, proč došlo k jeho selháńı, v kterém mı́stě apod. Debuging by jim měl umožnit provést proces krokovaně a odhalit tedy slabé mı́sto, nalézt mı́sto – službu, která vraćı nesprávné, nebo žádné výsledky apod. Na základě toho si budou uživatelé moci vybrat zástupnou službu za slabé mı́sto v procesu a tak provést požadovaný proces např. rychleji – po odhaleńı pomalé služby dojde k jej́ımu nahrazeńı za službu poskytuj́ıćı použitelná obdobná data rychleji. � návrhář proces̊u Pro skupinu uživatel̊u – konzument̊u proces̊u se jev́ı jako nepotřebné – viz. výše v textu. Geinformatics FCE CTU 2008 114 GUI pro orchestraci GeoWebových služeb Prvky GUI GUI bude složeno z jistých element̊u, které by byly jednak samostatně použitelné, ale jistým zp̊usobem i provázané. Na základě práce uživatele budou interaktivně zobrazeny aktuálńı prvky, které by mohly být k dané činnosti vhodné. Prvky jsou vypsány v pořad́ı, který se snaž́ı korespondovat s možnými požadavky uživatel̊u. � SearchBox � Pole s výsledky � Dialog pro práci s procesem � Dialog zobrazeńı podrobných informaćı o procesu � Dialog pro jednoduchou parametrizaci � Dialog pro vizualizaci procesu � Mapové pole � Tlač́ıtko pro spuštěńı procesu � Tlač́ıtko pro uložeńı procesu � Sledovač pr̊uběhu procesu � Monitor procesu � Debuger procesu � Zobrazeńı výsledku procesu � Přihlašovaćı dialog Podoba zobrazeného procesu Při návrhu nového procesu se obvykle použ́ıvá BPMN. Primárńım ćılem BPMN je však po- skytnout notaci, která je snadno srozumitelná všem business uživatel̊um: business analytik̊um, kteř́ı navrhuj́ı procesy, technickým vývojář̊um, kteř́ı implementuj́ı technologie pro vykonáváńı proces̊u a manager̊um, kteř́ı tyto procesy monitoruj́ı a ř́ıd́ı. BPMN vytvář́ı standardizovaný most mezi návrhem business proces̊u a jejich implementaćı. Daľśım ćılem BPMN je umožnit vizualizaci XML jazyk̊u určených pro návrh a vykonáváńı proces̊u (jako např. BPEL4WS) prostřednictv́ım business-orientované notace [REEN]. Až potom je obvykle tento zápis navrhovaného procesu, převeden do jeho implementace v BPEL, BPML, či jiném jazyce pro spouštěńı proces̊u. BPMN tedy definuje, jak převádět jednotlivé elementy a sekvence těchto element̊u do jazyka BPEL. Je tedy možné model procesu do jeho spustitelné podoby převést. Dı́ky poměrné volnosti modelováńı v BPMN však nebývá obvykle možné vygenerovat BPEL automaticky, některé BPMS nástroje však tuto funkci nab́ızej́ı, a to za cenu určitých omezeńı při samotném modelováńı procesu [UBPM3]. Možnost Automatické generováńı lze zajistit i striktńım dodržeńım pravidel definovaných v BPMN. Geinformatics FCE CTU 2008 115 GUI pro orchestraci GeoWebových služeb Oproti BPMN nemá BPEL, žádnou implicitńı grafickou reprezentaci a slouž́ı k popisu procesu už na vykonatelné úrovni, v podstatě jde o programový kód. Právě BPEL však bude pro potřeby vizualizace procesu v GUI př́ıstupný z registru. Některé z programových nástroj̊u slouž́ıćıch pro potřeby tvorby aplikaćı založených na SOA, jako jsou např. NetBeans [NB], nám usnadňuj́ı přechod z BPMN na BPEL t́ım, že se snaž́ı použ́ıvat stejné grafické prvky, to ale rozhodně nebývá pravidlem [TBPEL]. Tato cesta se vzhledem k tomu, že v registru budou služby uloženy ve formě jazyka BPEL, jev́ı jako vhodná. Proces je vizualizován v podobě, který je při troše snahy pochopitelný i pro mı́rně pokročilé uživatelé a lze předpokládat, že právě pokročileǰśı uživatele budou vyžadovat pokročileǰśı funkcionalitu práce s orchestry. Na následuj́ıćım – obr. 2 – je zobrazen ukázkový proces vytvořený a vizualizovaný právě v programovém produktu NetBeans a na obr. 3 je proces vizualizován pomoćı WEEP Engine [WEEP], který umožňuje konverzi souboru BPEL do podoby SVG, nebo PNG. Tento engine by mohl být dobře využitelný pro potřeby funkčńı implementace popisovaného GUI. Obr. 2: BPEL proces vizualizován pomoćı NetBeans [NB] Geinformatics FCE CTU 2008 116 GUI pro orchestraci GeoWebových služeb Obr. 3: BPEL proces vizualizován pomoćı WEEP Engine [WEEP] Scénář práce V následuj́ıćıch řádćıch je popsán možný scénář práce s grafickým rozhrańım pro orchestraci GeoWebových služeb. V závislosti na formě – desktop aplikace, či webovém rozhrańı, uživatel zaháj́ı práci vyvoláńım nab́ıdky menu v aplikaci, pro niž bude např. vytvořen plugin, nebo spust́ı internetový prohĺıžeč a zadá webovou adresu, kde bude klientská aplikace ve formě webové aplikace. Následně bude uživateli zobrazeno následuj́ıćı výchoźı dialogové okno, které bude obsahovat textové pole a mapové pole, oboje určeno k vyhledáváńı služeb. Bude zde i volba pokročilé, které umožńı zpřesnit požadovaný vyhledávaný výraz, nebo již v tuto chv́ıli určit, aby výsledné orchestry byly vráceny parametrizované, např. dle ceny. Měla by zde být i možnost přihlášeńı uživatele, kterou by následně byly ovlivněny vyhledávané služby a procesy. Uživateli budou následně zobrazeny vyhledané služby a orchestry s možnost́ı zobrazeńı si v́ıce podrobnosti. Pro zobrazeńı podrobnost́ı geografických bude využito opět komponenty zprostředkovávaj́ıćı mapové výstupy. Geinformatics FCE CTU 2008 117 GUI pro orchestraci GeoWebových služeb Obr. 4: Návrh úvodńı stránky portálu slouž́ıćıho běžným uživatel̊um Obr. 5: Zobrazeńı vyhledaných služeb Po vybráńı daného orchestru bude uživateli př́ımo umožněna jeho jednoduchá parametrizace, nebo spuštěńı vybraného orchestru. V př́ıpadě požadované úpravy procesu bude proces regis- trem upraven a opět vrácen v obdobném dialogovém okně (webové stránce) a parametrizace se může stále opakovat, dokud nebude uživatel spokojen. Geinformatics FCE CTU 2008 118 GUI pro orchestraci GeoWebových služeb Obr. 6: Zobrazeńı všech podrobnost́ı o procesu, včetně možnosti parametrizace a spuštěńı Při volbě složitěǰśı parametrizace bude uživateli zobrazen proces v jeho grafické podobě – viz. obr. 2, nebo obr. 3. Při požadavku záměny služby za jinou bude opět využ́ıván dialog pro vyhledáváńı služeb a jejich volba. Po spuštěńı procesu bude uživateli zobrazen dialog o pr̊uběhu a následně zobrazen výsledek. Navržené rozhrańı Z výše zmı́něných řádk̊u je patrné, že GUI bude přistupovat k Service Registru a BPEL pro- cesoru. V následuj́ıćıch řádćıch je popsáno základńı rozhrańı v̊uči těmto dvěma zmiňovaným komponentám. GUI – Registr Služeb Geinformatics FCE CTU 2008 119 GUI pro orchestraci GeoWebových služeb Obr. 7: Zobrazeńı informaćı o pr̊uběhu spuštěného procesu � getServices() – vraćı seznam proces̊u/služeb upravený v závislostech na metrikách, šablonách, či uživateli apod. Součást́ı vráceného seznamu jsou i základńı metriky a informace o procesech a službách. � getDetail() – Vraćı všechny dostupné informace o procesu, či službě. Umožňuje vrátit proces ve formě BPEL souboru, který je možno následně vizualizovat. � save() – slouž́ı k uložeńı upraveného procesu do registru služeb, k pozděǰśımu zno- vupoužit́ı. GUI – BPEL Procesor � execute() – umožňuje zavolat BPEL procesor, aby spustil konkrétńı službu uloženou v registru služeb, nebo službu, která je upravena uživatelem a neńı žádané jej́ı uložeńı v registru služeb. Závěr V současnosti je grafické uživatelské rozhrańı navržené v teoretické rovině a byly modelově vytvořeny dialogy a komponenty, které by mohly být při práci s orchestry využitelné. Pro potvrzeńı použitelnosti a uživatelské př́ıvětivosti však bude nejd̊uležitěǰśı interakce tohoto návrhu př́ımo s uživateli. Až po této interakci s vybranou r̊uznorodou skupinou uživatel̊u – v prvé fázi realizované taktéž v rovině teoretické je vhodné přistoupit k realizaci GUI, jej́ı praktickou implementaćı. Následně je vhodné provést druhé kolo interakce z uživateli a zanést jejich připomı́nky vzniknuvš́ı při reálné práci s navrženým GUI. Současný návrh vycháźı ze současně navržené architektury, která se ještě může drobně upravit, což se může projevit i v navrženém grafickém rozhrańı. Geinformatics FCE CTU 2008 120 GUI pro orchestraci GeoWebových služeb Reference [BOSSOA] Bose S., Bieberstein N., Fiammante M., Jones K., Shah R., SOA Project Planning Aspects, online1. [NB] Domovská stránka produktu NetBeans, online2. [OJ] Domovská stránka projektu OpenJump, online3. [OL] Domovská stránka projektu OpenLayers, online4. [PRADP] Pager, M., Řetězeńı webových služeb v prostřed́ı open source GIS. Diplomová práce. 2007. Ostrava. online5. [PRAM] Prager M., Marš́ık V., Využit́ı orchestrace služeb pro řešeńı úloh v rámci ISKŘ, online6. [RBPM] Role BPM, BPM Portál, online7. [REEN] BPMN & BPEL for business analysts, Úvod do kurzu, online8. [RLBPM] Organizačńı struktury v procesńım ř́ızeńı, BPM slovńıček, online9. [TBPEL] Vaš́ıček P., Seriál BPM prakticky, 5. část: Tvorba BPEL modulu, online10. [TILSOA] Tilkov S., Roles in SOA Governance, online11. [UBPM] Vaš́ıček P., Seriál BPM prakticky, 1. část: Proč BPM s open source nástroji, online12. [UBPM3] Vaš́ıček P., Seriál BPM prakticky, 3. část: Úvod do BPMN, online13. [WEEP] Domovská stránka projektu WEEP, online14. 1 http://www.informit.com/articles/article.aspx?p=422305&seqNum=5 2 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 Geinformatics FCE CTU 2008 121 http://www.informit.com/articles/article.aspx?p=422305\&seqNum=5 http://www.netbeans.org/ http://openjump.org/wiki/show/HomePage http://www.openlayers.org/ http://gisak.vsb.cz/~pra089/texty/DP_pra089_v1_0.pdf http://gis.vsb.cz/GIS_Ostrava/GIS_Ova_2008/sbornik/Lists/Papers/093.pdf http://www.procesy.cz/Metodiky/Role-BPM.htm http://www.reengine.cz/index/bpmn-and-bpel-for-business-analysts.do http://bpm-slovnik.blogspot.com/2007/09/organizace.html#Role http://bpm-sme.blogspot.com/2008/04/5-tvorba-bpel-modulu.html http://www.infoq.com/articles/tilkov-soa-roles http://bpm-sme.blogspot.com/2008/02/1-uvod-do-bpm-pro-sme.html http://bpm-sme.blogspot.com/2008/03/3-uvod-do-bpmn.html http://weep.gridminer.org/index.php/About_WEEP