SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Rapid RIA with
    Spring + Flex
    Jeremy Grelle
    Senior Member Technical Staff
    (a.k.a, Open Source Web Dude)
    SpringSource a division of VMware




Wednesday, June 16, 2010
Agenda

    •       Spring Intro
    •       Spring + Flex
    •       BlazeDS and LiveCycle Data Services Overview
    •       Remoting Review
    •       Spring BlazeDS Integration
    •       Future Roadmap and Preview
    •       Q&A




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
The Spring Philosophy

   • Developers should be able to focus
             – on the particular business domain of an application
             – NOT infrastructural concerns



   • Inversion of Control
             – the “Hollywood Principle”
             – don’t call us, we’ll call you...




  SpringSource, a division of VMware. All rights reserved. Do not distribute without   3
                                   permission.
Wednesday, June 16, 2010
The Spring Experience

           •       Spring aims to ease integration of a multitude of
                   Java technologies

           •       A Spring developer is attracted to the “Spring
                   Way” of doing things

                     –      Common configuration approach for many
                            disparate technologies

                     –      Easy transition from “simple” to “enterprise”
                                •    i.e., Local transactions to full-blown JTA requires no
                                     code changes                                          4




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Why Flex + Spring?

           •       Spring has emerged as the de facto standard for
                   the business tier of Java Enterprise applications.

           •       Spring aims to be agnostic to the chosen client
                   technology.

           •       Flex is the obvious choice when a Spring
                   developer is looking at RIA

           •       Don't have to abandon your server-side Spring
                   investment to move into RIA
                                                                                       5




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Open Source BlazeDS
 Client-side APIs                          RemoteObject                    Producer                     Consumer




 Server-side
                                Channels


 Infrastructure                                     HTTP


                                                                                              Long
                                                    AMF                   Polling                             Streaming   Piggyback
                                                                                             Polling




                                                 Messaging                        Remoting
                                                                                                                            Proxy
                                Services




                                                    Pub/Sub                            RPC


                                                Real Time Push                         AMF
                                Adapters




                                                    JMS                     SQL               Java                        ColdFusion


                                                   WSRP                   Spring             Security




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
LiveCycle Data Services
 Client-side APIs                          RemoteObject                    Producer                     Consumer             Dataservice




 Server-side
                                Channels

                                                                                             NIO Long
 Infrastructure                                     HTTP                NIO Polling
                                                                                              Polling
                                                                                                             NIO Streaming       RTMP


                                                                                               Long
                                                    AMF                   Polling                              Streaming       Piggyback
                                                                                              Polling




                                                 Messaging                        Remoting                Data Mgmt
                                                                                                                                 Proxy
                                Services




                                                    Pub/Sub                            RPC               Change Tracking


                                                Real Time Push                         AMF                  Data Sync
                                                                                                                                  PDF
                                Adapters




                                                    JMS                     SQL                Java            Hibernate      ColdFusion


                                                   WSRP                   Spring             Security




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Remoting Service

    •       Enables client applications to remotely invoke
            methods of objects deployed in your application
            server
    •       Type information is maintained (see Java -
            ActionScript data type mapping)
    •       Binary encoding of data (AMF: Action Message
            Format)
    •       Benefits
               –     Straightforward programming model (avoid double XML
                     transformation)
               –     Significant performance and bandwidth advantages


  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Remoting 101

    <mx:RemoteObject id="srv" destination="product"/>
    <mx:Button label="Get Data" click="srv.getProducts()"/
     >
    <mx:DataGrid
     dataProvider="{srv.getProducts.lastResult} "/>


    •       remoting-config.xml
              <destination id="product">
                           <properties>
                                 <source>flex.samples.ProductService</source>
                           </properties>
              </destination>
  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Using Spring - Old
    SpringFactory Approach
    •       services-config.xml
              <factories>
              
 <factory id="spring" class="flex.samples.factories.SpringFactory"/>
              </factories>



    •       remoting-config.xml
              <destination id="productService">
              
 <properties>
              
 
           <factory>spring</factory>
              
 
           <source>productBean</source>
              
 </properties>
              </destination>




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Spring -> Flex
        •       The old path was overly complex

                  –      Using the “dependency lookup” approach of the
                         SpringFactory feels antithetical to the “Spring Way”

                  –      The burden of configuration is multiplied

                  –      Potential for deep integration beyond just remoting
                         is limited

                  –      Ultimately acts as a potential barrier to adoption of
                         Flex by the Spring community                         11




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
The Way Forward

     •       Ideally lower the barrier to adoption of Flex by the
             Spring community


               –      Configuration using the “Spring Way”

               –      Deeper integration beyond remoting

               –      Make Flex the obvious and easy choice for a Spring-
                      powered RIA

     •       SpringSource and Adobe formed a joint partnership
                                                             12
             to turn this idea into reality

  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Open Source Foundation

     •       The foundations of this new integration are available
             as open source

                –     A new Spring subproject in the web portfolio:

                      Spring BlazeDS Integration

     •       Focus on integrating the open source BlazeDS with
             Spring


                                                                                       13




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Spring BlazeDS Integration

   •       Bootstrap the BlazeDS MessageBroker as a Spring-
           managed bean (no more web.xml
           MessageBrokerServlet config needed)

   •       Route http-based Flex messages to the
           MessageBroker through the Spring DispatcherServlet

   •       Expose Spring beans for remoting using common
           Spring remoting exporter pattern
            – Using XML namespace tags or Java annotations
            – No more remoting-config.xml
                                                                                       14




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Demo




Wednesday, June 16, 2010
Spring BlazeDS Integration -
    Security
     •       Spring Security integration

             – Easily enabled through simple XML namespace tags

             – SpringSecurityLoginManager enables use of Spring
               Security for Authentication through the Flex API
                         • optionally supports per-client authentication

             – Gives access to the GrantedAuthorities for conditional UI
               logic

             – Destinations (which are just Spring beans) are secured
               using existing Spring Security Authorization         16
               mechanisms

  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Demo




Wednesday, June 16, 2010
Spring BlazeDS Integration -
    Messaging
    • Messaging integration

                –     Integration with the BlazeDS MessageService
                     • No more need for messaging-config.xml

                –     Use Spring configuration to manage BlazeDS
                      MessageDestinations

                –     MessageTemplate provides simple server-push capabilities

                –     Adapters provided for Spring JMS and Spring Integration
                     • Allows easy communication from Flex clients to Spring message-
                       driven POJOs                                               18




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Demo




Wednesday, June 16, 2010
Spring BlazeDS Integration -
    Advanced Customization

    • Several hooks are provided for advanced
      customization

               – ExceptionTranslator

               – MessageInterceptor

               – ManageableComponentFactoryBean
                         • for integrating 3rd-party adapters (i.e., dpHibernate,
                           Gilead)


                                                                                       20




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Demo




Wednesday, June 16, 2010
Productivity: More Important than Ever
  • Must resolve first obstacle to Java in the
         cloud

  • Expectations are higher than ever before
  • Success of Ruby on Rails et al has raised the bar for
    building simpler applications
  • Developer choice crucial in determining cloud
            – Cloud apps often new
            – Often start simple
  • Java/JVM technologies perceived as complex


  SpringSource, a division of VMware. All rights reserved. Do not distribute without   22
                                   permission.
Wednesday, June 16, 2010
Increasing Productivity:
   The Opinionation Pyramid
       Opinionated, Productive


                                                                                        Ideal is to build on top of
                                                                                        powerful, extensible
                                              Grails/                                   layers
                                               Roo


                                                Spring                                  No need to move to
                                                                                        introduce new runtime
                                          Servlet/other
                                          specifications

                                                                                        Never hit a wall
                                                 JVM


         Choice, Power


  SpringSource, a division of VMware. All rights reserved. Do not distribute without                              23
                                   permission.
Wednesday, June 16, 2010
Grails
    The most popular rapid development framework for the JVM
    Solutions built on solid foundations




  SpringSource, a division of VMware. All rights reserved. SpringOne 2GX 2009. All rights reserved. Do not distribute without permission.
                                                           Do not distribute without                                                        24
                                   permission.
Wednesday, June 16, 2010
Spring Roo
   Higher Java productivity
   Familiar Java
      – Roo uses the Java APIs and
        standards you already know and
        trust.
   Usable and learnable
     – Roo features an extremely high level
       of usability and an advanced shell
   Trusted Spring Stack
      – Roo has no runtime – It’s just Spring
   Easy Roo removal
     – Roo can be easily removed from a
        user project in under five minutes.

  SpringSource, a division of VMware. All rights reserved. Do not distribute without   25
                                   permission.
Wednesday, June 16, 2010
Spring Roo Flex Addon

     •       Build on the BlazeDS Integration foundation to
             provide full scaffolding of a Spring Roo domain
             model.
              –    ActionScript entity source generation with round-
                   tripping
              –    View scaffold generation (intended to be extensible, i.e.
                   to be tailored to use frameworks such as Spring
                   ActionScript)




                                                                                       26




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Spring BlazeDS Integration -
    Upcoming Features (post-1.0)
   •      Spring 3.0 REST integration
             –     Provides support for multiple client-types

             –     Flex apps can already consume Spring 3.0 RESTful endpoints
                   through HTTPService

             –     Additional value could be realized by providing an AMFView
                   implementation

                       •    Response for HTTP requests with a Content-Type=application/
                            actionscript

  • Hibernate serialization support
            – Make it easier to serialize Hibernate entities to AMF without               27
              LazyInitializationException, etc.


  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
LCDS Integration - Potential
    Features
           •       Enable users to easily take advantage of the
                   advanced data synchronization features of LCDS
                   using their existing service infrastructure

           •       Ensure smooth integration of existing BlazeDS
                   Integration features with the LCDS NIO-based
                   SocketServer




                                                                                       28




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
LCDS Integration - Potential
    Features
       •       LCDS data Assemblers configured as Spring beans

                 –      Enables them for declarative transaction control

       •       SpringHibernateAssembler that uses a Spring-
               managed Hibernate SessionFactory

                 –      equivalent assembler for JPA

       •       Declarative annotation-based adaptation of existing
               Spring-managed DAOs to the Assembler interface
                                                                                       29




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Summary
           •       Flex and Spring together provide a powerful solution for
                   building enterprise class RIAs

           •       BlazeDS provides a proven open source foundation to build on
                   for
                   Flex->Java communication

           •       LCDS takes up where BlazeDS leaves off to provide a first-class
                   supported enterprise solution

           •       Spring BlazeDS Integration makes Flex the obvious and easy
                   choice for building a Spring-powered RIA


                                                                                       30




  SpringSource, a division of VMware. All rights reserved. Do not distribute without
                                   permission.
Wednesday, June 16, 2010
Questions?

    • For additional info:

               – http://www.springsource.org/spring-flex

               – http://forum.springsource.org

               – http://blog.springsource.com




  SpringSource, a division of VMware. All rights reserved. Do not distribute without   31
                                   permission.
Wednesday, June 16, 2010

Weitere ähnliche Inhalte

Was ist angesagt?

Intercloud Registry
Intercloud RegistryIntercloud Registry
Intercloud Registryguest236753
 
OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM
OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM
OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM Brian O'Donovan
 
Managing your Cloud with Confidence
Managing your Cloud with Confidence Managing your Cloud with Confidence
Managing your Cloud with Confidence CA Nimsoft
 
VMUG ISRAEL November 2012, EMC session by Itzik Reich
VMUG ISRAEL November 2012, EMC session by Itzik ReichVMUG ISRAEL November 2012, EMC session by Itzik Reich
VMUG ISRAEL November 2012, EMC session by Itzik ReichItzik Reich
 
Building up cloud infrastructure
Building up cloud infrastructureBuilding up cloud infrastructure
Building up cloud infrastructureOlga Lavrentieva
 
Managing Cost in Public Cloud Environments
Managing Cost in Public Cloud EnvironmentsManaging Cost in Public Cloud Environments
Managing Cost in Public Cloud EnvironmentsCompuware APM
 
Unified FlexPod Management and Automation
Unified FlexPod Management and AutomationUnified FlexPod Management and Automation
Unified FlexPod Management and Automationsubtitle
 
Understand, Extend and Customize Alloy by IBM and SAP
Understand, Extend and Customize Alloy by IBM and SAPUnderstand, Extend and Customize Alloy by IBM and SAP
Understand, Extend and Customize Alloy by IBM and SAPChristian Holsing
 
Peter Coffee at share2010seattle
Peter Coffee at share2010seattlePeter Coffee at share2010seattle
Peter Coffee at share2010seattlePeter Coffee
 
Microsoft Lync Teched Eilat
Microsoft Lync   Teched EilatMicrosoft Lync   Teched Eilat
Microsoft Lync Teched EilatRonenbenjamin
 
Client side load balancer using cloud
Client side load balancer using cloudClient side load balancer using cloud
Client side load balancer using cloudGoutham Reddy
 
Lotus Sametime 8.5: Using the new Sametime System Console
Lotus Sametime 8.5: Using the new Sametime System ConsoleLotus Sametime 8.5: Using the new Sametime System Console
Lotus Sametime 8.5: Using the new Sametime System Consolejackdowning
 
Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...
Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...
Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...CA API Management
 

Was ist angesagt? (15)

Intercloud Registry
Intercloud RegistryIntercloud Registry
Intercloud Registry
 
Xen App Fp2
Xen App Fp2Xen App Fp2
Xen App Fp2
 
OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM
OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM
OSS Bar Camp - The growing usage of Open Source desktop client SW in IBM
 
Managing your Cloud with Confidence
Managing your Cloud with Confidence Managing your Cloud with Confidence
Managing your Cloud with Confidence
 
VMUG ISRAEL November 2012, EMC session by Itzik Reich
VMUG ISRAEL November 2012, EMC session by Itzik ReichVMUG ISRAEL November 2012, EMC session by Itzik Reich
VMUG ISRAEL November 2012, EMC session by Itzik Reich
 
Building up cloud infrastructure
Building up cloud infrastructureBuilding up cloud infrastructure
Building up cloud infrastructure
 
Managing Cost in Public Cloud Environments
Managing Cost in Public Cloud EnvironmentsManaging Cost in Public Cloud Environments
Managing Cost in Public Cloud Environments
 
Unified FlexPod Management and Automation
Unified FlexPod Management and AutomationUnified FlexPod Management and Automation
Unified FlexPod Management and Automation
 
Understand, Extend and Customize Alloy by IBM and SAP
Understand, Extend and Customize Alloy by IBM and SAPUnderstand, Extend and Customize Alloy by IBM and SAP
Understand, Extend and Customize Alloy by IBM and SAP
 
Peter Coffee at share2010seattle
Peter Coffee at share2010seattlePeter Coffee at share2010seattle
Peter Coffee at share2010seattle
 
Microsoft Lync Teched Eilat
Microsoft Lync   Teched EilatMicrosoft Lync   Teched Eilat
Microsoft Lync Teched Eilat
 
Client side load balancer using cloud
Client side load balancer using cloudClient side load balancer using cloud
Client side load balancer using cloud
 
Lotus Sametime 8.5: Using the new Sametime System Console
Lotus Sametime 8.5: Using the new Sametime System ConsoleLotus Sametime 8.5: Using the new Sametime System Console
Lotus Sametime 8.5: Using the new Sametime System Console
 
Enterprise Service Bus Part 1
Enterprise Service Bus Part 1Enterprise Service Bus Part 1
Enterprise Service Bus Part 1
 
Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...
Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...
Security & Governance for the Cloud: a Savvis Case Study (Presented at Cloud ...
 

Andere mochten auch

Javawug bof 57 scala why now
Javawug bof 57 scala why nowJavawug bof 57 scala why now
Javawug bof 57 scala why nowSkills Matter
 
Facets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark MurphyFacets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark MurphySkills Matter
 
Phone gap nikolaionken-08-06
Phone gap nikolaionken-08-06Phone gap nikolaionken-08-06
Phone gap nikolaionken-08-06Skills Matter
 
Tech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagyTech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagySkills Matter
 

Andere mochten auch (7)

Tomas Grails
Tomas GrailsTomas Grails
Tomas Grails
 
Javawug bof 57 scala why now
Javawug bof 57 scala why nowJavawug bof 57 scala why now
Javawug bof 57 scala why now
 
Facets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark MurphyFacets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark Murphy
 
Phone gap nikolaionken-08-06
Phone gap nikolaionken-08-06Phone gap nikolaionken-08-06
Phone gap nikolaionken-08-06
 
Skills matter v3
Skills matter v3Skills matter v3
Skills matter v3
 
Ispn
IspnIspn
Ispn
 
Tech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagyTech talk specflow_bddx_hassa_nagy
Tech talk specflow_bddx_hassa_nagy
 

Ähnlich wie Jeremy Spring Source Blaze Ds

First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...Real-Time Innovations (RTI)
 
Complex End-to-End Testing
Complex End-to-End TestingComplex End-to-End Testing
Complex End-to-End TestingErika Barron
 
Lcds & Blaze Ds by Corneliu Creanga
Lcds & Blaze Ds by Corneliu CreangaLcds & Blaze Ds by Corneliu Creanga
Lcds & Blaze Ds by Corneliu CreangaJUG Genova
 
Glass Fish Mobility Platform Santiago Pericas Geersten V2
Glass Fish Mobility Platform Santiago Pericas Geersten V2Glass Fish Mobility Platform Santiago Pericas Geersten V2
Glass Fish Mobility Platform Santiago Pericas Geersten V2Eduardo Pelegri-Llopart
 
Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Marc Schaer
 
GlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans HrasnaGlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans HrasnaEduardo Pelegri-Llopart
 
HP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 LaunchHP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 Launchgrahamwright
 
Embedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP applicationEmbedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP applicationMariano Luna
 
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó FoghlúFOMS011
 
Enabling Content Workflows in the Cloud
Enabling Content Workflows in the CloudEnabling Content Workflows in the Cloud
Enabling Content Workflows in the CloudAmazon Web Services
 
Solaiemes RCS-e Open & Ubiquitous
Solaiemes RCS-e Open & UbiquitousSolaiemes RCS-e Open & Ubiquitous
Solaiemes RCS-e Open & UbiquitousSolaiemes
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network ServiceLew Tucker
 
Viestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / ExchangeViestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / ExchangeSalcom Group
 
Microsoft Silverlight 2
Microsoft Silverlight 2Microsoft Silverlight 2
Microsoft Silverlight 2David Chou
 
VSC Wholesale &amp; Retail Softswitch
VSC Wholesale &amp; Retail SoftswitchVSC Wholesale &amp; Retail Softswitch
VSC Wholesale &amp; Retail Softswitchmytlaw
 
Building tomorrow's web with today's tools
Building tomorrow's web with today's toolsBuilding tomorrow's web with today's tools
Building tomorrow's web with today's toolsJames Pearce
 

Ähnlich wie Jeremy Spring Source Blaze Ds (20)

First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
 
Complex End-to-End Testing
Complex End-to-End TestingComplex End-to-End Testing
Complex End-to-End Testing
 
Lcds & Blaze Ds by Corneliu Creanga
Lcds & Blaze Ds by Corneliu CreangaLcds & Blaze Ds by Corneliu Creanga
Lcds & Blaze Ds by Corneliu Creanga
 
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client AccessExchange 2013 ABC's: Architecture, Best Practices and Client Access
Exchange 2013 ABC's: Architecture, Best Practices and Client Access
 
Glass Fish Mobility Platform Santiago Pericas Geersten V2
Glass Fish Mobility Platform Santiago Pericas Geersten V2Glass Fish Mobility Platform Santiago Pericas Geersten V2
Glass Fish Mobility Platform Santiago Pericas Geersten V2
 
New Convergence
New ConvergenceNew Convergence
New Convergence
 
Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009
 
GlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans HrasnaGlassFish Mobility Platform - Hans Hrasna
GlassFish Mobility Platform - Hans Hrasna
 
HP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 LaunchHP Service Delivery Platform 3.0 Launch
HP Service Delivery Platform 3.0 Launch
 
Embedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP applicationEmbedding Jaspersoft into your PHP application
Embedding Jaspersoft into your PHP application
 
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
2. FOMS _ FeedHenry_ Mícheál Ó Foghlú
 
Enabling Content Workflows in the Cloud
Enabling Content Workflows in the CloudEnabling Content Workflows in the Cloud
Enabling Content Workflows in the Cloud
 
Solaiemes RCS-e Open & Ubiquitous
Solaiemes RCS-e Open & UbiquitousSolaiemes RCS-e Open & Ubiquitous
Solaiemes RCS-e Open & Ubiquitous
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
Viestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / ExchangeViestinnän seminaari 8.11.2012 / Exchange
Viestinnän seminaari 8.11.2012 / Exchange
 
Microsoft Silverlight 2
Microsoft Silverlight 2Microsoft Silverlight 2
Microsoft Silverlight 2
 
VO Course 04: VO architecture
VO Course 04: VO architectureVO Course 04: VO architecture
VO Course 04: VO architecture
 
VSC Wholesale &amp; Retail Softswitch
VSC Wholesale &amp; Retail SoftswitchVSC Wholesale &amp; Retail Softswitch
VSC Wholesale &amp; Retail Softswitch
 
Building tomorrow's web with today's tools
Building tomorrow's web with today's toolsBuilding tomorrow's web with today's tools
Building tomorrow's web with today's tools
 
Ims Services
Ims ServicesIms Services
Ims Services
 

Mehr von Skills Matter

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard LawrenceSkills Matter
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimSkills Matter
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Skills Matter
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlSkills Matter
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsSkills Matter
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Skills Matter
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Skills Matter
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Skills Matter
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Skills Matter
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingSkills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveSkills Matter
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSkills Matter
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tSkills Matter
 

Mehr von Skills Matter (20)

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberl
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.js
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testing
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
 
Lug presentation
Lug presentationLug presentation
Lug presentation
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
 

Kürzlich hochgeladen

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Kürzlich hochgeladen (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

Jeremy Spring Source Blaze Ds

  • 1. Rapid RIA with Spring + Flex Jeremy Grelle Senior Member Technical Staff (a.k.a, Open Source Web Dude) SpringSource a division of VMware Wednesday, June 16, 2010
  • 2. Agenda • Spring Intro • Spring + Flex • BlazeDS and LiveCycle Data Services Overview • Remoting Review • Spring BlazeDS Integration • Future Roadmap and Preview • Q&A SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 3. The Spring Philosophy • Developers should be able to focus – on the particular business domain of an application – NOT infrastructural concerns • Inversion of Control – the “Hollywood Principle” – don’t call us, we’ll call you... SpringSource, a division of VMware. All rights reserved. Do not distribute without 3 permission. Wednesday, June 16, 2010
  • 4. The Spring Experience • Spring aims to ease integration of a multitude of Java technologies • A Spring developer is attracted to the “Spring Way” of doing things – Common configuration approach for many disparate technologies – Easy transition from “simple” to “enterprise” • i.e., Local transactions to full-blown JTA requires no code changes 4 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 5. Why Flex + Spring? • Spring has emerged as the de facto standard for the business tier of Java Enterprise applications. • Spring aims to be agnostic to the chosen client technology. • Flex is the obvious choice when a Spring developer is looking at RIA • Don't have to abandon your server-side Spring investment to move into RIA 5 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 6. Open Source BlazeDS Client-side APIs RemoteObject Producer Consumer Server-side Channels Infrastructure HTTP Long AMF Polling Streaming Piggyback Polling Messaging Remoting Proxy Services Pub/Sub RPC Real Time Push AMF Adapters JMS SQL Java ColdFusion WSRP Spring Security SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 7. LiveCycle Data Services Client-side APIs RemoteObject Producer Consumer Dataservice Server-side Channels NIO Long Infrastructure HTTP NIO Polling Polling NIO Streaming RTMP Long AMF Polling Streaming Piggyback Polling Messaging Remoting Data Mgmt Proxy Services Pub/Sub RPC Change Tracking Real Time Push AMF Data Sync PDF Adapters JMS SQL Java Hibernate ColdFusion WSRP Spring Security SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 8. Remoting Service • Enables client applications to remotely invoke methods of objects deployed in your application server • Type information is maintained (see Java - ActionScript data type mapping) • Binary encoding of data (AMF: Action Message Format) • Benefits – Straightforward programming model (avoid double XML transformation) – Significant performance and bandwidth advantages SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 9. Remoting 101 <mx:RemoteObject id="srv" destination="product"/> <mx:Button label="Get Data" click="srv.getProducts()"/ > <mx:DataGrid dataProvider="{srv.getProducts.lastResult} "/> • remoting-config.xml <destination id="product"> <properties> <source>flex.samples.ProductService</source> </properties> </destination> SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 10. Using Spring - Old SpringFactory Approach • services-config.xml <factories> <factory id="spring" class="flex.samples.factories.SpringFactory"/> </factories> • remoting-config.xml <destination id="productService"> <properties> <factory>spring</factory> <source>productBean</source> </properties> </destination> SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 11. Spring -> Flex • The old path was overly complex – Using the “dependency lookup” approach of the SpringFactory feels antithetical to the “Spring Way” – The burden of configuration is multiplied – Potential for deep integration beyond just remoting is limited – Ultimately acts as a potential barrier to adoption of Flex by the Spring community 11 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 12. The Way Forward • Ideally lower the barrier to adoption of Flex by the Spring community – Configuration using the “Spring Way” – Deeper integration beyond remoting – Make Flex the obvious and easy choice for a Spring- powered RIA • SpringSource and Adobe formed a joint partnership 12 to turn this idea into reality SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 13. Open Source Foundation • The foundations of this new integration are available as open source – A new Spring subproject in the web portfolio: Spring BlazeDS Integration • Focus on integrating the open source BlazeDS with Spring 13 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 14. Spring BlazeDS Integration • Bootstrap the BlazeDS MessageBroker as a Spring- managed bean (no more web.xml MessageBrokerServlet config needed) • Route http-based Flex messages to the MessageBroker through the Spring DispatcherServlet • Expose Spring beans for remoting using common Spring remoting exporter pattern – Using XML namespace tags or Java annotations – No more remoting-config.xml 14 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 16. Spring BlazeDS Integration - Security • Spring Security integration – Easily enabled through simple XML namespace tags – SpringSecurityLoginManager enables use of Spring Security for Authentication through the Flex API • optionally supports per-client authentication – Gives access to the GrantedAuthorities for conditional UI logic – Destinations (which are just Spring beans) are secured using existing Spring Security Authorization 16 mechanisms SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 18. Spring BlazeDS Integration - Messaging • Messaging integration – Integration with the BlazeDS MessageService • No more need for messaging-config.xml – Use Spring configuration to manage BlazeDS MessageDestinations – MessageTemplate provides simple server-push capabilities – Adapters provided for Spring JMS and Spring Integration • Allows easy communication from Flex clients to Spring message- driven POJOs 18 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 20. Spring BlazeDS Integration - Advanced Customization • Several hooks are provided for advanced customization – ExceptionTranslator – MessageInterceptor – ManageableComponentFactoryBean • for integrating 3rd-party adapters (i.e., dpHibernate, Gilead) 20 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 22. Productivity: More Important than Ever • Must resolve first obstacle to Java in the cloud • Expectations are higher than ever before • Success of Ruby on Rails et al has raised the bar for building simpler applications • Developer choice crucial in determining cloud – Cloud apps often new – Often start simple • Java/JVM technologies perceived as complex SpringSource, a division of VMware. All rights reserved. Do not distribute without 22 permission. Wednesday, June 16, 2010
  • 23. Increasing Productivity: The Opinionation Pyramid Opinionated, Productive  Ideal is to build on top of powerful, extensible Grails/ layers Roo Spring  No need to move to introduce new runtime Servlet/other specifications  Never hit a wall JVM Choice, Power SpringSource, a division of VMware. All rights reserved. Do not distribute without 23 permission. Wednesday, June 16, 2010
  • 24. Grails  The most popular rapid development framework for the JVM  Solutions built on solid foundations SpringSource, a division of VMware. All rights reserved. SpringOne 2GX 2009. All rights reserved. Do not distribute without permission. Do not distribute without 24 permission. Wednesday, June 16, 2010
  • 25. Spring Roo  Higher Java productivity  Familiar Java – Roo uses the Java APIs and standards you already know and trust.  Usable and learnable – Roo features an extremely high level of usability and an advanced shell  Trusted Spring Stack – Roo has no runtime – It’s just Spring  Easy Roo removal – Roo can be easily removed from a user project in under five minutes. SpringSource, a division of VMware. All rights reserved. Do not distribute without 25 permission. Wednesday, June 16, 2010
  • 26. Spring Roo Flex Addon • Build on the BlazeDS Integration foundation to provide full scaffolding of a Spring Roo domain model. – ActionScript entity source generation with round- tripping – View scaffold generation (intended to be extensible, i.e. to be tailored to use frameworks such as Spring ActionScript) 26 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 27. Spring BlazeDS Integration - Upcoming Features (post-1.0) • Spring 3.0 REST integration – Provides support for multiple client-types – Flex apps can already consume Spring 3.0 RESTful endpoints through HTTPService – Additional value could be realized by providing an AMFView implementation • Response for HTTP requests with a Content-Type=application/ actionscript • Hibernate serialization support – Make it easier to serialize Hibernate entities to AMF without 27 LazyInitializationException, etc. SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 28. LCDS Integration - Potential Features • Enable users to easily take advantage of the advanced data synchronization features of LCDS using their existing service infrastructure • Ensure smooth integration of existing BlazeDS Integration features with the LCDS NIO-based SocketServer 28 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 29. LCDS Integration - Potential Features • LCDS data Assemblers configured as Spring beans – Enables them for declarative transaction control • SpringHibernateAssembler that uses a Spring- managed Hibernate SessionFactory – equivalent assembler for JPA • Declarative annotation-based adaptation of existing Spring-managed DAOs to the Assembler interface 29 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 30. Summary • Flex and Spring together provide a powerful solution for building enterprise class RIAs • BlazeDS provides a proven open source foundation to build on for Flex->Java communication • LCDS takes up where BlazeDS leaves off to provide a first-class supported enterprise solution • Spring BlazeDS Integration makes Flex the obvious and easy choice for building a Spring-powered RIA 30 SpringSource, a division of VMware. All rights reserved. Do not distribute without permission. Wednesday, June 16, 2010
  • 31. Questions? • For additional info: – http://www.springsource.org/spring-flex – http://forum.springsource.org – http://blog.springsource.com SpringSource, a division of VMware. All rights reserved. Do not distribute without 31 permission. Wednesday, June 16, 2010