Jeremy Spring Source Blaze Ds

2,475 views

Published on

Published in: Technology, Education
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
2,475
On SlideShare
0
From Embeds
0
Number of Embeds
108
Actions
Shares
0
Downloads
70
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Jeremy Spring Source Blaze Ds

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  15. 15. Demo Wednesday, June 16, 2010
  16. 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
  17. 17. Demo Wednesday, June 16, 2010
  18. 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
  19. 19. Demo Wednesday, June 16, 2010
  20. 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
  21. 21. Demo Wednesday, June 16, 2010
  22. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×