Generování webového UI

Informace, na jejíž základě je možné generovat webové UI, lze rozdělit do čtyř základních oblastí popsaných podmodely:

  • Doménový model
  • Hypertextový model
  • Dynamický model
  • Prezentační model

Modely popisují aplikaci při vývoji model driven approach. Tyto modely jsou základní typy modelů, které podle přístupu jsou využívány pro popis aplikace. Doménový model je nejčastěji reprezentován pomocí Entity-Relationship diagramu, UML diagramu tříd, a sémantická reprezentace pomocí RDF (Resource Description Framework) a OWL (Web Ontology Language). Doménový nebo také datový model je použit pro reprezentaci business a datových objektů, jejich vlastností a metod, a také jejich vzájemných vztahů.

Front-end aplikace je reprezentován pomocí hypertextového modelu. Tento model je abstraktní, na tomto modelu je postavený prezentační model, který specifikuje rozvržení a vzhled popisovaného rozhraní.

Hypertextový model vyjadřuje složení rozhraní ve významu kontejneru například stránek a obsahu – například data extrahovaná z doménových objektů. Navigace je mechanismus pro uživatelskou interakci skrz odkazy a odesílání formulářů. Business logika vyjadřuje aktualizaci doménových objektů a vyvolání libovolné operace.

Kromě statických reprezentací front-end nabízí většina návrhů pomocí hypertextového modelu dynamickou specifikaci, která popisuje, jak aplikace reaguje na události uživatelské navigace. Dynamický model může být implicitní, jako je to například u WebML, kde lze tento model odvodit z hypertextového modelu nebo explicitní jako je to například u UML založených návrhů, které vyjadřují dynamický model pomocí diagramu aktivit nebo stavových diagramů. Prezentační model se překrývá s hypertextovým modelem pro specifikaci rozvržení a pocitu z rozhraní, tak jako widgets, které umožňují uživateli interakci s aplikací.

Příklady postupů

Mezi návrhy web engineering models patří například [1] WAE, OOH, UWE, OOHDM, WebML. Pod povrchem zmíněným v návrhu lze nalézt společné základy pro modelování a generování kódu webových aplikací.

Metoda přístupu WAE od Conallen [2] používá stereotypy UML pro komponenty webové aplikace na straně klienta a serveru. Hranice přístupu WAE jsou dané tím, že jsou příliš blízko implementaci a neposkytují čisté oddělení mezi daty a business objekty ve vrstvě klienta a serveru. WAE neumožňuje jednoduché automatické generování kódu pro nedostatek precizní sémantiky metodologického konceptu.

Návrh UWE (UML-based Web Engineering Language) je přístup softwarového inženýrství pro vývoj webových aplikací. UWE poskytuje profil/rozšírení UML, metamodel, modelem řízený vývoj (MDD) a nástroj pro podporu systematického návrhu webových aplikací [3]. UWE od Koch a Kraus z roku 2002 [4] rozšiřují Conallen koncept klientských stránek v UML diagramu nasazení, kde specifikují distribuci aplikačních komponent. WebML (Web Modeling Language) je vizuální notace pro návrh komplexních, datově založených, webových aplikací. Poskytuje grafické a formální specifikace v kompletním návrhovém procesu, který může být vytvořen v CASE (Computer Assisted Software Engineering) návrhovým nástrojem [5].

Zheng and Pong v roce 1992 [6] diskutují systém pro generování z diagramu spolupráce klienta se serverem ve webových aplikacích. Popisovaná implementace je pouze serverová a technologie jsou omezeny na Java applety a JavaScript.

Rozšíření OOH [7] metodiky je navrženo v modelu orchestration, který představuje specifikaci interakce mezi RIA rozhraním widgets a klient/server vrstvami. Kostra modelu orchestration lze získat z navigačního a prezentačního modelu tradičních webových aplikací. Potom je možné definovat interakci mezi widgets rozhraním a widgets realizujícím navigaci. Dalším možným prezentačním modelem je tzv. RUX [8], který obsahuje abstraktní model. RUX může být použit k specifikaci prezentace RIA aplikace ve WebML modelu. Podobný modelu RUX je UsiXML [9], které používá XSLT k překladu abstraktního rozhraní do konečného uživatelského rozhraní.

Rozšíření abstraktního rozhraní modelu OOHDM s Abstract Data Views (ADV) [10] je reprezentací rozhraní objektů a jejich vztahů.

Zdroje

  1. Comai S. Bozzon A. Fraternali, P. and G. 2010 Toffetti Carughi. Engineering rich internet applications with a model-driven approach. http://doi.acm.org/10.1145/1734200.1734204, stav z 15. 4. 2011.
  2. J. CONALLEN. Building Web applications with UML. Addison Wesley, Reading, MA, 2nd edition, 2002. In English.
  3. Přispěvatelé Wikipedie. Uwe. http://en.wikipedia.org/wiki/UMLbased WebEngineering:
  4. N. KOCH and A. KRAUS. The expressive power of uml-based web engineering. In The expressive power of UML-based Web engineering, In Proceedings of the International Workshop on Web Oriented Software Technology (IWWOST). Springer Verlag, 2002.
  5. Přispěvatelé Wikipedie. Webml. http://en.wikipedia.org/wiki/WebML.
  6. Y. ZHENG and PONG. Using statecharts to model hypertext., 1992. In ECHT ’92. ACM, New York, NY, 242–250.
  7. S. MELIA and J GOMEZ. The websa approach: Applying model driven engineering to web applications. J. Web Engin., 5(2):121–149, 2006.
  8. TRIGUEROS M. L. PRECIADO J. C. COMAI, S. and F. SANCHEZ-FIGUEROA. Designing rich in- ternet applications with web engineering methodologies. In n Proceedings of the International Symposium on Web Service Evolution (WSE), In Proceedings of the International Symposium on Web Service Evolution (WSE), page 23–30. IEEE Computer Society, 2007.
  9. Q. LIMBOURG and J. VANDERDONCKT. Usixml: A user interface description language supporting multiple levels of independence. In USIXML: A user interface description language supporting multiple levels of independence, In Proceedings of the International Conference on Web Engineering Workshops, page 325–338. Rinton Press, Princeton, NJ, 2004.
  10. URBIETA M. GINZBURG J. DISTANTE D. ROSSI, G. and A GARRIDO. Refactoring to rich internet applications. In A model-driven approach, In Proceedings of the International Conference on Web Engineering (ICWE)), page 1–12. IEEE Computer Society, 2008.
Pridat.eu

Autorem je

Avatar

Autor je lektorem na Katedře informačního inženýrství Provozně ekonomické fakulty na České zemědělské univerzitě v Praze. Osobní stránky autora lze nalézt na http://jakubtuma.cz