Off-line funkcionalita on-line web aplikácií: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 60: Riadok 60:
  
 
==Model-View-Controller (MVC)==
 
==Model-View-Controller (MVC)==
 +
Model-view-controller je architektonický vzor využívaný pri tvorbe aplikácií, ktorý oddeľuje dátový model, užívateľské rozhranie a riadiacu logiku. Vytváranie aplikácie s využitím architektúry MVC vyžaduje tri komponenty:
 +
 
===Model===
 
===Model===
 +
Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií.
 
===View===
 
===View===
 +
Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií.
 
===Controller===
 
===Controller===
 +
Controller definuje správanie aplikácie. Spracováva všetky vstupy a udalosti z užívateľského rozhrania. Na ich základe volá príslušné procesy Modelu, mení stav a pod. Podľa udalostí prijatých od užívateľa a podľa výsledkov akcií Modelu potom Controller vhodné View pre ďalšie zobrazenie.
 
===Výhody vzoru MVC===
 
===Výhody vzoru MVC===
 +
- Jednoduché sprístupnenie pre rôzne druhy klientov. Pre zavedenie podpory ďalšieho klienta stačí nadefinovať len nové View.
 +
- Minimalizácia duplicity zdrojového kódu.
 +
- Rozdelenie vývojárskych úloh a samostatný vývoj jednotlivých častí.
 +
- Znovu použiteľnosť kódu.
 +
- Vysoká komplexnosť návrhu a jednoduchšia rozšíriteľnosť aplikácie.
 +
 
==Optimálna štruktúra aplikácie s podporou režimu off-line==
 
==Optimálna štruktúra aplikácie s podporou režimu off-line==
 
==Funkcie dostupné v režime off-line==
 
==Funkcie dostupné v režime off-line==

Verzia zo dňa a času 15:43, 18. január 2010

Tnu wiki.png
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky
Fm wiki.png
Off-line funkcionalita on-line web aplikácií

zadanie práce
Semetrálna práca


Autor:
Pedagogický vedúci:

Ing. Juraj Ďuďák

Študijný odbor: Mechatronika

Akademický rok

2009/2010

Abstrakt

Práca sa zaoberá on-line aplikáciami, ktoré sú schopné pracovať aj v režime off-line. V prvej časti je popísaná technológia Google Gears od firmy Google, ktorá toto umožňuje. Následne sú uvedené výhody a nevýhody tejto technológie a možnosti jej praktického využitia vo webových aplikáciách. Použitie Google Gears pre rozvrh fakulty mechatroniky je analyzované v druhej časti. Posledná časť sa venuje návrhu používateľského rozhrania pre rozvrh fakulty mechatroniky a funkčnosti tejto webovej aplikácie v režime offline.

Abstract

This work deals with on-line applications which are able to work in off-line mode. The first part is devoted to description of Google Gears technology by Google company. Consequently, the advantages and disadvantages are stated as well as the posibilities of practical usage in web aplications. The usage of Google Gears for faculty of mechatronics is analyzed in the second part. The final part is dedicated to design of user interface directly for faculty of mechatronics and functionality this web aplication in off-line mode.

Štruktúra webovej aplikácie

Dvojvrstvové web aplikácie

Dvojvrstvová aplikácia sa skladá z klientskej a dátovej vrstvy. Klientska vrstva obsahuje väčšinu aplikačnej logiky s ktorou sa pracuje priamo nad dátovým zdrojom. Takýto dátový zdroj môže byť reprezentovaný relačnou databázou. Ďalšie zdroje môžu byť súbory alebo iné aplikácie. Schému dvojvrstvovej web aplikácie môžeme vidieť na obrázku (Obr. 1.1).

Nevýhody tohto modelu sa ukázali pri vzrastajúcej komplexnosti klientskych aplikácií. S ich zložitosťou vzrastali aj výkonové nároky na klientske počítače. S masívnym rozšírením aplikácií boli softvérové firmy nútené reagovať na požiadavky klientov. Napríklad zdieľanie zdrojov, obmedzenie dátového prenosu atď. Preto sa začalo uvažovať o trojvrstvovej architektúre, ktorá by tieto požiadavky pokryla.

Trojvrstvové web aplikácie

Nevýhody tohto modelu sa ukázali pri vzrastajúcej komplexnosti klientskych aplikácií. S ich zložitosťou vzrastali aj výkonové nároky na klientske počítače. S masívnym rozšírením aplikácií boli softvérové firmy nútené reagovať na požiadavky klientov. Napríklad zdieľanie zdrojov, obmedzenie dátového prenosu atď. Preto sa začalo uvažovať o trojvrstvovej architektúre, ktorá by tieto požiadavky pokryla.

Zmeny v klientskej vrstve

Najväčšou zmena nastala u vrstvy klientskej. Vďaka novo definovanej aplikačnej vrstve bolo možné logiku aplikácie presunúť na server tejto vrstvy. Celý výpočtový výkon bol prenesený na výkonné servery. Presunutím aplikačnej logiky na jedno miesto sme dosiahli lepšiu možnosť jej zdieľania, správy a dostupnosti. Významnou mierou sa podarilo redukovať dátový prenos, pretože komunikácia je sústredená medzi serverom a dátovým zdrojom.

Aplikačná vrstva

Z pohľadu doby prešla aplikačná vrstva najväčším vývojom. Táto vrstva resp. aplikačná logika zaisťuje prístup k dátam, prácu s dátami a ich poskytnutie vo vhodnom formáte (XML, HTML) pre klientsku vrstvu.

Model-View-Controller (MVC)

Model-view-controller je architektonický vzor využívaný pri tvorbe aplikácií, ktorý oddeľuje dátový model, užívateľské rozhranie a riadiacu logiku. Vytváranie aplikácie s využitím architektúry MVC vyžaduje tri komponenty:

Model

Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií.

View

Model je funkčným a dátovým základom celej aplikácie. Poskytuje prostriedky pre prístup k dátovej základni, stavom aplikácie, ukladaniu a aktualizácií.

Controller

Controller definuje správanie aplikácie. Spracováva všetky vstupy a udalosti z užívateľského rozhrania. Na ich základe volá príslušné procesy Modelu, mení stav a pod. Podľa udalostí prijatých od užívateľa a podľa výsledkov akcií Modelu potom Controller vhodné View pre ďalšie zobrazenie.

Výhody vzoru MVC

- Jednoduché sprístupnenie pre rôzne druhy klientov. Pre zavedenie podpory ďalšieho klienta stačí nadefinovať len nové View. - Minimalizácia duplicity zdrojového kódu. - Rozdelenie vývojárskych úloh a samostatný vývoj jednotlivých častí. - Znovu použiteľnosť kódu. - Vysoká komplexnosť návrhu a jednoduchšia rozšíriteľnosť aplikácie.

Optimálna štruktúra aplikácie s podporou režimu off-line

Funkcie dostupné v režime off-line

Forma off-line aplikácií

Modálne aplikácie

Nemodálne aplikácie

Synchronizácia dát

Manuálna synchronizácia

Synchronizácia na pozadí