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.

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

Embed Size (px)

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

Citation preview

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