RIA

Moderní webové aplikace (RIA – Rich Internet Application) umožňují uživateli bohatší interakci s aplikací. Odlišné prvky RIA od tradičních webových aplikací jsou shrnuty do čtyř bodů.

  •  Rozdělení dat
  •  Výpočetní operace
  •  Komunikace
  •   Vykreslování stránek

Data jsou umístěna v webových aplikacích na straně serveru. V RIA jsou data flexibilně rozdělena mezi klientem a serverem. Výpočetní operace jsou vykonávány ve webové aplikaci s použitím tenkého klienta na straně serveru. V RIA probíhá výpočet operací také na straně klienta. Komunikace je v HTTP web aplikacích vyvolána klientem a řízena stranou serveru. Oproti tomu v RIA přítomnost prostředí pro běh aplikace na straně klienta umožňuje více komunikačních schémat. Synchronní zpracování událostí v http request-response cyklu může být rozšířeno o asynchronní zpracování událostí.

Vykreslování stránek je skládání XHTML obsahu stránek, například co se zobrazí uživateli po kliknutí na detail položky v seznamu. Vykreslování stránek v dynamické webové aplikaci reaguje na každou uživatelskou interakci. V RIA je uživatelská interakce oddělena od vykreslování stránek a možnosti aktualizace obsahu rozhraní jsou bohatší. Obsah pro zobrazování komponent může být sestaven z uživatelské akce, nebo také skrytě.

V dynamických webových aplikacích je obsah na straně serveru a je typicky uložen perzistentně v databázi nebo v objektech obsažených na straně serveru v uživatelských session.

RIA rozšiřují možnosti ukládání. Obsah může být umístěn také na straně klienta jako objekty se stejnou viditelností a dobou životnosti jako klientská aplikace. V některých RIA je obsah uložen jako perzistentní klientské objekty. Paměť na straně klienta může být použita k dočasnému uložení dat, které jsou vytvořeny nebo upraveny uživatelem. Data mohou být validována na straně klienta a modifikována uživatelem před odesláním na stranu serveru.

V webových aplikacích je komponentová a kontrolní logika vykonávána na straně serveru. RIA umožňují vykonávání logiky i na klientovi. Rozhodování při návrhu RIA je, jak rozdělit odpovědnost mezi dvě strany. Jedna strana je strana klienta a druhá je strana serveru. Extrémem je, že se vše počítá na straně serveru a klientská strana se používá pro prezentační účely až po druhý pól, kdy existuje offline funkčnost klientské strany. Mezi těmito extrémy existují varianty, jako:

  • Obstarávání všech dat a business komponent na straně serveru a používání strany klienta pro interakce.
  • Exekuce komponent na straně serveru a některé komponenty na straně klienta, založeno na jejich funkčnosti, jestli potřebují data apod.
  • Rozdělení výpočtu logicky spojených komponent (například přijímání dat, formátování, nebo vstupní validace a datová aktualizace) mezi klienta a server.

Na obrázku 1.1 jsou zobrazeny možné struktury RIA.

Obrázek 1.1: Schéma RIA aplikace, 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.

Autorem je

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