Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Harald Radi on Flex/Java Integration

Harald Radi on Flex/Java Integration

More Decks by Enterprise Java User Group Austria

Other Decks in Technology

Transcript

  1. XML (1) 04.10.2010 Flex/Java - Integration 8 • Vorteile •

    nicht proprietär • oft bereits verfügbar • Nachteile • viel Daten-Overhead (Bandbreite) • XML Daten müssen geparst werden (Laufzeit) • nur Request-Response, kein Server-Push
  2. XML (4): Antwort 04.10.2010 Flex/Java - Integration 11 var myXML:XML

    = <order> <item id='1'><menuName>burger</menuName><price>3.95</price></item> <item id='2'><menuName>fries</menuName><price>1.45</price></item> </order> trace(myXML.item[0].menuName); // Output: burger • Actionscript unterstützt ECMAScript for XML (E4X) http://en.wikipedia.org/wiki/ECMAScript_for_XML
  3. AMF (1) 04.10.2010 Flex/Java - Integration 12 • Vorteile •

    nativ unterstütztes Serialisierungsformat • Binärformat, wenig Daten-Overhead • Server-Push und Peer-to-Peer Kommunikation möglich (unterstützte Protokolle: HTTP, RTMP, RTMPT, RTMPS, RTMFP) • Nachteil • proprietär (Spezifikation verfügbar)
  4. Demo 04.10.2010 Flex/Java - Integration 19 • Flex/Java Integration: HTTP

    + XML • Flex/Java Integration: HTTP + AMF • BlazeDS • Spring • Spring-Flex • Spring-Security • Server Push
  5. Probleme im Einsatz 04.10.2010 Flex/Java - Integration 20 • Flash

    erlaubt es nicht RemoteObjects bzw. Proxies zu casten • typsicherer Zugriff über Interface nicht möglich • Fehler treten erst zur Laufzeit auf • keine Code-Completion • händisches Warten von DTOs in Java und Actionscript • unnötiger Boilerplate-Code • Fehler treten erst zur Laufzeit auf
  6. Unsere Lösungsansätze 04.10.2010 Flex/Java - Integration 21 • Codegenerierung für

    Interfaces, Proxies und DTO-Typen • Single-Point-of-Change • typsicheres kompilieren quer durch den Technologie-Stack • Annotation-based Type Mappings • @SerializeById, @SerializeCollectionsByIds • @DontSerialize
  7. Spring Roo 04.10.2010 Flex/Java - Integration 24 Flex Addon für

    Spring Roo M1 seit Mitte Juli verfügbar
  8. Erfahrungen mit Flex 04.10.2010 Flex/Java - Integration 25 • Es

    gibt kein Konzept für Nebenläufigkeit • komplexe Berechnungen können UI blockieren • UI-Komponenten sind rudimentär • kaum Third-Party-Komponenten • UI-Controls teilweise nativ im Flash-Player implementiert und daher kaum erweiterbar • mögl. Abhilfe durch Flex 4?
  9. Frameworks 04.10.2010 Flex/Java - Integration 26 • Server (Java) •

    http://www.springsource.org/spring-flex • http://opensource.adobe.com/wiki/display/blazeds/Blaze • http://www.graniteds.org/ • http://red5.org/ • Dependency Injection (Actionscript) • http://www.springactionscript.org/ • http://www.spicefactory.org/parsley/
  10. Tools 04.10.2010 Flex/Java - Integration 27 • Ant • http

    ://livedocs.adobe.com/flex/3/html/anttasks_1.html • Maven • http://flexmojos.sonatype.org/ • Unit Testing • http ://opensource.adobe.com/wiki/display/flexunit/FlexUnit