automatizované vytváranie používateľských formulárov emil gatial, zolt án balogh

13
Automatizované vytváranie používateľských formulárov Emil Gatial, Zoltán Balogh Ústav Informatiky, Slovenská Akadémia Vied Bratislava 11. 11. 2010 Priemyselný výskum v oblasti efektívnej práce s rozsiahlymi dátami v používateľsky orientovaných aplikáciách Podporujeme výskumné aktivity na Slovensku/Projekt je spolufinancovaný zo zdrojov EÚ. Na realizáciu projektu sme získali nenávratný finančný príspevok v rámci Operačného programu výskum a vývoj.

Upload: madeline-kosta

Post on 03-Jan-2016

32 views

Category:

Documents


1 download

DESCRIPTION

Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh Ústav Informatiky, Slovenská Akadémia Vied Bratislava 11. 11. 2010. Priemyselný výskum v oblasti efektívnej práce s rozsiahlymi dátami v používateľsky orientovaných aplikáciách - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

Automatizované vytváranie používateľských formulárov

Emil Gatial, Zoltán Balogh

Ústav Informatiky, Slovenská Akadémia Vied

Bratislava

11. 11. 2010

Priemyselný výskum v oblasti efektívnej práce s rozsiahlymi dátami v používateľsky orientovaných aplikáciáchPodporujeme výskumné aktivity na Slovensku/Projekt je spolufinancovaný zo zdrojov EÚ.

Na realizáciu projektu sme získali nenávratný finančný príspevok v rámci Operačného programu výskum a vývoj.

Page 2: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Prehľad prezentaciePrehľad prezentacie

• Motivácia• Prehľad XForms štandardu• Zobrazenie XForms• Automatizované vytváranie XForms• Záver• Užitočné odkazy

11.11.2010

Page 3: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

MotiváciaMotivácia

• Zjednodušenie vytvorenia používateľského rozhrania pre XML dáta• Použitie existujúcich nástrojov pre automatické vytváranie

používateľských rozhraní a schéma ich integrácie s aplikačnou vrstvou• Výhody použitia XForms štandardu ako používateľského rozhrania

– mobilné zariadenia, zariadenia bez podpory jazyka JavaScript

11.11.2010

Page 4: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

XForms architektúraXForms architektúra

• XForms je zalozený MVC (model-view-control) návrhovom vzore– Model: reprezentácia dát

– View: prezentácia dát

– Controller: riadenie a dohľad nad dátovým modelom a jeho zobrazením; komunikácia so serverom

11.11.2010

Controller

View Model

oberver

oberver

Page 5: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Príklad Príklad XXFFormsorms (model) (model)

• V DOM štruktúre sú komponenty „model“ aj „view“ reprezentované ako samostatné stromy definované pomocou XML

• XForms model definuje dátový model v rámci elementu model: <model>  <instance>    <crisis>      <type/>      <level/>    </crisis>  </instance>  <submission id="form1" action=“crisis" method="get"/></model>

• Element „instance“ obsahuje dáta modelu• Dáta sú zbierané do definovanej štruktúry (vždy XML)    <crisis>

   <type/>   <level/> </crisis>

• Po zadaní dát „controller“ validuje a zašle XML na spracovanie    <crisis>

   <type>SwineFlu</type>   <level>4</level>

  </crisis>

11.11.2010

Page 6: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Príklad Príklad XXFFormsorms (view) (view)

• XForms definuje používateľské rozhranie pomocou XHTML značiek ktoré sú mapované na model dát:<input ref=“type"> <label>Crisis Type</label></input><input ref="level"> <label>Warnning Level</label></input><submit submission="form1"> <label>Submit New Crisis</label></submit>

• Výsledný XForms dokument<xforms><model>  <instance>    <crisis>      <type/>      <level/>    </crisis>  </instance>  <submission id="form1" action=“crisis" method="get"/></model><input ref=“type"><label>Crisis Type</label></input><input ref="level"><label>Warnning Level</label></input><submit submission="form1"><label>Submit New Crisis</label></submit></xforms>

11.11.2010

Page 7: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Zobrazenie Zobrazenie XFormsXForms

Strana klienta

Prehliadač

11.11.2010

Page 8: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Metóda automatizovaného vytvárania formulárovMetóda automatizovaného vytvárania formulárov

• Vytvorenie XML schém pre výstupné XML dáta.– Existujú automatické nástroje (trang, XMLbeans, oxygenxml a stylus studio)– Nutnosť skontrolovať a prípadne upraviť vygenerovanú XML schému

11.11.2010

<ContactDocument> <Person> <PersonPrefixName>String</PersonPrefixName> <PersonGivenName>String</PersonGivenName> <PersonMiddleName>String</PersonMiddleName> <PersonFamilyName>String</PersonFamilyName> <PersonBirthDate>1967-08-13</PersonBirthDate> </Person></ContactDocument>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="ContactDocument" abstract="false" nillable="false"> <xs:complexType> <xs:sequence> <xs:element name="Person"> <xs:complexType> <xs:sequence> <xs:element name="PersonPrefixName" type="xs:string" minOccurs="0"/> <xs:element name="PersonGivenName" type="xs:string"/> <xs:element name="PersonMiddleName" type="xs:string" minOccurs="0"/> <xs:element name="PersonFamilyName" type="xs:string"/> <xs:element name="PersonBirthDate" type="xs:string" minOccurs=„0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element></xs:schema>

Page 9: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Metóda automatizovaného vytvárania formulárovMetóda automatizovaného vytvárania formulárov

• Vytvorenie XForms formulára na základe XML Schémy

– Visual XForms Designer• Poloautomatický spôsob

• Vhodný pre statické alebo menej často meniace sa dátové modely

• Vizuálny nástroj (drag&drop)

– XRX (XForms/REST/XQuery)

• Automatický spôsob generovania XForms pre XML databázy

• Náročnejší na konfiguráciu

• Výsledky nie vždy spĺňajú očakávania

11.11.2010

Page 10: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Metóda automatizovaného vytvárania formulárovMetóda automatizovaného vytvárania formulárov

• Vytvorenie Xforms– Kombinácia komponentov

„model“ ako XML dáta a „view“ ako vygenerované zobrazenie

• Zobrazenie XForms– Spracovanie XForms na

serverovej strane (XSLTForms, BetterForms)

– Spracovanie XForms v prehliadači (XSLTForms, Uniquity, Firefox Plugin)

• Validácia a zaslanie informácií (XML)

• Validácia a spracovanie XML odpovede

11.11.2010

ServerPrehliadač

XForms (XML)

XML odpoveď

XForms generátor(Model + View)

Validácia a spracovanie

Validácia a odoslanie

Zobrazenie a získanie

informácií

Pozn.: Nutnosť duplikácie validácie dát v prehliadači a aj na serveri.

Page 11: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

ZáverZáver

• Vytváranie XML schémy z XML dát vyžaduje ďalšie úsilie zo strany vývojára– Vizuálne nástroje (Visual XML tools, XML Spy a iné)

– Vytvoriť medatáta pre určitú množinu XML dát (preferencie na typ, obmedzenie, atď)

• Generovanie XForms formulárov– Poloautomatické vytváranie pomocou vizuálnych nástrojov je preferované najmä kvôli vizuálnej

kontrole

– Automatické vytváranie XRX je vhodné pre jednoduché XML dáta. Nemusí vytvoriť požadovanú štrutúru hlavne pre zložité dátové modely (vnorené dáta)

11.11.2010

Page 12: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

WIKT 2010, Bratislava

Užitočné odkazyUžitočné odkazy

Odkazy na XForm dokumentáciu:– XForms špecifikácia: http://www.w3.org/TR/2009/PR-xforms11-20090818/

– XForms tutoriál: http://www.w3schools.com/xforms/default.asp

– XForms na Wikipedii: http://en.wikipedia.org/wiki/XForms

– XForms ukážky: http://www.orbeon.com/forms/demos

– XForms editor pre Eclipse: http://www.ibm.com/developerworks/xml/library/x-xfrmdesigner/

11.11.2010

Page 13: Automatizované vytváranie používateľských formulárov Emil Gatial, Zolt án Balogh

Ďakujem za pozornosťĎakujem za pozornosť

Emil [email protected]

Ústav InformatikySlovenská Akadémia Viet, Bratislava