SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
RIAs with Java, Spring,
Hibernate, BlazeDS, and
Flex

James Ward
www.jamesward.com
Technical Evangelist - Adobe
#6662
Applications have evolved

Easy
                                                       2004


                      WEB APPLICATIONS
 EASE OF DEPLOYMENT




                                                                    RICH INTERNET
                                                1998                APPLICATIONS




                                         1992
Hard
                       MAINFRAME                                    CLIENT/ SERVER


                                                        Client
                        Limited                        Capability            Full
Adobe’s Software Development Platform
 Applications
                               Adobe
                               Media
                                                 Open Bug Database: Acrobat
                                                      Buzzword      Connect
                               Player           http:/ / bugs.adobe.com

Designer/ Developer Tools   Clients
                            Client
                            Runtimes                        Adobe              Flash               PDF
                                                            AIR                Player
60 Day Free Trial

Free for students           Frameworks
                            High Performance
                                                                                          Adobe
 and Creative Suite 4
      educators                JIT’ing VM: Ajax                                           Flex 3
                            Mozilla Tamarin
                            Servers/ Services
                                                               Open Source: MPL

       Flex Builder
                              LiveCycle   ColdFusion
                                                        Use any text editor Scene7
                                                              Acrobat
                                                       Flash Media    Flash  / IDE
                                                          Server     Connect       Cast
Adobe AIR Application Stack
        HTML                                 Flash
                                                                             Cross- OS
  HTML                                  Flex                                 Application
  JavaScript              Flash         ActionScript             HTML        Integrated
  XML                                   XML                                  Rendering
  CSS                                   Audio
                                                                             Integrated DOMs
                          PDF           Video                    PDF
                                                                             & Scripting



 File Syst em Network                   Applicat ion Drag and  Local
    Access    Detect ion
                         Not ifications
                                          Update       Drop   Database
                                                                       ...   Adobe AIR APIs


                        Mac, Windows, Linux & Device OS
How Flex Works
  Flex Builder IDE              Browser and ActionScript AIR
                                   MXML           Adobe
                             Flash Player
      Flex SDK
  MXML      ActionScript
   Flex Class Library
                             SOAP      HTTP/ S      AMF/ S    RTMP/ S



                                          Web Server
       Compile
                              XML/ HTTP               BlazeDS or
                                 REST              LC Data Services
                           SOAP Web Services
                                                 J2EE Application Server
         .swf
                            Ex isting Applications and Infrastructure
Tour de Flex - flex.org/ tour
Flex with Java via XML (RESTful / SOAP)

                               App Server




                        Web Service

            XML
Client   (RESTful /
           SOAP)
Introducing Open Source BlazeDS
                                                                      BlazeDS
                                                                                      Service
                                                           Data Management
 BlazeDS is the remoting and HTTP- based                                             Adapters
                                                          Data Synchronization
 messaging technology which Adobe is                                                 LiveCycle
                                                          Off- line Applications
 contributing to the community under LGPL
                                                              Data Paging               SQL
 v3
Capabilities                                                 RPC Services            Hibernate
>   Easily connects Flex & AIR applications to existing       Web Service
    server logic                                              HTTP Service           ColdFusion
>   High performance data transfer for more responsive    Rem ote Object Service
    applications                                                                        JMS
                                                              Messaging
>   Real- time data push over standard HTTP                                             Java
                                                           Publish & Subscribe
>   Full pub/ sub messaging that ex tends existing            Collaboration
    messaging infrastructure                               Real Tim e Data Push
                                                                                     Custom…

Publication of the Action Message Format                            Prox y Service
(AMF3) binary data protocol specification                        Web- tier Compiler
                                                                 Portal Deployment
Certified builds, warranty protection and
                                                                 RIA- PDF Generation
enterprise support subscriptions available
http:/ / www.jamesward.com/ census/
Flex with Java via Remoting

                                   J2EE Server
                      BlazeDS

                                                    POJO




                        Endpoint                 Spring Bean

         AMF
Client
                                                     EJB




                                                    Other
Flex with Java via Messaging

                                     J2EE Server
                                BlazeDS

                                                           Messaging
                                             Adapter X
                                                           System X



                                  Message                     JMS
                  Endpoint                  JMS Adapt er
                                  Service                   Provider



                                                           Messaging
                                             Adapter Y
                                                           System Y



         RTMP
         AMF
         HTTP                Publisher
                             Subscriber
Spring and Flex!

     SpringSource and Adobe have formed a joint partnership to turn this idea into
     reality!
     The foundations of this new integration will be available as open source
       – A new Spring subproject in the web portfolio:
                                                 Spring BlazeDS Integration
     Focus on integrating the open source BlazeDS with Spring




12
M1 - Dec 2 0 0 8

     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 typical Spring remoting exporter
     configuration




13
M2 - March 2 0 0 8

     Spring Security integration
       – Ensure that Spring security can secure any Springmanaged
          endpoints with credentials provided by the Flex app




14
post M2
Spring JMS integration
  – Integration with the BlazeDS MessageService
   – Use Spring configuration to manage BlazeDS
     MessageDestinations
   – Let Spring manage the JMS details
   – Allows easy communication from Flex clients to Spring
     message- driven POJOs
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  or  TTP 
                        f H      request w i h  Cont ­
                                        s  t a      ent Type= applcat on/ i
                                                                 i i act onscri
                                                                              pt
web.xml
< listener>
                       < listener-
class> org.springframework.web.contex t.Contex tLoaderListener< / listener- class>
< / listener>


< servlet>
                        < servlet- name> testdrive< / servlet- name>
                       < servlet-
class> org.springframework.web.servlet.DispatcherServlet< / servlet- class>
                        < load- on- startup> 1< / load- on- startup>
< / servlet>


< servlet- mapping>
                        < servlet- name> testdrive< / servlet- name>
                        < url- pattern> / messagebroker/ *< / url- pattern>
< / servlet- mapping>
web.xml - Security Config
< contex t- param>
                       < param- name> contextConfigLocation< / param- name>
                       < param- value>
                                                              / WEB- INF/ config/ web- application- config.x ml
                                                              / WEB- INF/ config/ web- application- security.x ml
                       < / param- value>
< / contex t- param>


< filter>
                       < filter- name> springSecurityFilterChain< / filter- name>
                       < filter- class> org.springframework.web.filter.DelegatingFilterProx y< / filter- class>
< / filter>


< filter- mapping>
                       < filter- name> springSecurityFilterChain< / filter- name>
                       < url- pattern> / *< / url- pattern>
< / filter- mapping>
web- application- config.xml
< beans xmlns= "http:/ / www.springframework.org/ schema/ beans"
                              xmlns:flex = "http:/ / www.springframework.org/ schema/ flex"
                              xmlns:security= "http:/ / www.springframework.org/ schema/ security"
      xmlns:x si= "http:/ / www.w3.org/ 2001/ XMLSchema- instance"
      xsi:schemaLocation= "

http:/ / www.springframework.org/ schema/ beans

http:/ / www.springframework.org/ schema/ beans/ spring- beans- 2.5.xsd
                                                         http:/ / www.springframework.org/ schema/ flex

http:/ / www.springframework.org/ schema/ flex/ spring- flex- 1.0.xsd

http:/ / www.springframework.org/ schema/ security

http:/ / www.springframework.org/ schema/ security/ spring- security- 2.0.4.xsd">


                            < flex :message- broker>
                                                         < flex:secured / >
                            < / flex :message- broker>
web- application- config.xml - Remoting
Beans       < !- - Ex pose the productDAO bean for BlazeDS remoting - - >
                       < flex:remote- service ref= "productService" / >


< !- - A secured version of productService - - >
< bean id= "securedProductService" class= "flex .spring.samples.product.ProductDAO" >
  < flex:remote- service/ >
  < constructor- arg ref= "dataSource"/ >
  < security:intercept- methods>
                              < security:protect method= "find*" access= "ROLE_USER" / >
                       < / security:intercept- methods>
< / bean>
20


Hibernate Integration

   Either wrap beans by remoting Spring services / EJB Session Beans /
    POJOs...
    public class Employee
    public class EmployeeService

   Or use dpHibernate

   Or use LCDS’s Data Management Service
21


EJB Entity Beans and Session Beans
The End

Questions?


Learn More:
> Tour de Flex - flex .org/ tour
> www.jamesward.com

Contenu connexe

Tendances

A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content RepositoryGabriel Walt
 
Michael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonMichael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonSkills Matter
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft SilverlightGlen Gordon
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformFrancesco Iervolino
 
Silverlight difference faqs-1
Silverlight  difference faqs-1Silverlight  difference faqs-1
Silverlight difference faqs-1Umar Ali
 
Web development with ASP.NET Web API
Web development with ASP.NET Web APIWeb development with ASP.NET Web API
Web development with ASP.NET Web APIDamir Dobric
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialRyan Baxter
 
Z os connect v2 ee vs v1 - 1 page
Z os connect v2 ee vs v1 - 1 pageZ os connect v2 ee vs v1 - 1 page
Z os connect v2 ee vs v1 - 1 pageLuigi Tommaseo
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrowpjanzen11
 
Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011Rupesh Kumar
 
Joe Staner Zend Con 2008
Joe Staner Zend Con 2008Joe Staner Zend Con 2008
Joe Staner Zend Con 2008ZendCon
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Springifnu bima
 

Tendances (20)

A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
 
Michael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 LondonMichael Adobe Flex Java 1 London
Michael Adobe Flex Java 1 London
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform
 
JavaOne 2015 Keynote Presentation
JavaOne 2015 Keynote PresentationJavaOne 2015 Keynote Presentation
JavaOne 2015 Keynote Presentation
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
air
airair
air
 
CQ 5.4 Deep-Dive
CQ 5.4 Deep-DiveCQ 5.4 Deep-Dive
CQ 5.4 Deep-Dive
 
Silverlight difference faqs-1
Silverlight  difference faqs-1Silverlight  difference faqs-1
Silverlight difference faqs-1
 
Flex in portal
Flex in portalFlex in portal
Flex in portal
 
Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
 
Web development with ASP.NET Web API
Web development with ASP.NET Web APIWeb development with ASP.NET Web API
Web development with ASP.NET Web API
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
 
emediaIT and Dell Breakfast - 2009.11.05
emediaIT and Dell Breakfast - 2009.11.05emediaIT and Dell Breakfast - 2009.11.05
emediaIT and Dell Breakfast - 2009.11.05
 
Z os connect v2 ee vs v1 - 1 page
Z os connect v2 ee vs v1 - 1 pageZ os connect v2 ee vs v1 - 1 page
Z os connect v2 ee vs v1 - 1 page
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrow
 
Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011
 
Joe Staner Zend Con 2008
Joe Staner Zend Con 2008Joe Staner Zend Con 2008
Joe Staner Zend Con 2008
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
 

Similaire à RIAs with Java, Spring, Hibernate, BlazeDS, and Flex

Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexMatthias Zeller
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011Michael Chaize
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFrançois Le Droff
 
Enrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA PlatformEnrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA PlatformInitium
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR SeminarYoss Cohen
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile developmentMichael Chaize
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with FlexConFoo
 
Qcon flex体系架构深度剖析
Qcon flex体系架构深度剖析Qcon flex体系架构深度剖析
Qcon flex体系架构深度剖析youzitang
 
Adobe Flex体系架构深度剖析
Adobe Flex体系架构深度剖析Adobe Flex体系架构深度剖析
Adobe Flex体系架构深度剖析George Ang
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integrationrssharma
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integrationravinxg
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItVenketash (Pat) Ramadass
 
Adobe jax2010 1_dashboard
Adobe jax2010 1_dashboardAdobe jax2010 1_dashboard
Adobe jax2010 1_dashboardguest9776673
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resourceskeith_sutton100
 
Develop multi-screen applications with Flex
Develop multi-screen applications with Flex Develop multi-screen applications with Flex
Develop multi-screen applications with Flex Codemotion
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introductionatomlin
 

Similaire à RIAs with Java, Spring, Hibernate, BlazeDS, and Flex (20)

Blaze Ds Slides
Blaze Ds SlidesBlaze Ds Slides
Blaze Ds Slides
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
Enrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA PlatformEnrique Duvos: Adobe RIA Platform
Enrique Duvos: Adobe RIA Platform
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Flex Rails Pres
Flex Rails PresFlex Rails Pres
Flex Rails Pres
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
 
Qcon flex体系架构深度剖析
Qcon flex体系架构深度剖析Qcon flex体系架构深度剖析
Qcon flex体系架构深度剖析
 
Adobe Flex体系架构深度剖析
Adobe Flex体系架构深度剖析Adobe Flex体系架构深度剖析
Adobe Flex体系架构深度剖析
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integration
 
Flex And Java Integration
Flex And Java IntegrationFlex And Java Integration
Flex And Java Integration
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use It
 
Adobe jax2010 1_dashboard
Adobe jax2010 1_dashboardAdobe jax2010 1_dashboard
Adobe jax2010 1_dashboard
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resources
 
Develop multi-screen applications with Flex
Develop multi-screen applications with Flex Develop multi-screen applications with Flex
Develop multi-screen applications with Flex
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introduction
 

Plus de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Dernier

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
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
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
(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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
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
 
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
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
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
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Dernier (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
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
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
(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...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
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...
 
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
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
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
 
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...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

RIAs with Java, Spring, Hibernate, BlazeDS, and Flex

  • 1. RIAs with Java, Spring, Hibernate, BlazeDS, and Flex James Ward www.jamesward.com Technical Evangelist - Adobe #6662
  • 2. Applications have evolved Easy 2004 WEB APPLICATIONS EASE OF DEPLOYMENT RICH INTERNET 1998 APPLICATIONS 1992 Hard MAINFRAME CLIENT/ SERVER Client Limited Capability Full
  • 3. Adobe’s Software Development Platform Applications Adobe Media Open Bug Database: Acrobat Buzzword Connect Player http:/ / bugs.adobe.com Designer/ Developer Tools Clients Client Runtimes Adobe Flash PDF AIR Player 60 Day Free Trial Free for students Frameworks High Performance Adobe and Creative Suite 4 educators JIT’ing VM: Ajax Flex 3 Mozilla Tamarin Servers/ Services Open Source: MPL Flex Builder LiveCycle ColdFusion Use any text editor Scene7 Acrobat Flash Media Flash / IDE Server Connect Cast
  • 4. Adobe AIR Application Stack HTML Flash Cross- OS HTML Flex Application JavaScript Flash ActionScript HTML Integrated XML XML Rendering CSS Audio Integrated DOMs PDF Video PDF & Scripting File Syst em Network Applicat ion Drag and Local Access Detect ion Not ifications Update Drop Database ... Adobe AIR APIs Mac, Windows, Linux & Device OS
  • 5. How Flex Works Flex Builder IDE Browser and ActionScript AIR MXML Adobe Flash Player Flex SDK MXML ActionScript Flex Class Library SOAP HTTP/ S AMF/ S RTMP/ S Web Server Compile XML/ HTTP BlazeDS or REST LC Data Services SOAP Web Services J2EE Application Server .swf Ex isting Applications and Infrastructure
  • 6. Tour de Flex - flex.org/ tour
  • 7. Flex with Java via XML (RESTful / SOAP) App Server Web Service XML Client (RESTful / SOAP)
  • 8. Introducing Open Source BlazeDS BlazeDS Service Data Management BlazeDS is the remoting and HTTP- based Adapters Data Synchronization messaging technology which Adobe is LiveCycle Off- line Applications contributing to the community under LGPL Data Paging SQL v3 Capabilities RPC Services Hibernate > Easily connects Flex & AIR applications to existing Web Service server logic HTTP Service ColdFusion > High performance data transfer for more responsive Rem ote Object Service applications JMS Messaging > Real- time data push over standard HTTP Java Publish & Subscribe > Full pub/ sub messaging that ex tends existing Collaboration messaging infrastructure Real Tim e Data Push Custom… Publication of the Action Message Format Prox y Service (AMF3) binary data protocol specification Web- tier Compiler Portal Deployment Certified builds, warranty protection and RIA- PDF Generation enterprise support subscriptions available
  • 10. Flex with Java via Remoting J2EE Server BlazeDS POJO Endpoint Spring Bean AMF Client EJB Other
  • 11. Flex with Java via Messaging J2EE Server BlazeDS Messaging Adapter X System X Message JMS Endpoint JMS Adapt er Service Provider Messaging Adapter Y System Y RTMP AMF HTTP Publisher Subscriber
  • 12. Spring and Flex! SpringSource and Adobe have formed a joint partnership to turn this idea into reality! The foundations of this new integration will be available as open source – A new Spring subproject in the web portfolio: Spring BlazeDS Integration Focus on integrating the open source BlazeDS with Spring 12
  • 13. M1 - Dec 2 0 0 8 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 typical Spring remoting exporter configuration 13
  • 14. M2 - March 2 0 0 8 Spring Security integration – Ensure that Spring security can secure any Springmanaged endpoints with credentials provided by the Flex app 14
  • 15. post M2 Spring JMS integration – Integration with the BlazeDS MessageService – Use Spring configuration to manage BlazeDS MessageDestinations – Let Spring manage the JMS details – Allows easy communication from Flex clients to Spring message- driven POJOs 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  or  TTP  f H request w i h  Cont ­ s  t a  ent Type= applcat on/ i i i act onscri pt
  • 16. web.xml < listener> < listener- class> org.springframework.web.contex t.Contex tLoaderListener< / listener- class> < / listener> < servlet> < servlet- name> testdrive< / servlet- name> < servlet- class> org.springframework.web.servlet.DispatcherServlet< / servlet- class> < load- on- startup> 1< / load- on- startup> < / servlet> < servlet- mapping> < servlet- name> testdrive< / servlet- name> < url- pattern> / messagebroker/ *< / url- pattern> < / servlet- mapping>
  • 17. web.xml - Security Config < contex t- param> < param- name> contextConfigLocation< / param- name> < param- value> / WEB- INF/ config/ web- application- config.x ml / WEB- INF/ config/ web- application- security.x ml < / param- value> < / contex t- param> < filter> < filter- name> springSecurityFilterChain< / filter- name> < filter- class> org.springframework.web.filter.DelegatingFilterProx y< / filter- class> < / filter> < filter- mapping> < filter- name> springSecurityFilterChain< / filter- name> < url- pattern> / *< / url- pattern> < / filter- mapping>
  • 18. web- application- config.xml < beans xmlns= "http:/ / www.springframework.org/ schema/ beans" xmlns:flex = "http:/ / www.springframework.org/ schema/ flex" xmlns:security= "http:/ / www.springframework.org/ schema/ security" xmlns:x si= "http:/ / www.w3.org/ 2001/ XMLSchema- instance" xsi:schemaLocation= " http:/ / www.springframework.org/ schema/ beans http:/ / www.springframework.org/ schema/ beans/ spring- beans- 2.5.xsd http:/ / www.springframework.org/ schema/ flex http:/ / www.springframework.org/ schema/ flex/ spring- flex- 1.0.xsd http:/ / www.springframework.org/ schema/ security http:/ / www.springframework.org/ schema/ security/ spring- security- 2.0.4.xsd"> < flex :message- broker> < flex:secured / > < / flex :message- broker>
  • 19. web- application- config.xml - Remoting Beans < !- - Ex pose the productDAO bean for BlazeDS remoting - - > < flex:remote- service ref= "productService" / > < !- - A secured version of productService - - > < bean id= "securedProductService" class= "flex .spring.samples.product.ProductDAO" > < flex:remote- service/ > < constructor- arg ref= "dataSource"/ > < security:intercept- methods> < security:protect method= "find*" access= "ROLE_USER" / > < / security:intercept- methods> < / bean>
  • 20. 20 Hibernate Integration  Either wrap beans by remoting Spring services / EJB Session Beans / POJOs... public class Employee public class EmployeeService  Or use dpHibernate  Or use LCDS’s Data Management Service
  • 21. 21 EJB Entity Beans and Session Beans
  • 22. The End Questions? Learn More: > Tour de Flex - flex .org/ tour > www.jamesward.com