wi-01

Frameworky a komponenty

Komponenty společnosti Wi využívané v rámci vlastních řešení a nabízené samostatně vývojářům.

  • Flex RIA framework
  • JUMANJI

Flex RIA framework

Framework společnosti Wi pro budování Rich Internet Aplikací na technologii Adobe Flex.

Framework je implementován na technologii Adobe Flex verze 3 a je primárně navržený pro ulehčení práce při implementaci uživatelského rozhraní webových aplikací nezávisle na serverové technologii.

Základní částí frameworku je Desktop, který definuje základní rozvržení (kostru) uživatelského rozhraní aplikace a to následovně:

desktop

  1. Top box – slouží k zobrazení názvu (identifikace) aplikace a aktuálně přihlášeného uživatele.
  2. Menu box – klasická víceúrovňová nabídka akcí pro uživatele, framework umožňuje pomocí konfigurace přizpůsobovat menu uživateli dle uživatelských rolí.
  3. Left panel – tento panel byl vyvinut pro rychlý přístup k důležitým záznamům v aplikaci (dle jejího účelu) například „Moje místnosti“ nebo „Moje žádosti“, vyfiltrované dle aktuálně přihlášeného uživatele.
  4. Quick panel – sada tlačítek pro vyvolání nejvíce používaných funkcí - formulářů nebo seznamů v aplikaci.
  5. Footer panel – panel slouží k zobrazení loga společnosti (levá část), dále k zobrazení aktuálně otevřených „oken“ (podobně jako je tomu u taskbaru v OS Windows) a jejich jednoduchému přepínání a nakonec úplně vlevo je tlačítko pro zobrazení historie zpráv ze systému (informace o uložení, vytvoření nebo smazání záznamů v DB, chybové stavy aplikace apod.)
  6. Main panel – hlavní panel aplikace, zobrazují se v něm hlavní formuláře aplikace (Datagridy, formuláře, kalendáře akcí, zobrazení reportů, Iframe apod.)

Hlavní přednosti frameworku

  • možnost lokalizace aplikace pomocí „bundlu“ - xml souboru s texty,
  • framework je navržen tak, aby jednotlivé komponenty (panely) mezi sebou mohly jednoduše komunikovat,
  • předpřipravené formuláře a seznamy pro obvyklé scénáře editace dat z DB,
  • možnost skinování aplikace jednoduchou změnou swf souboru s definicí vzhledu,
  • nezávislost frameworku a jeho pomocí vytvořeného UI na serverové technologii (JAVA, PHP, MS.NET,..),
  • komunikace se serverem pomocí webových služeb,
  • jednoduchá validace vstupních dat,
  • výhoda chování klasické desktopové aplikace (komunikace se serverem bez nutnosti obnovovat obsah stránky) a výhoda nezávislosti na platformě klienta (aplikace běží ve webovém prohlížeči)
  • moderní vzhled a chování RIA aplikace (Rich Internet Application).

Jumanji

Aplikační framework pod licencí „GNU Library or Lesser General Public License (LGPL)“

Aplikační framework je dostupný na adrese: http://sourceforge.net/projects/jumanji/.

Základní vlastnosti frameworku

Aplikační rámec se skládá z několika částí - samostatných knihoven:

  • Na knihovně závisí všechny ostatní součástí frameworku. Knihovna jumanji-common obsahuje pomocné třídy, které by měli být používány pro práci s daty. Jedním typem tříd jsou například konvertory pro převádění datového typu (v balíčku net.sf.jumanji.convert). Dále v balíčku naleznete také net.sf.jumanji.util, který je pro podporu například zobrazování lokalizováních jmen pomocí bundlu, či kódování základy akci pro zobrazování v prezentační vrstvě aplikace. Více informací o balíčku net.sf.jumanji.util naleznete v sekci Utils. Tato knihovna také disponuje vlastními datovými typy (v balíčkunet.sf.jumanji.type) a definovanými výjimkami specifickými pro Jumanji.Knihovna jumanji-da (Datový Adaptér) poskytuje třídy pro dynamickou interakci s datovými úložišti řízenou příkazy z XML (dynamické DAO). V současné době je podporováno dotazovaní prostřednictvím rozhraní (resp. knihoven) JDBC, Hibernate a JPA.
  • Knihovana jumanji-ui (User Interface) s třídami pro podporu uživatelského rozhraní aplikací nezávisle na prostředí (zatím dostupná implementace založená na protokolu HTTP).
  • Vzorová webová aplikace jumaji-samples, který představuje ukázkovou webovou aplikaci používající Jumanji UI. Obsahuje dvě části:
    • Application(.ui) - příklad non-desktop-like aplikace (net.sf.jumanji.samples) a
    • Desktop(.ui) - příklad desktop-like aplikace (net.sf.jumanji.samples.desktop).

JUMANJI UI

Systém pro tvorbu uživatelského rozhraní Jumanji UI (Jumanji User Interface) tvoří hlavní část rámce. Snahou při vývoji systému bylo navrhnout obecný programový model nezávislý na prostředí, na kterém bude uživatelské rozhraní postaveno. V současné době existuje jediná implementace tohoto rozhraní a to je implementace nad protokolem HTTP.

Aplikační rozhraní je postaveno na paradigmatu stromové struktury komponent uživatelského rozhraní, které se rekurzivně vykreslují a vzniká tak konečná podoba celé stránky.

jumanji-ui

Architektura UI

Prezentační vrstva aplikace, která je postavena na frameworku Jumanji se skládá z komponent, které jsou potomky základní třídy UIControl. Každá komponenta má své jméno, unikátní identifikátor a rodiče. Při vytváření webové stránky jsou kontrolky zařazovány do stromové hierarchie podobné jako HTML elementy. Komponenty udržují svůj stav pro daného uživatele. Kontrolka zná svého „rodiče/ů" (nadřazená kontrolka) a svých „potomků" (podřazená kontrolka) v této hierarchii.

Pomocí JSP šablon plnící funkci view se komponenty vizualizují. JSP šablony jsou k dané kontrolce přiřazeny deklaratorně či dynamicky. Ke každé kontrolce je přiřazováno jméno a na jeho základě vytvořen jedinečný identifikátor této kontrolky. Pomocí identifikátoru lze kontrolku refrencovat i z JSP view.

Hlavní přednosti:

  • možnost stavět uživatelské rozhraní po stránkách či komponentově,
  • efektivní možnost opakovaného využití již hotových komponent uživatelského rozhraní,
  • předpřipravené šablony a desktop-like design uživatelského rozhraní (tzv. Jumanji desktop) tvořený kompomentami obdobnými jako v desktopovém UI (Window, TabContainer, Toolbar, MessageBox, Frame a další),
  • událostmi řízené uživatelské rozhraní, možnost volat akční metody na komponentách přímo přes http,
  • naprostá kontrola nad výstupem aplikace, žádný nadbytečný automaticky generovaný kód,
  • pokročilá podpora pro tvorbu komplexních strukturovaných formulářů s kontrolami formulářových polí na straně klienta i serveru (rozšiřováním třídy net.sf.jumanji.ui.http.form.validator.FieldValidator a jejích potomků) s připravenými validátory pro běžné typy validací včetně podmíněných,
  • podpora technologie AJAX a asynchronního vyvolávání akcí na komponentách UI (se zachováním plné funkčnosti i v případě nedostupnosti podpory JavaScriptu/AJAXu),
  • podpora tlačítka Zpět ve webovém prohlížečí klienta pomocí serializace aktuálního stavu uživatelského rozhraní (tzv. view state s možností ukládání na klienta nebo na server),
  • vlastní knihovna JSP značek usnadňující vývoj šablon jednotlivých komponent,
  • možnost použití všestranného jazyka Expression Language EL ve všech UI i vlastních JSP značkách (stejně jako ve značkách z knihovny JSTL).

Kontakt

phone

TELEFON
+420 731 407 301 
+420 725 499 618

email EMAIL
info@web-integrator.cz
address Wi s.r.o.
Bubenská 1
170 00 Praha 7
fb google-plus s-firmy