• Save
Enterprise Spring and Flex applications
Upcoming SlideShare
Loading in...5
×
 

Enterprise Spring and Flex applications

on

  • 5,002 views

SpringSource ha recentemente annunciato Spring BlazeDS Integration, un nuovo progetto open source per permettere una facile integrazione tra il framework Spring e Adobe BlazeDS, una tecnologia open ...

SpringSource ha recentemente annunciato Spring BlazeDS Integration, un nuovo progetto open source per permettere una facile integrazione tra il framework Spring e Adobe BlazeDS, una tecnologia open source basata su server Java remoting e Web messaging.
Il plugin di SpringSource fornisce un approccio più semplice ed intuitivo agli sviluppatori Spring e Java per creare Enterprise Rich Internet Applications utilizzando il framework Adobe Flex, una pietra miliare della Flash Platform.
In questa sessione ai partecipanti verrà fornita una panoramica del framework Flex e di BlazeDS, illustrando i vantaggi e le modalità di integrazione al framework Spring attraverso il plugin Spring BlazeDS.

Statistics

Views

Total Views
5,002
Views on SlideShare
3,878
Embed Views
1,124

Actions

Likes
8
Downloads
0
Comments
0

9 Embeds 1,124

http://casario.blogs.com 1102
http://www.slideshare.net 14
http://www.techgig.com 2
http://posterous.com 1
http://74.125.155.132 1
http://honyaku.yahoofs.jp 1
http://www.casario.blogs.com 1
http://www.casario.blogs.com 1
http://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Enterprise Spring and Flex applications Enterprise Spring and Flex applications Presentation Transcript

  • we make it RIA
    Raffaele Mannella
    ManagingDirector
    r.mannella@comtaste.com
  • Mission
    Exploring new frontiers in Rich Internet Applications
    Maximizing the
    User Experiences
  • MISSION
    “Bringing Sexy Back to the Enterprise applications”
    by a clever use of Rich Internet Applications and Multimedia content.
    Because better information workplaces:
    • make customers happier
    • improve the quality of work life for employees
  • WHY
    In other words:
    RIAs in enterprise environments dramatically increase staffproductivity and responsivecapacity
    Multimedia contents add enhanced effectiveness
  • Technologies
    The technologies we use:
    • J2EE (Java, JSP, Hibernate, EJB3, Struts, Spring)
    • Ajax
    • Flash
    • Flex
    • AIR
    • Flash Media Server
  • Team
    Who can make it possible
    J2EE Developers
    Flex/Flash Developers
    Creative UI Designers
  • Showcase
    Maggioli S.p.A.
    è una delle più grandi realtà italiane nell'ambito della fornitura di prodotti e servizi per la PAL con particolare impegno nella produzione e assistenza di software gestionali per gli enti.
    Noi per Loro
    • Orientamento tecnologico
    • Formazione
    • Menthoring
    • User Interface Design
  • Showcase
    INPDAP
    Noi per Loro
    Sviluppo , user interface design e deploy di una piattaforma RIA per archiviazione, distribuzione e ricerca di delibere e circolari
  • Showcase
    Dashboard applications
  • Showcase
    Comtaste Open Source Projects
    Pantaste (http://code.google.com/p/pantaste/)
    A library to create ActionScript-based personalized start page or personal web portal much like  iGoogle, My Yahoo!, Netvibes etc
    DAO-EXT (http://code.google.com/p/dao-ext/)
    an Adobe AIR tool that allows developers to automatically generate ActionScript Data Access Objects (DAO) and Value Objects starting from a local SQLite database.
  • Showcase
    CASE HISTORIES
  • CLIENTS
  • Partnership
  • Upcoming
    Spring-Flex Training
    Corsi Spring in Italiano
    Comtaste ha creato un percorso didattico rivolto a chi già utilizza Flex in ambiente Enterprise e vuole esplorare le possibilità di integrazione con Spring.
    Comtaste e SpringSource stanno lavorando insieme per offrire corsi di Spring in lingua italiana.
  • Spring + Flex + BlazeDS
    MARCO CASARIO
    CTO – Comtaste
    http://casario.blogs.com
  • My books
    WWW.COMTASTE.COM
  • My books
    WWW.COMTASTE.COM
  • My books
    WWW.COMTASTE.COM
  • My books
    GEN 09
    WWW.COMTASTE.COM
  • My Books
    Advanced AIR Applications
    Professional Flash Catalyst
    Flex 4 Solutions
    WWW.COMTASTE.COM
  • Who I am
    WWW.COMTASTE.COM
  • Flex + Spring
    • Flash Platform Overview
    • Flex 4 e Flash Catalyst
    • Livecycle DS
    • BlazeDS
    • Integrazione con Spring
    • Q & A
    WWW.COMTASTE.COM
  • Flex + Spring
    Flex 3 Component Model (Halo)
    /
    Component
    Skin
    Graphics
    Layout
    Animation
    Parts
    States
    Behavior
    Logic
    Data
    WWW.COMTASTE.COM
  • Flex + Spring
    Flex 4 Component Model (Spark)
    ActionScript
    MXML
    Skin
    Component
    Graphics
    Layout
    Animation
    Parts
    States
    Behavior
    Logic
    Data
    CSS
    properties
    WWW.COMTASTE.COM
  • Flex + Spring
    FXG: grafica a compile time
    Flash CS4Professional
    FlashCatalyst
    FlashBuilder
    FXG: formatograficobasatosu MXML
    • Di facile comprensione per i designers
    • Basatosul flash rendering model
    • Statico – no binding, layout, event handlers, styling, etc
    • Ottimizzatodal compiler (alte performance)
    InteractiveContent
    Prototyping
    Eclipse IDE
    Animation
    Design/DevelopWorkflow
    Code Profiling
    Visual Layout
    Debugging
    FXG
    After Effects
    Illustrator
    Photoshop
    Fireworks
    WWW.COMTASTE.COM
  • Flex + Spring
    Flex 4 MXML Graphics
    • MXML Graphics library providing rich primitive support
    • Simple Shape primitives (Rectangles, rounded rects, ellipses, circles)
    • Complex Paths(Linear, Quadratic, and Bezier curve segments)
    • Full range of fills and strokes (solid, transparent, bitmap, linear and radial gradients)
    • Masking, filters, blend modes, and more. (blur, glow, dropshadow, screen, multiply…)
    • Color and 2D transformations (rotate, scale, tint, brighten…)
    • Integrated text, bitmaps
    <Graphic>
    <Path data=“ ….. “>
    <fill>
    <LinearGradient angle=“90”>….
    </LinearGradient>
    </fill>
    </Path>
    <Path blendMode=“screen” data=“…” >
    <fill>
    <LinearGradient angle=“45”>…
    </LinearGradient>
    </fill>
    </Path>
    <GraphicText text=“MXML Graphics”>
    <filters>
    <Glow color=“#00FF00” strength=“3” … />
    </filters>
    </GraphicText>
    </Graphic>
    WWW.COMTASTE.COM
  • Flex + Spring
    • 2-way binding
    • text=“@{myModel.data}”
    • Advanced CSS
    • Multiple Class Selectors:
    • ID Selectors:#upButton { fontSize: 14 }
    • Descendant Selectors: s|Scrollbar #upButton { baseColor: #FF8888 }
    • Pseudo Selectors: s|Scrollbar #upButton:over { baseColor: #8888FF }
    WWW.COMTASTE.COM
  • Flex + Spring
    Gli States in Flex 4
    • Declare your states with a ‘State’ tag
    • Describe ‘alternate views’ of your markup
    • Change values, bindings, event handlers
    • Include and exclude components as easily as setting visibility
    • Unscoped entries specify the ‘default’ for all states
    • Use in 2009 documents – 2006 still supports legacy states.
    <states>
    <State name=”login"/>
    <State name=”register"/>
    </states>
    <Group>
    <TextBox text=“username:” />
    <TextInput />
    <TextBox text=“password:” />
    <TextInput />
    <Button label=“new user?” />
    <Checkbox includeIn=“register” label=“agree to terms” />
    <Button label=“log in” label.register=“sign up” /></Group>
    WWW.COMTASTE.COM
  • Flex + Spring
    • FTE: New low level text engine (player 10)
    • TLF: New text layout library built on top of FTE.
    • Benefits:
    • Soft hyphens
    • Baseline control (e.g., superscripts and subscripts)
    • Right, center, and decimal tabs
    • Vertical justification
    • Multiple columns
    • Ligatures, capitalization styles, digit styles
    • Integrated Rendering of device fonts (a.k.a. I can fade and rotate my text)
    • Bi-Directional text
    Nuovo Text engine
    WWW.COMTASTE.COM
  • Flex + Spring
    Flash Catalyst
    • A professional interaction design tool for rapidly creating the user experience of applications and interactive content without coding
    WWW.COMTASTE.COM
  • Flex + Spring
    • Interactive Web Designers / Interaction Designers
    Responsible for the visual design of interactive experiences created at agencies. Uses tools like Photoshop, Illustrator, and Fireworks to design the layout and assets - but increasingly wants to design the “behavior” of the interface.
    • Information Architects
    Responsible for creating the high-level interaction models for the media and experiences. Involved in the early wireframes and ideation process
    • Graphic Designers and Creative Directors
    Aspire to do interactive pieces or showcase sites without having to write code.
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    Perché Flex e Spring insieme
    Spring è di fatto uno standard emergente per il business tier delle applicazioni Java Enterprise
    Flex rappresenta lo standard per le RIA
    Nell’integrazione lo sviluppatore non deve abbandonare l’approccio server side di Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    Perché Flex e Spring insieme
    Lo sviluppatore Spring è “attratto” dall’approccio di sviluppo:
    • Configurazione di differenti tecnologie
    • Transizione semplice tra “standard” e “enterprise”
    • Migrazione da Local transactions e JTA non richiedono codice
    WWW.COMTASTE.COM
  • Flex + Spring
    Remoting Service
    Permette al client di invocare metodi di oggetti sull’application server
    Le informazioni tipizzate (Java / AS) sono mantenute
    Encoding dei dati in formato binario
    WWW.COMTASTE.COM
  • Flex + Spring
    Remoting Service
    BlazeDS viene configurato attraverso una serie di file:
    • Services-config.xml
    • Remote-services.xml
    • Messaging-services.xml
    • Proxy-services.xml
    Questi file contengono le informazioni delle destination per i servizi remoti e gli adapter per l’implementazione di servizi
    WWW.COMTASTE.COM
  • Flex + Spring
    Flex Remoting: le basi
    WWW.COMTASTE.COM
  • Flex + Spring
    Flex Remoting: le basi
    WWW.COMTASTE.COM
  • Flex + Spring
    SpringFactory: il vecchio approccio
    Nel vecchio approccio veniva utilizzata una classe SpringFactory che però aveva degli svantaggi:
    • Utilizzava un approccio “dependency lookup”
    • Necessità di molteplici configurazioni
    Il vecchio approccio è stato una barriera per l’adozione di Flex e BlazeDS dagli sviluppatori Spring.
    WWW.COMTASTE.COM
  • Flex + Spring
    SpringFactory: il vecchio approccio
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:il nuovo approccio
    Con una collaborazione tra Adobe e SpringSource è nato il progetto Spring-Flex:
    • Semplificare la configurazione di BlazeDS
    • Usare il MessageBroker di BlazeDS come un bean “Spring-managed”
    • Indirizzare i messaggi http di flex al MessageBroker attraverso lo Spring DispatcherServlet
    http://www.springsource.org/spring-flex
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:il nuovo approccio
    Per usare Spring-Flex bisogna avere i seguenti requisiti:
    • Java 5 o +
    • Adobe BlazeDS 3.2 o +
    • Spring 2.5 con dependencies o +
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:configurazione
    Dopo aver scaricato ed installato BlazeDS e Spring BlazeDS Integration dovrete configurare il MessageBroker:
    • È il componente responsabile per gestire i messaggi HTTP dal client Flex
    • È gestito da Spring
    • I messaggi sono passati al MessageBroker di Spring attraverso la DispatcherServlet di Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:configurazione
    La DispatcherServlet è configurata nel bootstrap di Spring nell’WebApplicationContext (file web.xml):
    <servlet-class>
    org.spring.framework.web.servlet. DispatcherServlet
    </servlet-class>
    • Prima era:
    flex.messaging.MessageBrokerServlet
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:configurazione
    Nell’applicationContext.xml file di BlazeDS vanno aggiunti i seguenti beans:
    • SimpleUrlHandlerMapping
    • MessageBrokerHandlerAdapter
    • MessageBrokerFactoryBean (da flex.messaging)
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:configurazione
    A questo punto Spring gestisce il MessageBroker per permettere ai beans di essere connessi direttamente alle remoting call di Flex.
    In questo modo le operazioni di serializzazione e deserializzazione tra Java e AMF avvengono automaticamente
    Questo ci permette di non scrivere molto codice di configurazione nel file remoting-config.xml
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:configurazione
    Nel remoting-config.xml ci saranno solo gli elementi di configurazione nativi di BlazeDS:
    <service id=“remoting-service“ class=“flex.messaging.services.RemotingService” >
    <adapters>
    <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter"/>
    </adapters>
    <default-channels>
    <channel ref="my-amf"/>
    </default-channels>
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex:configurazione
    Siamo pronti a collegare i beans nell’application context:
    <bean id="product" class="org.springframework.flex.messaging.remoting.FlexRemotingServiceExporter">
    <property name="messageBroker" ref="mySpringManagedMessageBroker"/>
    <property name="service" ref="productService"/>
    </bean>
    Espone il servizio ProductService a BlazeDS remoting
    WWW.COMTASTE.COM
  • Flex + Spring
    Nomi di metodi riservati per RemoteObject
    If a remote method has the same name as a method defined by the RemoteObject class, or by any of its parent classes, then you cannot call the remote method directly. The RemoteObject class defines the following method names:
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex: Sicurezza
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex: Messaging
    Il progetto già prevede la compatibilità col nuovo sistema di Spring Integration per le comunicazione asincrone
    Integrazione con BlazeDS MessageService senza usare la configurazione del file message-services.xml
    Sono esposti adapters per Spring JMS e SpringIntegration per permettere la comunicazione tra il client Flex e i message-driven POJOs di Spring
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring-Flex: Sicurezza
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring BlazeDS: il futuro
    Questesonoalcunedellenuove features in fasediimplementazione per la prossimaversione del progetto:
    • Spring 3 REST integration
    • Supporto per client-types multipli
    • Supportoallaserializzazione Hibernate
    • Semplicitànellaserializzazionedientità Hibernate a AMF senzal’erroreLazyInitializationException
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring e Livecycle Data Services
    Adobe stalavorandoall’integrazione con LCDS:
    • Data Assembler configurati come Spring beans
    • SpringHibernateAssemblercheutilizza un HibernateSessionFactorydi Spring (equivalentedell’Assembler JPA)
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring ActionScript
    Il progetto è mantenuto dallo stesso creatore del Prana framework (http://www.springactionscript.org/)
    E’ entrato a far parte di Spring Extension
    Il framework contiene un Inversion of Control Container, un MVCS framework, estensioni per Cairngorm e PureMVC frameworks e altre utilities.
    WWW.COMTASTE.COM
  • Flex + Spring
    Spring ActionScript
    E’ un container ActionScript che applica il design pattern IoC:
    IoC tende a tener disaccoppiati i singoli componenti di un sistema, in cui le eventuali dipendenze non vengono scritte all'interno del componente stesso, ma gli vengono iniettate dall'esterno: non si segue il normale flusso di controllo dei linguaggi imperativi, in cui, nel momento del bisogno, si richiamano funzioni di classi o librerie esterne, gli oggetti quindi non istanziano e richiamano gli oggetti dal quale il loro lavoro dipende, ma queste funzionalità vengono fornite da un ambiente esterno tramite dei contratti definiti da entrambe le entità.
    La Dependency Injection è una delle tecniche con le quali si può attuare l'IOC.
    WWW.COMTASTE.COM
  • Flex’s Bootstrap
    MARCO CASARIO
    CTO – Comtaste
    http://casario.blogs.com