Programovanie

Java EE a Flex, časť 1: Pútavá kombinácia

Adobe Flex sa stáva populárnou voľbou pre generovanie klientskej stránky podnikových aplikácií Java. V tomto prvom z dvoch článkov Dustin Marx demonštruje, ako vám Flex môže pomôcť poskytnúť vysoko interaktívne užívateľské rozhrania, ktoré pristupujú k podnikovej logike vašej aplikácie Java EE. Získajte praktický úvod do zdokonaľovania jednoduchého klienta Flex a potom mu umožnite komunikovať s vaším serverom Java EE. Úroveň: Začiatočník

Flex 3 vám dáva ďalšiu voľbu pri vytváraní používateľských rozhraní založených na prehliadači pre vaše aplikácie Java EE. Ak ste ešte neobjavili, aké jednoduché je pridať bohatých klientov do podnikových aplikácií Java pomocou Flex, tento článok by vám mohol poslúžiť ako vstupný bod. Zistíte, aké výhody prináša Flex do tabuľky, ako vytvárať rozloženia aplikácií pomocou XML gramatiky Flex a ako zabezpečiť, aby váš klient Flex pracoval s aplikáciou Java EE.

Vývojári Java prijímajú Flex

Vieme, že niektorí vývojári Java sú odolní voči Flexu ako front-end technológii pre Java EE, ale existuje silný argument, ktorý dáva Flexu šancu. Autor Dustin Marx pojednáva o faktoroch, ktoré vedú k adopcii Flex v komunite Java, v bočnom paneli tohto praktického článku.

Predtým, ako vás požiadam o inštaláciu Flexu a začatie zostavovania vzorovej aplikácie, pouvažujme o výhodách používania Flexu ako technológie na strane klienta. Flex ponúka výhody špecifické pre vývojárov Java a niektoré všeobecnejšie. Pozrime sa na obe.

Prečo zvoliť Flex?

Prijať novú technológiu znamená osvojiť si krivku učenia, čo môže byť presvedčivé. Tu uvádzame niekoľko všeobecných výhod používania Flexu:

  • Kód Flex môžete napísať naraz a spustiť ho v ľubovoľnom webovom prehliadači, pre ktorý existuje doplnok Flash Player. Nevyžaduje sa žiadny kód na detekciu prehliadača alebo objekt na detekciu objektov, ktorý je typický pre aplikácie JavaScript alebo Ajax.
  • Cieľový modul runtime (Flash Player 9 alebo novší) je nainštalovaný na viac ako 95 percentách webových prehľadávačov na celom svete.
  • Flex je založený na štandardoch. Jeho skriptovací jazyk (ActionScript 3.0) má korene v ECMAScript (rovnaká špecifikácia implementovaná jazykom JavaScript) a jeho jazykom rozloženia je špecifická gramatika XML s názvom MXML. Znalosť základných štandardov vám môže pomôcť naučiť sa Flex relatívne ľahko.
  • Flex má osviežujúco jednoduchý mechanizmus na naviazanie vlastnosti jedného objektu v aplikácii Flex na vlastnosť iného objektu vo Flexi. Táto návyková vlastnosť sa bežne označuje ako viazanosť majetku. (JSR 295: Beans Binding je určený na pridanie tejto funkcie do jazyka Java, ale nebude zahrnutý do Java SE 7.)
  • Front-end založený na platforme Flex môžete spojiť s ľubovoľnou technológiou typu back-end pomocou techník, ktoré podporujú voľné spojenie. Flex poskytuje zabudovanú podporu pre komunikáciu s back-endmi prostredníctvom tradičných webových služieb založených na protokole HTTP aj SOAP.
  • Aplikácia Flex poskytuje bohatú sadu komponentov, efekty Flash (vrátane animácie, videa a zvuku) a funkcie dostupnosti, ktoré uľahčujú pridávanie bohatosti a vynikajúcich zážitkov do webovej aplikácie.

Flex pre vývojárov Java

Na prilákanie Flex vás môžu stačiť všeobecné výhody, ale existujú aj ďalšie, ktoré sú väčšinou alebo úplne zamerané na vývojárov Java.

Jednou z takýchto výhod je výrazná podobnosť medzi jazykom Java a jazykom ActionScript 3.0 v jazykových vlastnostiach, konceptoch a syntaxi. Jazyky používajú podobné podmienené príkazy, syntax opakovania a dokonca aj konvencie kódovania. (Je dokázané, že ActionScript sa viac podobá na Java ako na JavaFX Script.) Nástroj na generovanie dokumentácie ASDoc spoločnosti Flex podobný Javadocu, používa rovnakú syntax komentárov, akú používate v Java na generovanie dokumentácie. Štruktúra balenia jazyka ActionScript súvisí so štruktúrou adresárov úplne rovnakým spôsobom, akým Java pristupuje k balíkom a adresárom.

ActionScript 3 tiež poskytuje objektovo orientované funkcie založené na triedach (napríklad triedy v zmysle Java, dedičstvo a rozhrania) a statické písanie. Tieto dodatky k tomu, na čo sme väčšina z nás zvyknutí v JavaScripte, uľahčujú učenie a používanie jazyka ActionScript. (ActionScript stále sprístupňuje dynamické písanie a prototypové dedenie pre situácie, keď potrebujete alebo potrebujete tieto funkcie tradičného JavaScriptu.)

Schopnosť Flexu komunikovať s back-endom Java EE pomocou webových služieb založených na protokole HTTP alebo SOAP je veľmi užitočná, nie ste však obmedzený iba na tieto komunikačné prístupy. Blaze DS - samostatný produkt s otvoreným zdrojom od spoločnosti Adobe - vám poskytuje ešte väčšiu flexibilitu pri komunikácii medzi rozhraním Flex front-end a Java EE back-end. BlazeDS vám umožňuje používať JMS na komunikáciu a umožňuje vám používať remoting objektov v prostredí Java. BlazeDS tiež pridáva potenciálne výkonnostné výhody, pretože používa binárny formát AMF3 pre rýchlejšiu komunikáciu, ako je bežné pri XML.

Produkt tretej strany s otvoreným zdrojovým kódom s názvom GraniteDS ponúka ešte viac možností na použitie front-endu založeného na platforme Flex v aplikácii Java EE. GraniteDS ponúka podporu pre binárny formát AMF3 a tiež niektoré funkcie, ktoré nie sú dostupné v BlazeDS. Napríklad GraniteDS ponúka nástroje a rámce služieb pre ľahšiu integráciu Flex s back-endmi založenými na EJB 3, Spring Framework, Guice alebo Seam.

Pri doterajšej diskusii o Flexe som opakovane používal tieto slová jednoduché a ľahké. Ale neberte len moje slovo. Najlepší spôsob, ako pochopiť, aké jednoduché a ľahké sú základy Flex, je vyskúšať si ich na vlastnej koži. V ďalších častiach budete implementovať ukážkovú aplikáciu, preformátovať ju, aby ste pridali funkcie a znížili štandardný kód, a potom nadviazať komunikáciu medzi novým klientom založeným na platforme Flex a servletom Java.

Získanie a inštalácia systému Flex

Príklady tohto článku používajú sadu Flex 3.2 SDK. Ak chcete zostaviť a spustiť príklady, stiahnite si sadu Flex SDK (vrátane kompilátora príkazového riadku a ladiaceho nástroja). Jeden súbor ZIP obsahuje Flex SDK pre viac platforiem.

Rozbaľte súbor na zrejmé miesto, napríklad C: \ flex_sdk_3_2. Pre pohodlie pridajte umiestnenie Flex SDK kôš adresára v ceste, aby bolo možné spustiť nástroje príkazového riadku z ľubovoľného adresára. Rád tvorím a FLEX_HOME premenná prostredia, ktorá ukazuje na umiestnenie Flex SDK a potom pridá $ FLEX_HOME / zásobník alebo % FLEX_HOME% \ bin do CESTA. Správnu inštaláciu Flex môžete overiť spustením príkazu mxmlc -verzia, ako je znázornené na obrázku 1.

Aj keď zostavenie a spustenie príkladov nie je potrebné, mohlo by vás zaujímať stiahnutie aplikácie FlexBuilder 3, ktorá je počas skúšobného obdobia k dispozícii bezplatne. Aplikácia FlexBuilder vám umožňuje na zápis a údržbu súborov MXML a ActionScript používať akýkoľvek textový editor (napríklad JEdit alebo vim) alebo Java IDE (napríklad NetBeans alebo Eclipse). Aptana Studio a Spket IDE obsahujú špecifickú podporu pre editáciu súborov týkajúcich sa Flex.

MXML: Flexibilné rozloženie s XML

Aplikácia Flex používa MXML na definovanie rozloženia aplikácie Flex. Súbory s flexibilným rozložením sú zvyčajne pomenované pomocou a .mxml predĺženie. Kód MXML musí mať správny formát XML a musí používať menné priestory XML. Príklad v zozname 1 demonštruje jednoduchú, ale úplne funkčnú aplikáciu Flex, napísanú výlučne v MXML, ktorá zobrazuje zoznam vybraných článkov v JavaWorld.

Zoznam 1. Statický príklad MXML

Pretože je tento príklad statický, nevyužíva veľa výhod programov Flex a Flash. Slúži však ako dobrý úvod do MXML.

Celý kód v zozname 1 je dobre tvarovaný formát XML. Väčšina riadkov XML v zozname 1 súvisí s rovnakými riadkami kódu (opakuje sa GridRow prvky s vnorenými GridItem a Štítok prvkov). Používajú sa na definovanie statickej zobrazovacej mriežky s Mriežka zložka a jej GridRow a GridItem čiastkové prvky. Použitie , a usporiadať a prezentovať údaje podobným spôsobom ako prvky tabuľky HTML

, a sa často používajú.

Tento prvý príklad MXML tiež demonštruje koreňová značka použitá vo všetkých aplikáciách MXML. Táto značka obsahuje explicitnú šírku a výšku pre aplikáciu Flex. The mx predpona je spojená s menným priestorom Flex XML ako súčasť tohto koreňového prvku.

Použijete kompilátor príkazového riadku Flex, mxmlc, aby sme zostavili príklady tohto článku. Predvolené hodnoty Flex (definované v flex-config.xml súbor) sú dostatočné pre potreby príkladov, kompilácia s mxmlc ľahké. Za predpokladu, že sa prvý zoznam MXML uloží do súboru s názvom Príklad1.mxml, skompilováte to pomocou tohto príkazu:

mxmlc Example1.mxml

V súlade s predvolenými nastaveniami je tento súbor MXML zostavený do súboru SWF s názvom Príklad1.swf, ktorý je umiestnený v rovnakom adresári ako súbor MXML, z ktorého bol vygenerovaný. Súbor SWF môžete spustiť otvorením vo webovom prehľadávači alebo jednoduchým zadaním celého názvu súboru na príkazovom riadku. Vykreslený súbor SWF vyzerá asi ako obrázok 2.

$config[zx-auto] not found$config[zx-overlay] not found