WebML – Objektově orientovaná metodika pro tvorbu webových sídel Martin Molhanec Katedra elektrotechnologie, Fakulta elektrotechnická, České vysoké učení technické Technická 2, 166 27 PRAHA 6, Dejvice, Česká republika tel.: (++420) 2 2435 2118
[email protected] http://martin.feld.cvut.cz/~molhanec Abstrakt: Cílem příspěvku je seznámit čtenáře s metodologií WebML při návrhu webových sídel. Jedná se o objektově orientovanou metodologii speciálně navrženou pro návrh webových sídel. Metodika WebML je rozsáhlá, komerčně orientovaná metodika, která si klade poměrně vysoké cíle. Jejím základem je konceptuální modelování spojené s rozpracovaným návrhem modelování návrhu navigace po webovém sídle a modelováním správy uživatelů webové aplikace. Součástí celé metodiky jsou i implementační nástroje. Klíčová slova: WebML, webové sídlo, analýza, návrh, implementace, softwarové inženýrství, www, WebRatio
1
ÚVOD
Metodika pro návrh webových sídel WebML (Web Modelling Language) je jedna z nejnovějších. Vznikla na polytechnice v Miláně, kde také existuje rozsáhlé webové sídlo této metodologii věnované [1]. Metodika WebML, podobně jako jiné metodiky navržené speciálně pro návrh webových sídel nebo hypermediálních aplikací, je postavena na dvou základních modelech: konceptuálním modelu a modelu navigačním. Konceptuální model je ve své podstatě klasický nebo rozšířený datový model v tradiční ER nebo novější OO formě. Tento konceptuální model je ve většině metodologií pro návrh webových sídel rozšířen o tzv. pohledy (views), které umožňují určitý pohled na data a jsou důležité pro návrh uživatelského rozhraní. Navigační model zachycuje pohyb uživatele mezi jednotlivými stránkami webového sídla a hraje u metodologií pro návrh webových sídel nesmírně důležitou roli. Je také jedním z jejich největších přínosů v oblasti analýzy informačních systémů. Podobně jako například metodika OOHDM [3] a snad ještě více, je metodika WebML velice propracovaná s patrnou snahou o její komerční uplatnění. O tom svědčí existence firmy WebRatio [2], která prodává nástroj typu CASE a současně vývojové prostředí založené na metodologii WebML. Metodika WebML definuje bohatý grafický jazyk pro návrh a dokumentaci navigace po webovém sídle, který je založen na standardu XML. Ostatně celá metodika WebML používá právě standard XML jako hlavní prostředek textovou representaci v ní vytvořených diagramů
a dalších informací. Součástí metodiky je též definice objektově orientovaného dotazovacího jazyka, který je dle autorů metodiky nutný pro návrh tzv. datových pohledů. K dispozici jsou také obsáhlé tutoriály, volně dostupné na Internetu. Cílem příspěvku je poskytnout čtenáři stručného průvodce metodologií WebML a stručné porovnání této metodiky s ostatními metodikami pro návrh webových sídel. Základem metodiky WebML jsou následující modely: • • • •
Strukturální model (Structural Model) o Odvozený model (Derivation Model) Hypertextový model (Hypertext Model) o Model kompozice (Composition Model) o Navigační model (Navigational Model) Uživatelský model (Personalization Model) Prezentační model (Presentational Model)
Každý z těchto modelů se zabývá určitým aspektem analýzy a návrhu webového sídla. Celková představa o metodologii WebML je dle autorů metodiky vyjádřena na obr. 1.
obr. 1: WebML metodika
2
Strukturální model
Strukturální model je konceptuální datový model a zabývá se daty, se kterými webová aplikace pracuje. Pro vyjádření strukturálního modelu je možné v rámci metodiky WebML využít libovolný prostředek datového modelování (například ER modelování, ODMG objektový model nebo model tříd dle UML). Záleží na
uživateli, kterým diagramům dává přednost, nicméně autoři WebML upřednostňují objektový model a notaci dle standardu UML. Základem strukturálního modelu jsou obvyklé konceptuální datové modelovací konstrukty – entita (třída), atribut a vztah. Metodika WebML dále očekává podporu atributů následujících typů: • • • • •
String (kratší textový řetězec) Text (delší textový řetězec) Integer Float Date
• • • •
Time Boolean Blob URL
obr. 2: Strukturální diagram
Metodika WebML dále podporuje možnost vytváření tzv. výčtových (enumerated) atributů. Pokud se týká vztahů (relationships) předpokládá metodika WebML obvyklé vztahy včetně vztahu IS-A. Ukázka strukturálního diagramu, z tutoriálu WebML, je na obr. 2. Metodika WebML navíc mimo grafické notace využívá také notaci textovou, která je založena na standardu XML. Ukázka definice entity v textové notaci následuje.
3
Odvozený model
Odvozený model vznikne z modelu strukturálního jeho rozšířením o tzv. odvozené atributy, entity a vztahy. Důvod pro zavedení tohoto modelu je podobný, jako u jiných podobných metodologií (například metodologiích RMM [4] a OOHDM [3]). Jedná se zjednodušeně o následující koncepci: „Každá webová stránka je spojena s odvozeným (derived) datovým modelem, který se dá získat dotazem do původního datového modelu“. Pro získání odvozeného datového modelu využívá metodika WebML speciální dotazovací jazyk WebML-OQL, který je odvozen z dotazovacího jazyka OQL (Object Query Language). Na odvozený datový model je možné také hledět jako na tzv. pohled (view) do původního (strukturálního) datového modelu. Mimo zavedení tzv. odvozených atributů (například atributy vypočtené a agregované) umožňuje odvozený model v metodologií WebML také definovat tzv. výčet (population) entit nebo vztahů na základě omezení přes některý atribut. Jazyk WebML-OQL je velice bohatý jazyk. Podobně jako definice celého strukturálního modelu je zabudován do jazyka XML. Následuje ukázka vypočteného atributu a agregovaného atributu.
4
Hypertextový model
Hypertextový model je nejdůležitějším modelem celé metodiky. Pomocí tohoto modelu uživatel modeluje chování celé aplikace. Hypertextový model je zcela specifickým přínosem WebML metodiky k modelovacím technikám v oblasti návrhu webových aplikací. Hypertextový model popisuje tzv. site view (pohled na webové sídlo) a skládá se ze dvou různých modelů. První z nich je kompoziční (composition) model, který popisuje z jakých logických částí se skládá webová stránka a druhý model je navigační (navigational model), který popisuje způsob navigace mezi různými stránkami webového sídla. Podobně jako u metodiky OOHDM může být pro jeden strukturální model vytvořeno několik hypertextových modelů. Ukázky hypertextového modelu jsou na obr. 3 a obr. 4. 4.1
Kompoziční model
Kompoziční model, jak bylo již zmíněno, popisuje z jakých logických prvků se skládá jedna stránka. WebML rozlišuje 6 základních prvků webové stránky: data, multi-data, index, multi-choice index, scroller a entry unit. Pro každý prvek existuje
v metodologii WebML speciální grafické vyjádření, navíc je nutné každý prvek (vyjma prvku entry unit) spojit s jednou entitou ze strukturálního modelu (každý prvek je tedy spojen s nějakými daty). Mimo grafického vyjádření definuje WebML též vyjádření kompozičního modelu pomocí XML. Grafická podoba výše uvedených základních prvků je uvedena v následující tabulce. WebML element
vysvětlení Tento prvek slouží pro publikování (zobrazení) jednoho objektu (řádky) dané třídy (entity, tabulky). Například údaje o jednom konkrétním zpěvákovi z databáze zpěváků. Způsob zobrazení může být libovolný, toto není věc hypertextového modelu, ale modelu presentačního. Tento prvek slouží pro publikování několika objektů v rámci jedné stránky. Například přehled zboží z databáze skladu. Způsob zobrazení může být libovolný, toto není věc hypertextového modelu, ale modelu presentačního. Nejčastěji se jedná o prvky typu grid, browser, atp. Index představuje publikování několika objektů entity jako seznamu. Například seznam zboží. Po kliknutí na položku indexu se uskuteční akce navigace, například přechod na stránku s detailními informacemi o vybraném zboží. Varianta Indexu, kdy je každý prvek seznamu spojen se zaklikávacím boxem. Tento prvek obsahuje dále tlačítko pro odeslání. Při odeslání se uskuteční akce navigace na jinou webovou stránku. Při této navigaci se informace o zaškrtnutých prvcích tohoto prvku přenáší jako parametry navigace do další stránky.
Prvek, který umožňuje krokovat (procházet se) mezi objekty dané entity. Obsahuje obvyklé možnosti vpřed a vzad, případně na začátek a na konec.
Prvek, který představuje vstupní formulář. Slouží pro zadávání údajů. Po odeslání následuje akce navigace na další stránku. Vložené údaje se přenášejí jako parametry navigace a jsou zpracovány následující stránkou.
tabulka 1: základní prvky kompozičního diagramu
4.2
Navigační model
Navigační model zobrazuje navigaci mezi jednotlivými stránkami webového sídla. Jednotlivé stránky webového sídla jsou spojeny odkazy (links), které mohou být kontextové (přenášejí kontextovou informaci) nebo bezkontextové (kontextovou informaci nepřenášejí). Kompoziční a navigační model se kreslí společně do jednoho diagramu a tak dohromady tvoří jeden hypertextový model. Ukázka takového jednoduchého modelu je na obr. 3. Ve spodní části obrázku je zobrazena zjednodušená podoba webových stránek, které mohou našemu diagramu odpovídat. Tyto zjednodušené obrázky jsou velice užitečné pro pochopení významu jednotlivých prvků a účelu jednotlivých webových stránek. Stručně si vysvětlíme co tento jednoduchý diagram představuje. Jedná se o diagram, který přináleží dvěma webovým stránkám. První stránka obsahuje index italských zpěváků a druhá stránka obsahuje podrobné informace o jednom z nich včetně přetáčecího prvku, který umožňuje krokovat vpřed a vzad mezi jednotlivými zpěváky. V hypertextovém diagramu je webová stránka představena pomocí čárkovaného obdélníku, který obsahuje její jednotlivé prvky. Je zřejmé, že první stránka obsahuje pouze prvek index a druhá stránka obsahuje prvek data a přetáčecí prvek. Všimněte si, že všechny prvky jsou spojeny s odvozenou datovou entitou, ze které získávají informace pro svojí činnost. Prvek index a přetáčecí prvek je spojen s entitou italský pěvec a prvek data je spojen s entitou zpěvák. Navigační část diagramu představují šipky mezi prvky stránek (případně stránkami). Na našem diagramu jsou pouhé dvě šipky. První šipka směřuje z prvku se jménem ArtistIndex do prvku ArtistInfo a její význam je následující: „Při kliknutí na index na první stránce se naviguje na stránku druhou a zároveň prvek se jménem ArtistInfo zobrazí informaci o námi vybraném zpěvákovi“. Druhá šipka směřuje od přetáčecího prvku se jménem ArtistScroll opět na prvek ArtistInfo. Pokud tedy klikneme na přetáčecí prvek, neuskuteční se žádná navigace na jinou stránku, ale dojde k obnovení informací na téže stránce a prvek ArtistInfo zobrazí data o následujícím nebo předcházejícím zpěváku.
obr. 3: WebML - Hypertextový diagram
Osobně se domnívám, že vyjadřovací schopnosti hypertextového diagramu jsou vynikající, tento diagram považuji za významný přínos metodiky WebML v oblasti modelovacích technik. Mimo výše uvedených základních prvků poskytuje metodika WebML celou řadu další více či méně specializovaných prvků, které je možné využít při návrhu webových stránek. Ukázka složitějšího hypertextového diagramu je na obr. 4.
obr. 4: Složitější hypertextový diagram
5
Uživatelský model
Uživatelský model definuje jednotlivé uživatele a skupiny uživatelů. Důvodem pro modelování uživatele či skupiny uživatelů je podpora uživatelského kontextu v jednotlivých stránkách webového sídla. Jedná se vlastně o přizpůsobení stránek webového sídla podle jejího návštěvníka. Příkladem takové stránky může být například stránka nákupní košík. Metodika WebML pro modelování uživatelů využívá obvyklé objektové orientované techniky s notací standardu UML. Příkladem takovéhoto diagramu je na obr. 5.
obr. 5: Uživatelský diagram
6
Prezentační model
Prezentační model vyjadřuje vzhled a rozmístění jednotlivých prvků stránky nezávisle na skutečném výstupním zařízení (HTML 3.2, HTML 4, WAP, …) pomocí abstraktní XML syntaxe. Pro generování výstupního kódu pro konkrétní výstupní zařízení se využívá technologie XSLT. Metodika WebML dovoluje, aby si uživatel sám zvolil způsob implementace vzhledu webových stránek. Na podporu práce s tímto modelem je k dispozici vývojový systém fy WebRatio [2], jehož trial verzi je možné po zaregistrování zdarma stáhnout z Internetu. Nástroj obsahuje možnost návrhu tzv. layout jednotlivých stránek pochopitelně v návaznosti na všechny předchozí modely. Ukázka takového návrhu je na obr. 6.
obr. 6: Návrh layout v nástroji WebRatio
obr. 7: Nástroj WebRatio
7
Implementační nástroje
Na rozdíl od jiných metodologií nezapomínají autoři metodiky WebML i na řadu nástrojů, které jejich metodologii podporují. Jedná se o následující nástroje: • • •
Site Designer je základním nástrojem. Umožňuje vytvořit strukturální, hypertextový a uživatelský model. Presentational Designer umožňuje navrhovat vzhled a rozmístění grafických prvků na webové stránce. Pro snadnější používání obsahuje Preview Function, která umožňuje navržené grafické schéma okamžitě prohlížet. Site Manager je nástroj, který umožňuje webové sídlo vytvořené metodologií WebML spravovat a instalovat při jeho provozu.
Konkrétní realizací výše uvedených nástrojů je produkt společnosti WebRatio [2], který poskytuje kompletní vývojové prostředí postavené na technologii WebML a byl již v tomto článku několikrát zmíněn. Ukázka prostředí tohoto vývojového nástroje při návrhu strukturálního modelu je na obr. 7.
obr. 8: Vývojový proces WebML
8
Vývojový proces.
Autoři metodiky WebML se věnují i popisu celé metodiky z hlediska vývojového procesu. Základní kroky celého vývoje webového sídla jsou přehledně zobrazeny na obr. 8. Tato část metodiky je v současné době ve stadiu rozpracování. Z velké části zde autoři WebML do své metodiky zahrnují metody známé již z jiných metodologií (například využívají metody USE CASE známé z metodiky UML) a snaží se o jejich provázání se základními WebML metodami.
9
Porovnání
Protože se metodologiím pro návrh webových sídel věnují již delší dobu ([5], [6], [7], [8]), pokusím se o několikařádkové porovnání metodiky WebML s ostatními mne známými podobnými metodikami (přehled některých podobných metodologií je obsažen v mém příspěvku na konferenci Tvorba software 2003 [5]). Podobně jako všechny ostatní metodiky přebírá metodika WebML tradiční datový model a přestože nechává na uživateli volbu mezi klasickým ER modelem nebo novějším OO modelem, sami autoři dávají přednost OO modelu v standardní notaci UML podobně jako autoři metodiky OOHDM. Podobně jako u ostatních metodologií je vlastní přínos WebML metodiky zejména v oblasti specifického modelu určeného pro modelování navigace po webovém sídle (hypertextový model). V porovnání s podobnými modely v metodologiích RMM či OOHDM se zdá být velice efektivně a srozumitelně navržen. Pokud se týká prvků webových stránek, není náhodou, že všechny webové metodiky definují velice podobné sady webových prvků, které má uživatel při tvorbě diagramu k dispozici. Je to konec konců logické, všechny metodiky se zabývají stejným subjektem svého zájmu – návrhem webového sídla. Je též zajímavé, že se všechny metodiky snaží vyrovnat s nutností tzv. pohledů na datový model a podobně jako ostatní metodiky si pro tyto účely vytváří metodika WebML vlastni objektově orientovaný dotazovací jazyk WebML-OQL. Podobně jako v ostatních metodologiích je nejméně propracovaná oblast prezentačního modelu, je totiž závislá na dostupnosti vývojového prostředku, který by pro danou metodologii daný prezentační model podporoval. Na rozdíl od jiných podobných metodologií je však metodika WebML plně podporována nástrojem firmy WebRatio. Kladem metodiky WebML je též ukládaní všech modelů v textové formě založené na standardu XML.
10 Závěr Je zřejmé, že metodika WebML je nejen rozsáhlá, ale i na nejlepší cestě ze všech ostatních podobných metodologií ke svému komerčnímu uplatnění. Navíc staví na zásadním uplatnění XML jako prostředku pro ukládání modelovaných dat a při definování prezentačního modelu uplatňuje další XML technologii, a to XSLT.
Stránky autorů metodiky prošli v nedávné době podstatnou změnou svého vzhledu. Objevil se produkt firmy WebRatio speciálně podporující tvorbu webových sídel pomocí metodiky WebML. Na stránkách metodiky WebML je dále celá řada článků věnujících se rozšiřování možností této metodiky v nejrůznějších směrech. Už dávno se nejedná o akademický projekt z jedné univerzity. Nicméně, jak nám praví zkušenost, pro přežití celé metodiky bude rozhodující její případné zakoupení firmou kategorie Microsoft, Sun nebo IBM. Každopádně však doporučuji podrobné prostudování této metodiky všem zájemcům o metodiky určené pro tvorbu webových sídel. V Praze 5. října 2003 Ing. Martin Molhanec, CSc
Reference 1. 2. 3. 4.
5. 6.
7.
8.
WebML: http://www.webml.org WebRatio: http://www.webratio.com OOHDM. http://www.telemidia.puc-rio.br/oohdm/oohdm.html Isakowitz, T., Kamis, A., Koufaris, M.: „The Extended RMM Methodology for Web Publishing“, Working Paper IS-98-18, Center for Research on Information Systems, 1998 On line: http://jmis.bentley.edu/rmm/papers/RMM-Extended.pdf Molhanec Martin: „Metodologie orientované na tvorbu webových sídel“. Tvorba software 2003. Tanger Ostrava, Ostrava 2003. ISBN 80-85988-83-6. Molhanec Martin: „Metodologie OOHDM, jazyk Lua a tvorba webových aplikací“, Tvorba software 2002, TANGER, Ostrava 2002. ISBN 80-8598874-7. Molhanec Martin: „The Object-Oriented Hypermedia Design Model (OOHDM)“, Objekty 2001, Česká zemědělská universita, Praha 2001. ISBN 80-213-0829-X. Molhanec Martin: „Tvorba webových sídel jako inženýrský úkol“, Tvorba software 2001, TANGER, Ostrava 2001. ISBN 80-85988-59-3.
Annotation: Article describes a new object WebML methodology for analyzing, designing and developing web sites. Focus of article is targeted to brief explanation of WebML developing process and the graphic notation used in WebML diagrams. At conclusion we compare WebML methodology with another similar methodologies.