SlideShare une entreprise Scribd logo
1  sur  27
Spring BlazeDS Integration


Adobe RIA London User Group
Rick Evans
Skills Matter
Two Great Flavours
Spring BlazeDS Integration


Overviews of...

    Spring
    BlazeDS

Spring BlazeDS Integration

Roadmap
Q&A... Pub
Spring

Spring is

 a Java framework
 for developing enterprise applications

 it handles the infrastructure
 so that you can focus on developing your application

 latest version is 3.0.x
Spring

Rich ecosystem of Spring projects

 Spring Batch
 Spring WebFlow
 Spring Security
 Spring Roo
 Grails

 Spring BlazeDS Integration
 Spring ActionScript – Flex DI/IOC
Spring
BlazeDS
Remoting Basics :: Client

 <mx:RemoteObject id="instrumentService"
                  destination="instrument-static"/>

 <mx:DataGrid id="instrumentStatic"
     dataProvider="{instrumentService.getStatic.lastResult}"/>

 <mx:Button label="Load Instruments"
            click="instrumentService.getStatic()"/>




(in some MXML file of the client-application source)
Remoting Basics :: Server

 <destination id="instrument-static">

     <properties>

        <source>skillsmatter.flug.InstrumentService</source>

     </properties>

 </destination>



(in the file remoting-config.xml on the server)

This is vanilla BlazeDS with no Spring integration flavouring
Spring BlazeDS Integration

Open source BlazeDS integration library

A collaboration between Adobe and Springsource
Preserves investment in existing Spring-based server tier
Spring configuration of BlazeDS components
Idiomatic Spring remoting inline with other offerings
Spring programming model for BlazeDS components

Easier integration with other Spring Portfolio projects
   Spring Security
   Spring Integration (EMS)
Spring BlazeDS Integration

Differences from vanilla BlazeDS

No need for MessageBrokerServlet configuration
MessageBroker (MB) configured directly as a Spring bean
MB lifecycle controlled by Spring container
MB itself can benefit from dependency injection
MB can be dependency injected into dependant beans


Messages are routed through Spring's DispatcherServlet
Spring BlazeDS Integration
Remoting

BlazeDS remoting is idiomatic Spring remoting

Middle-tier services are exported for remoting by Spring
No need for separate remoting-config.xml
Exported services are agnostic of the remoting

You can effect the export via:

    regular Spring beans XML config
    custom <flex:namespace/> Spring namespace
    annotations
Remoting
Messaging

BlazeDS messaging components are first-class Spring beans

No need for vanilla messaging-config.xml

Inversion of Control for pushing messages to consumers
   MessageTemplate for basic server-push capability


Easy integration with Spring's JMS features
   Custom JmsAdapter provided
Messaging
Security


Previous releases have supported Spring Security 2.x

Latest release sports Spring Security 3.0.x integration

You can apply security at...

   Endpoints (URLs)
   Channels (IDs)
   Service methods
Security
Security

<flex:message-broker>

      <flex:secured/>

</flex:message-broker>




This installs a Spring Security-specific LoginCommand

ChannelSet.[login,logout]() now integrated
Security


<destination id="productService">

  <security>
      <security-constraint>
          <auth-method>Custom</auth-method>
          <roles>
              <role>ROLE_USER</role>
          </roles>
      </security-constraint>
  </security>

</destination>
Security :: Channel


<flex:message-broker>

  <flex:secured>

      <flex:secured-channel channel="my-amf"
                            access="ROLE_USER"/>

  </flex:secured>

</flex:message-broker>
Security :: Endpoint


<flex:message-broker>

   <flex:secured>

     <flex:secured-endpoint-path
                pattern="**/messagebroker/**"
                access="ROLE_USER"/>

  </flex:secured>

</flex:message-broker>
Security :: Annotations


public interface BankService {

    @Secured("IS_AUTHENTICATED_ANONYMOUSLY")
    public Account readAccount(Long id);

    @Secured("IS_AUTHENTICATED_ANONYMOUSLY")
    public Account[] findAccounts();

    @Secured("ROLE_TELLER")
    public Account post(Account account, double amount);
}
Security :: Client Side


var token:AsyncToken = channelSet.login("high","5");
token.addResponder(
   new AsyncResponder(
      function(event:ResultEvent, token:Object = null):void {
         if (event.result.authorities
                      .indexOf("ROLE_ADMIN") >= 0) {
            // ...
         }
      },
      function(event:FaultEvent, token:Object = null):void {}
   )
);
Roadmap
Spring BlazeDS Integration 1.0.2

  Released February 2010
  Spring Security 3 Integration
  Maintenance mode for 1.0.3

Spring BlazeDS Integration 1.5

  BlazeDS 4 support
  Serialization of Hibernate entities to AMF
  (Later) LCDS support
Resources

Spring BlazeDS Integration Homepage

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


Adobe BlazeDS Homepage

   http://opensource.adobe.com/blazeds/


Skills Matter Flex on Java Exchange

   London, June 2010
Pub

Contenu connexe

Tendances

SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
ukdpe
 

Tendances (20)

Anypoint enterprise security overview
Anypoint enterprise security overviewAnypoint enterprise security overview
Anypoint enterprise security overview
 
Mule security
Mule  securityMule  security
Mule security
 
Mule anypoint enterprise security
Mule  anypoint enterprise securityMule  anypoint enterprise security
Mule anypoint enterprise security
 
Mule securing
Mule   securingMule   securing
Mule securing
 
3 0 Webinar
3 0 Webinar3 0 Webinar
3 0 Webinar
 
Mule anypoint b2 b
Mule  anypoint b2 bMule  anypoint b2 b
Mule anypoint b2 b
 
Mule Microsoft Share Point 2013 Connector
Mule Microsoft Share Point 2013 ConnectorMule Microsoft Share Point 2013 Connector
Mule Microsoft Share Point 2013 Connector
 
Mule security
Mule  securityMule  security
Mule security
 
Mule security
Mule securityMule security
Mule security
 
Introducing SAML 2.0 Protocol: Security and Performance
Introducing SAML 2.0 Protocol: Security and PerformanceIntroducing SAML 2.0 Protocol: Security and Performance
Introducing SAML 2.0 Protocol: Security and Performance
 
Mulesoft ppt
Mulesoft pptMulesoft ppt
Mulesoft ppt
 
Introduction to SAML
Introduction to SAMLIntroduction to SAML
Introduction to SAML
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
 
Test_PPT
Test_PPTTest_PPT
Test_PPT
 
NetIQ POC for Kerberos & WSS Integrated System
NetIQ POC for Kerberos & WSS Integrated SystemNetIQ POC for Kerberos & WSS Integrated System
NetIQ POC for Kerberos & WSS Integrated System
 
SQL Server 2008 Security Overview
SQL Server 2008 Security OverviewSQL Server 2008 Security Overview
SQL Server 2008 Security Overview
 
Weblogic server
Weblogic serverWeblogic server
Weblogic server
 
Weblogic online training
Weblogic online trainingWeblogic online training
Weblogic online training
 
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-onFast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on
 
VMworld 2013: Changing the Economics of Firewall Services in the Software-Def...
VMworld 2013: Changing the Economics of Firewall Services in the Software-Def...VMworld 2013: Changing the Economics of Firewall Services in the Software-Def...
VMworld 2013: Changing the Economics of Firewall Services in the Software-Def...
 

Similaire à Ria Spring Blaze Ds

Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
devaraj ns
 
Quantum Architecture Overview
Quantum Architecture OverviewQuantum Architecture Overview
Quantum Architecture Overview
jinpeng
 

Similaire à Ria Spring Blaze Ds (20)

Spring Cairngorm
Spring CairngormSpring Cairngorm
Spring Cairngorm
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
JDD 2016 - Michał Balinski, Oleksandr Goldobin - Practical Non Blocking Micro...
JDD 2016 - Michał Balinski, Oleksandr Goldobin - Practical Non Blocking Micro...JDD 2016 - Michał Balinski, Oleksandr Goldobin - Practical Non Blocking Micro...
JDD 2016 - Michał Balinski, Oleksandr Goldobin - Practical Non Blocking Micro...
 
From Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy FactorsFrom Zero to Cloud in 12 Easy Factors
From Zero to Cloud in 12 Easy Factors
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Java EE Services
Java EE ServicesJava EE Services
Java EE Services
 
ESM v5.0 Service Layer Developer's Guide
ESM v5.0 Service Layer Developer's GuideESM v5.0 Service Layer Developer's Guide
ESM v5.0 Service Layer Developer's Guide
 
ESM v5.0 Service Layer Developer's Guide
ESM v5.0 Service Layer Developer's GuideESM v5.0 Service Layer Developer's Guide
ESM v5.0 Service Layer Developer's Guide
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Adobe Flex4
Adobe Flex4 Adobe Flex4
Adobe Flex4
 
Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014
 
Security Architecture Consulting - Hiren Shah
Security Architecture Consulting - Hiren ShahSecurity Architecture Consulting - Hiren Shah
Security Architecture Consulting - Hiren Shah
 
Private Apps in the Public Cloud - DevConTLV March 2016
Private Apps in the Public Cloud - DevConTLV March 2016Private Apps in the Public Cloud - DevConTLV March 2016
Private Apps in the Public Cloud - DevConTLV March 2016
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 
Quantum Architecture Overview
Quantum Architecture OverviewQuantum Architecture Overview
Quantum Architecture Overview
 
Quantum Architecture Overview
Quantum Architecture OverviewQuantum Architecture Overview
Quantum Architecture Overview
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Unlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph APIUnlocking security insights with Microsoft Graph API
Unlocking security insights with Microsoft Graph API
 

Plus de Skills 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 manheim
Skills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
Skills 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_t
Skills Matter
 

Plus de 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
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Ria Spring Blaze Ds

  • 1. Spring BlazeDS Integration Adobe RIA London User Group Rick Evans Skills Matter
  • 3. Spring BlazeDS Integration Overviews of... Spring BlazeDS Spring BlazeDS Integration Roadmap Q&A... Pub
  • 4. Spring Spring is a Java framework for developing enterprise applications it handles the infrastructure so that you can focus on developing your application latest version is 3.0.x
  • 5. Spring Rich ecosystem of Spring projects Spring Batch Spring WebFlow Spring Security Spring Roo Grails Spring BlazeDS Integration Spring ActionScript – Flex DI/IOC
  • 8. Remoting Basics :: Client <mx:RemoteObject id="instrumentService" destination="instrument-static"/> <mx:DataGrid id="instrumentStatic" dataProvider="{instrumentService.getStatic.lastResult}"/> <mx:Button label="Load Instruments" click="instrumentService.getStatic()"/> (in some MXML file of the client-application source)
  • 9. Remoting Basics :: Server <destination id="instrument-static"> <properties> <source>skillsmatter.flug.InstrumentService</source> </properties> </destination> (in the file remoting-config.xml on the server) This is vanilla BlazeDS with no Spring integration flavouring
  • 10. Spring BlazeDS Integration Open source BlazeDS integration library A collaboration between Adobe and Springsource Preserves investment in existing Spring-based server tier Spring configuration of BlazeDS components Idiomatic Spring remoting inline with other offerings Spring programming model for BlazeDS components Easier integration with other Spring Portfolio projects Spring Security Spring Integration (EMS)
  • 11. Spring BlazeDS Integration Differences from vanilla BlazeDS No need for MessageBrokerServlet configuration MessageBroker (MB) configured directly as a Spring bean MB lifecycle controlled by Spring container MB itself can benefit from dependency injection MB can be dependency injected into dependant beans Messages are routed through Spring's DispatcherServlet
  • 13. Remoting BlazeDS remoting is idiomatic Spring remoting Middle-tier services are exported for remoting by Spring No need for separate remoting-config.xml Exported services are agnostic of the remoting You can effect the export via: regular Spring beans XML config custom <flex:namespace/> Spring namespace annotations
  • 15. Messaging BlazeDS messaging components are first-class Spring beans No need for vanilla messaging-config.xml Inversion of Control for pushing messages to consumers MessageTemplate for basic server-push capability Easy integration with Spring's JMS features Custom JmsAdapter provided
  • 17. Security Previous releases have supported Spring Security 2.x Latest release sports Spring Security 3.0.x integration You can apply security at... Endpoints (URLs) Channels (IDs) Service methods
  • 19. Security <flex:message-broker> <flex:secured/> </flex:message-broker> This installs a Spring Security-specific LoginCommand ChannelSet.[login,logout]() now integrated
  • 20. Security <destination id="productService"> <security> <security-constraint> <auth-method>Custom</auth-method> <roles> <role>ROLE_USER</role> </roles> </security-constraint> </security> </destination>
  • 21. Security :: Channel <flex:message-broker> <flex:secured> <flex:secured-channel channel="my-amf" access="ROLE_USER"/> </flex:secured> </flex:message-broker>
  • 22. Security :: Endpoint <flex:message-broker> <flex:secured> <flex:secured-endpoint-path pattern="**/messagebroker/**" access="ROLE_USER"/> </flex:secured> </flex:message-broker>
  • 23. Security :: Annotations public interface BankService { @Secured("IS_AUTHENTICATED_ANONYMOUSLY") public Account readAccount(Long id); @Secured("IS_AUTHENTICATED_ANONYMOUSLY") public Account[] findAccounts(); @Secured("ROLE_TELLER") public Account post(Account account, double amount); }
  • 24. Security :: Client Side var token:AsyncToken = channelSet.login("high","5"); token.addResponder( new AsyncResponder( function(event:ResultEvent, token:Object = null):void { if (event.result.authorities .indexOf("ROLE_ADMIN") >= 0) { // ... } }, function(event:FaultEvent, token:Object = null):void {} ) );
  • 25. Roadmap Spring BlazeDS Integration 1.0.2 Released February 2010 Spring Security 3 Integration Maintenance mode for 1.0.3 Spring BlazeDS Integration 1.5 BlazeDS 4 support Serialization of Hibernate entities to AMF (Later) LCDS support
  • 26. Resources Spring BlazeDS Integration Homepage http://www.springsource.org/spring-flex Adobe BlazeDS Homepage http://opensource.adobe.com/blazeds/ Skills Matter Flex on Java Exchange London, June 2010
  • 27. Pub