1 WebML 2 WebML • Web Modeling Language. • Modelovací nástroj i metodika. • Při vývoji (modelování) webů je důležitým prvkem navigace. • Umožňuje vytvořit komplexní model webové aplikace. • Není „zbytečně“ robustní jako např. UML. • Podpora v CASE nástrojích: • WebRatio Site Development Studio (podporuje generování kódu z navržených modelů), • MS Visio (obsahuje šablony diagramů). 3 Základní modely WebML • Datový model • Hypertextový model • Prezentační model 4 Základní modely WebML 5 Datový model Slouží pro návrh datové struktury, která reprezentuje informace zpracovávané a prezentované v internetové aplikaci. Je velice podobný klasickému entitně relačnímu modelování (ER diagram). Jedná se o konceptuální model, který se velice jednoduše převádí například do konkrétní relační databáze (Oracle, MSSQL, PostgreSQL a další). 6 Datový model (ukázka) 7 Hypertextový model Je tvořen dvěma submodely, které jsou spolu těsně spjaty. Prvním je kompozice webové aplikace, kde je definováno složení prezentace z jednotlivých stránek a složení stránek z jednotlivých předdefinovaných elementů (units). Ty představují atomické součásti obsahu stránky a jsou vázány na entity datového modelu, ze kterých čerpají svůj obsah nebo chování. Druhou částí hypertextového modelu je navigace, která zobrazuje, jak jsou mezi sebou jednotlivé stránky respektive jejich elementy provázány. Definuje strukturu a funkčnost webové aplikace na konceptuální úrovni, která je nezávislá na implementačních detailech. 8 Hypertextový model Komponenty modelu: 9 Hypertextový model (ukázka) 10 Hypertextový model (ukázka) 11 Prezentační model Je chápán jako transformace předchozích modelů do konkrétní podoby webové prezentace. Celý model WebML lze prezentovat jako XML dokument (DTD pro WebML je volně ke stažení). Vstupem transformace modelu jsou jednotlivé specifikace z hypertextového a datového modelu ve formátu XML. Výstup je generován pomocí XSL transformace a jsou jím šablony jednotlivých stránek včetně potřebného kódu značkovacího jazyka a aplikační logiky, používající některý z jazyků respektive technologií pro programování webových aplikací - nejčastěji ASP.NET nebo JSP. 12 WebML Development Process 13 WebRatio (hypertextový model) 14 Architektura WebRatio 15 Zdroje na webu http://www.webml.org/ - domovská stránka projektu WebML http://www.webratio.com/ - CASE nástroj podporující WebML