SlideShare a Scribd company logo
1 of 20
Download to read offline
Integration of Spring with
Blaze DS and Cairngorm UM


     Deepdive by N.S.Devaraj
Agenda for this season

    What is Spring?

    Why Spring with Flex?

    Why Spring BlazeDS Integration?

    What is & Why Cairngorm UM?

    What is & why generic DAO?

    What is & Why CairnSpring?
WHAT IS SPRING?
  The result is looser coupling between
 components. The Spring IoC container has
    proven to be a solid foundation for
  building robust enterprise applications.
                  `


The components managed by the Spring IoC
     container are called Spring beans.
WHAT IS SPRING?


The Spring framework includes several other
      modules in addition to its core IoC
                 container.
     http://www.springframework.org.
WHY WE NEED FLEX ACCESS
        SPRING?
 In scenario of the Remoting and Data
   Management Services approaches:

  It enable the tightest integration with
  Spring. There is no need to transform
 data, or to expose services in a certain
 way: the Flex application works directly
with the beans registered in the Spring IoC
                container.
WHY WE NEED FLEX ACCESS
         SPRING?
The BlazeDS Remoting enables binding your
 valueobjects with Java pojo Classes easily
               by metadata
 [RemoteClass(alias=”com.adobe.pojo.ob”]

  By using the Spring Security 2.0 we can
      make our application secured for
                transactions.
WHAT is BlazeDS?
BlazeDS provides a set of services that lets you connect
 a client-side application to server-side data, and pass
  data among multiple clients connected to the server.
  BlazeDS implements real-time messaging between
                          clients.
    Browser                          application
     or AIR
                                         .swf


                                                http(s)
                       domain
                        blazeds server

      External                            Remote
      Services        Service
                                         Procedure        Messaging
                       Proxy
                                           Calls
BlazeDS Server
                                 servlet
                       /{context}/messagebroker/*
                                                                          core
              config
         proxy-config.xml

              config                                         config

       messaging-config.xml                         services-config.xml

              config
flex    remote-config.xml
                              domain
             library                                config
              .jar                                  .class
                                    Classes
Lib
SPRING BLAZEDS INTEGRATION
Example:
 WEB.XML
 Spring BlazeDS Integration servlet
   <servlet>
      <servlet-name>spring-flex</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <init-param>
        <param-name>contextConfigLocation</param-name>

        <param-value>/WEB-INF/flex-servlet-context.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
   </servlet>
 Mapping Spring BlazeDS Integration servlet to handle all requests to '/spring/*
   <servlet-mapping>
      <servlet-name>spring-flex</servlet-name>
      <url-pattern>/spring/*</url-pattern>
   </servlet-mapping>
SPRING BLAZE DS EXAMPLE
flex-servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:flex="http://www.springframework.org/schema/flex"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/flex
    http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
  <context:component-scan base-package="org.springbyexample.web.service" />
  <flex:message-broker/> ----Spring BlazeDS Integration configuration of the BlazeDS message broker, which
     handles remoting and messaging requests.
 <flex:remoting-destination ref="personDao" /> ---Exposes the personDao bean as a BlazeDS remoting destination
</beans>
TRADITIONAL BLAZE DS WAY

The BlazeDS configuration first imports the 'remoting-config.xml',The parameters in the URL 'server.name' and
    'server.port' are supplied by the Flex runtime. The 'context.root' parameter needs to be supplied during
    compilation using the 'context-root' compiler option.
    services-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <services-config>
       <services>
        <service-include file-path="remoting-config.xml" />
          <default-channels>
            <channel ref="person-amf"/>
          </default-channels>
       </services>
       <channels>
          <channel-definition id="person-amf" class="mx.messaging.channels.AMFChannel">
             <endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amf"
    class="flex.messaging.endpoints.AMFEndpoint"/>
          </channel-definition>
       </channels>
    </services-config>
SPRING BLAZEDS INTEGRATION
 PersonService.java
     @Service
     @RemotingDestination
     public class PersonService {
        private final PersonDao personDao;
        /**
         * Constructor
         */
        @Autowired
        public PersonService(PersonDao personDao) {
            this.personDao = personDao;
        }
        public void remove(int id) {
            Person person = personDao.findPersonById(id);
            personDao.delete(person);
        }
     }
 PersonDeleteCommand.as
          var ro:RemoteObject = new RemoteObject("personDao");
          ro.remove(id);
          ro.addEventListener(ResultEvent.RESULT, updateSearch);
Cairngorm with UM Extensions

    Universal Mind Cairngorm Extensions
( UM – CGX is easy to migrate from CG)

    Event – Business logic combined together

    Command logic can be aggregated to
    context-specific   command        classes
    (minimizes the number of classes)

    Support for easy queue of delegate calls
    (SequenceGenerator)
Cairngorm with UM Extensions

    Create Responder in view

    Add responder to event

    Cache/Store responder from event to
    command

    In Command, on success/failure call back
    these responders

    On view handle success/failure to control
    view states
Cairngorm with UM Extensions
  View Layer       Model Layer            Control Layer

                    ModelLocator            via IResponder
                                                               tcp/ip
                   via databinding
    View                              Command       Delegate            Server
               via eventdispatching

                MVC Classic Usage
  View Layer                      Business Layer
  via IResponder                            via IResponder
                                                               tcp/ip

    View                              Command       Delegate            Server
                   via eventdispatching



               Using View Notifications
J2EE – DAO INTRODUCTION

    All database access in the system is made
    through a DAO to achieve encapsulation.

    Each DAO instance is responsible for one
    primary domain object or entity. If a
    domain object has an independent
    lifecycle, it should have its own DAO.

    The DAO is responsible for creations,
    reads (by primary key), updates, and
    deletions -- that is, CRUD -- on the
    domain object.
generic DAO
 For creating a new DAO we need →
a Hibernate mapping file,
a plain old Java interface,
and 10 lines in your Spring configuration
  file.

Resource:
http://www.ibm.com/developerworks/java/library/j-
   genericdao.html
CairnSpring
The CairnSpring includes both Caringorm UM,
 Generic DAO along with the Spring BlazeDS
                Integration.

       It also enables Paging request.

  http://www.code.google.com/p/cairnspring
QUESTIONS

More Related Content

What's hot

Weblogic Administration Managed Server migration
Weblogic Administration Managed Server migrationWeblogic Administration Managed Server migration
Weblogic Administration Managed Server migrationRakesh Gujjarlapudi
 
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
Five Cool Use Cases for the Spring Component in Oracle SOA SuiteFive Cool Use Cases for the Spring Component in Oracle SOA Suite
Five Cool Use Cases for the Spring Component in Oracle SOA SuiteGuido Schmutz
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...Jeffrey West
 
WebServices in ServiceMix with CXF
WebServices in ServiceMix with CXFWebServices in ServiceMix with CXF
WebServices in ServiceMix with CXFAdrian Trenaman
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsMichael Chaize
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Serveracosdt
 
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleMuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleVince Soliza
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleFelix Meschberger
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012Arun Gupta
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinJoshua Long
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsJames Bayer
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudArun Gupta
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGArun Gupta
 
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and BeyondAlfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and BeyondAlfresco Software
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationRevelation Technologies
 
weblogic perfomence tuning
weblogic perfomence tuningweblogic perfomence tuning
weblogic perfomence tuningprathap kumar
 
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...CloudOps Summit
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1ikewu83
 

What's hot (20)

Weblogic Administration Managed Server migration
Weblogic Administration Managed Server migrationWeblogic Administration Managed Server migration
Weblogic Administration Managed Server migration
 
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
Five Cool Use Cases for the Spring Component in Oracle SOA SuiteFive Cool Use Cases for the Spring Component in Oracle SOA Suite
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
 
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
WebLogic Developer Webcast 5: Troubleshooting and Testing with WebLogic, Soap...
 
WebServices in ServiceMix with CXF
WebServices in ServiceMix with CXFWebServices in ServiceMix with CXF
WebServices in ServiceMix with CXF
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex apps
 
Jboss App Server
Jboss App ServerJboss App Server
Jboss App Server
 
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client ModuleMuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
MuleSoft Consuming Soap Web Service - CXF jax-ws-client Module
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi Style
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and Vaadin
 
Oracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic ConceptsOracle WebLogic Server Basic Concepts
Oracle WebLogic Server Basic Concepts
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
 
EXCHANGE SERVER 2010
EXCHANGE SERVER 2010EXCHANGE SERVER 2010
EXCHANGE SERVER 2010
 
WebLogic FAQs
WebLogic FAQsWebLogic FAQs
WebLogic FAQs
 
Alfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and BeyondAlfresco Web Content Management Roadmap - 3.2 and Beyond
Alfresco Web Content Management Roadmap - 3.2 and Beyond
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
 
weblogic perfomence tuning
weblogic perfomence tuningweblogic perfomence tuning
weblogic perfomence tuning
 
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1
 

Viewers also liked

Cloud Computing Explained: Guide to Enterprise Implementation
Cloud Computing Explained: Guide to Enterprise ImplementationCloud Computing Explained: Guide to Enterprise Implementation
Cloud Computing Explained: Guide to Enterprise ImplementationJohn Rhoton
 
Eating and exercise habits of the students in our school
Eating and exercise habits of the students in our schoolEating and exercise habits of the students in our school
Eating and exercise habits of the students in our schoolnikseis
 
GE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-d
GE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-dGE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-d
GE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-dSatpanth Dharm
 
On the development of beliefs vs. capacities: A post-metaphysical view of sec...
On the development of beliefs vs. capacities: A post-metaphysical view of sec...On the development of beliefs vs. capacities: A post-metaphysical view of sec...
On the development of beliefs vs. capacities: A post-metaphysical view of sec...perspegrity5
 
Blue elevator servocontrol servovalve
Blue elevator servocontrol servovalveBlue elevator servocontrol servovalve
Blue elevator servocontrol servovalveRajarai Faheemabid
 
Challenging themes: radio English for learners and teachers
Challenging themes: radio English for learners and teachersChallenging themes: radio English for learners and teachers
Challenging themes: radio English for learners and teachersPaul Woods
 
Ikp'ko;b0yp
Ikp'ko;b0ypIkp'ko;b0yp
Ikp'ko;b0ypnoylove
 
FCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory PresentationFCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory PresentationKelvin Koh
 
Reading the Campus/Reading the City
Reading the Campus/Reading the CityReading the Campus/Reading the City
Reading the Campus/Reading the CityTina Richardson
 
A good horse runs even at the shadow of the whip
A good horse runs even at the shadow of the whipA good horse runs even at the shadow of the whip
A good horse runs even at the shadow of the whipRhea Myers
 
Ergen medeeleh 201604 sar
Ergen medeeleh  201604 sarErgen medeeleh  201604 sar
Ergen medeeleh 201604 sarrtumur
 
Installing OpenStack Juno using RDO on RHEL
Installing OpenStack Juno using RDO on RHELInstalling OpenStack Juno using RDO on RHEL
Installing OpenStack Juno using RDO on RHELopenstackstl
 
Talv
TalvTalv
Talvpiiak
 
Ten years analysing large code bases: a perspective
Ten years analysing large code bases: a perspectiveTen years analysing large code bases: a perspective
Ten years analysing large code bases: a perspectiveRoberto Di Cosmo
 
2011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c22011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c2nm48
 

Viewers also liked (18)

Cloud Computing Explained: Guide to Enterprise Implementation
Cloud Computing Explained: Guide to Enterprise ImplementationCloud Computing Explained: Guide to Enterprise Implementation
Cloud Computing Explained: Guide to Enterprise Implementation
 
Eating and exercise habits of the students in our school
Eating and exercise habits of the students in our schoolEating and exercise habits of the students in our school
Eating and exercise habits of the students in our school
 
GE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-d
GE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-dGE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-d
GE 6 -information_on_satpanth.org_is_wrong_&_list_of_pirana_kakas_-d
 
On the development of beliefs vs. capacities: A post-metaphysical view of sec...
On the development of beliefs vs. capacities: A post-metaphysical view of sec...On the development of beliefs vs. capacities: A post-metaphysical view of sec...
On the development of beliefs vs. capacities: A post-metaphysical view of sec...
 
Blue elevator servocontrol servovalve
Blue elevator servocontrol servovalveBlue elevator servocontrol servovalve
Blue elevator servocontrol servovalve
 
Bio 2 ch1 Notes
Bio 2 ch1 NotesBio 2 ch1 Notes
Bio 2 ch1 Notes
 
Challenging themes: radio English for learners and teachers
Challenging themes: radio English for learners and teachersChallenging themes: radio English for learners and teachers
Challenging themes: radio English for learners and teachers
 
Ikp'ko;b0yp
Ikp'ko;b0ypIkp'ko;b0yp
Ikp'ko;b0yp
 
FCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory PresentationFCWDS (Foreign Construction Workers Directory System) Introductory Presentation
FCWDS (Foreign Construction Workers Directory System) Introductory Presentation
 
Reading the Campus/Reading the City
Reading the Campus/Reading the CityReading the Campus/Reading the City
Reading the Campus/Reading the City
 
FibreTuff FPS 12th
FibreTuff FPS   12thFibreTuff FPS   12th
FibreTuff FPS 12th
 
A good horse runs even at the shadow of the whip
A good horse runs even at the shadow of the whipA good horse runs even at the shadow of the whip
A good horse runs even at the shadow of the whip
 
Propuesta de malla curricular
Propuesta de malla curricularPropuesta de malla curricular
Propuesta de malla curricular
 
Ergen medeeleh 201604 sar
Ergen medeeleh  201604 sarErgen medeeleh  201604 sar
Ergen medeeleh 201604 sar
 
Installing OpenStack Juno using RDO on RHEL
Installing OpenStack Juno using RDO on RHELInstalling OpenStack Juno using RDO on RHEL
Installing OpenStack Juno using RDO on RHEL
 
Talv
TalvTalv
Talv
 
Ten years analysing large code bases: a perspective
Ten years analysing large code bases: a perspectiveTen years analysing large code bases: a perspective
Ten years analysing large code bases: a perspective
 
2011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c22011 expoward primaria 6to. año c2
2011 expoward primaria 6to. año c2
 

Similar to Spring Cairngorm

BlazeDS
BlazeDS BlazeDS
BlazeDS Priyank
 
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
 
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data TransferLeveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data TransferJoseph Labrecque
 
Cheat sheet soa_essentials
Cheat sheet soa_essentialsCheat sheet soa_essentials
Cheat sheet soa_essentialsxavier john
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudRamnivas Laddad
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with SpringJoshua Long
 
Unleash software architecture leveraging on docker
Unleash software architecture leveraging on dockerUnleash software architecture leveraging on docker
Unleash software architecture leveraging on dockerAdrien Blind
 
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 FactorsEd King
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Spring in the Cloud - using Spring with Cloud Foundry
Spring in the Cloud - using Spring with Cloud FoundrySpring in the Cloud - using Spring with Cloud Foundry
Spring in the Cloud - using Spring with Cloud FoundryJoshua Long
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina LinTadayoshi Sato
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevaldbuildacloud
 
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...Srikanth Prathipati
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...Amazon Web Services Japan
 
Scaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSScaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSMax Neunhöffer
 

Similar to Spring Cairngorm (20)

BlazeDS
BlazeDSBlazeDS
BlazeDS
 
BlazeDS
BlazeDS BlazeDS
BlazeDS
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
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
 
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data TransferLeveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
 
Cheat sheet soa_essentials
Cheat sheet soa_essentialsCheat sheet soa_essentials
Cheat sheet soa_essentials
 
Simplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring CloudSimplify Cloud Applications using Spring Cloud
Simplify Cloud Applications using Spring Cloud
 
Multi client Development with Spring
Multi client Development with SpringMulti client Development with Spring
Multi client Development with Spring
 
Unleash software architecture leveraging on docker
Unleash software architecture leveraging on dockerUnleash software architecture leveraging on docker
Unleash software architecture leveraging on docker
 
Adobe Flex4
Adobe Flex4 Adobe Flex4
Adobe Flex4
 
Ria Spring Blaze Ds
Ria Spring Blaze DsRia Spring Blaze Ds
Ria Spring Blaze Ds
 
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
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Spring in the Cloud - using Spring with Cloud Foundry
Spring in the Cloud - using Spring with Cloud FoundrySpring in the Cloud - using Spring with Cloud Foundry
Spring in the Cloud - using Spring with Cloud Foundry
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina Lin
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
 
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
Case Study _Cloud Native Transformation Deploying Integration workloads to AK...
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
Scaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOSScaling ArangoDB on Mesosphere DCOS
Scaling ArangoDB on Mesosphere DCOS
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Spring Cairngorm

  • 1. Integration of Spring with Blaze DS and Cairngorm UM Deepdive by N.S.Devaraj
  • 2. Agenda for this season  What is Spring?  Why Spring with Flex?  Why Spring BlazeDS Integration?  What is & Why Cairngorm UM?  What is & why generic DAO?  What is & Why CairnSpring?
  • 3. WHAT IS SPRING? The result is looser coupling between components. The Spring IoC container has proven to be a solid foundation for building robust enterprise applications. ` The components managed by the Spring IoC container are called Spring beans.
  • 4. WHAT IS SPRING? The Spring framework includes several other modules in addition to its core IoC container. http://www.springframework.org.
  • 5. WHY WE NEED FLEX ACCESS SPRING? In scenario of the Remoting and Data Management Services approaches: It enable the tightest integration with Spring. There is no need to transform data, or to expose services in a certain way: the Flex application works directly with the beans registered in the Spring IoC container.
  • 6. WHY WE NEED FLEX ACCESS SPRING? The BlazeDS Remoting enables binding your valueobjects with Java pojo Classes easily by metadata [RemoteClass(alias=”com.adobe.pojo.ob”] By using the Spring Security 2.0 we can make our application secured for transactions.
  • 7. WHAT is BlazeDS? BlazeDS provides a set of services that lets you connect a client-side application to server-side data, and pass data among multiple clients connected to the server. BlazeDS implements real-time messaging between clients. Browser application or AIR .swf http(s) domain blazeds server External Remote Services Service Procedure Messaging Proxy Calls
  • 8. BlazeDS Server servlet /{context}/messagebroker/* core config proxy-config.xml config config messaging-config.xml services-config.xml config flex remote-config.xml domain library config .jar .class Classes Lib
  • 9. SPRING BLAZEDS INTEGRATION Example: WEB.XML Spring BlazeDS Integration servlet <servlet> <servlet-name>spring-flex</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/flex-servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> Mapping Spring BlazeDS Integration servlet to handle all requests to '/spring/* <servlet-mapping> <servlet-name>spring-flex</servlet-name> <url-pattern>/spring/*</url-pattern> </servlet-mapping>
  • 10. SPRING BLAZE DS EXAMPLE flex-servlet-context.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:flex="http://www.springframework.org/schema/flex" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"> <context:component-scan base-package="org.springbyexample.web.service" /> <flex:message-broker/> ----Spring BlazeDS Integration configuration of the BlazeDS message broker, which handles remoting and messaging requests. <flex:remoting-destination ref="personDao" /> ---Exposes the personDao bean as a BlazeDS remoting destination </beans>
  • 11. TRADITIONAL BLAZE DS WAY The BlazeDS configuration first imports the 'remoting-config.xml',The parameters in the URL 'server.name' and 'server.port' are supplied by the Flex runtime. The 'context.root' parameter needs to be supplied during compilation using the 'context-root' compiler option. services-config.xml <?xml version="1.0" encoding="UTF-8"?> <services-config> <services> <service-include file-path="remoting-config.xml" /> <default-channels> <channel ref="person-amf"/> </default-channels> </services> <channels> <channel-definition id="person-amf" class="mx.messaging.channels.AMFChannel"> <endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/> </channel-definition> </channels> </services-config>
  • 12. SPRING BLAZEDS INTEGRATION PersonService.java @Service @RemotingDestination public class PersonService { private final PersonDao personDao; /** * Constructor */ @Autowired public PersonService(PersonDao personDao) { this.personDao = personDao; } public void remove(int id) { Person person = personDao.findPersonById(id); personDao.delete(person); } } PersonDeleteCommand.as var ro:RemoteObject = new RemoteObject("personDao"); ro.remove(id); ro.addEventListener(ResultEvent.RESULT, updateSearch);
  • 13.
  • 14. Cairngorm with UM Extensions  Universal Mind Cairngorm Extensions ( UM – CGX is easy to migrate from CG)  Event – Business logic combined together  Command logic can be aggregated to context-specific command classes (minimizes the number of classes)  Support for easy queue of delegate calls (SequenceGenerator)
  • 15. Cairngorm with UM Extensions  Create Responder in view  Add responder to event  Cache/Store responder from event to command  In Command, on success/failure call back these responders  On view handle success/failure to control view states
  • 16. Cairngorm with UM Extensions View Layer Model Layer Control Layer ModelLocator via IResponder tcp/ip via databinding View Command Delegate Server via eventdispatching MVC Classic Usage View Layer Business Layer via IResponder via IResponder tcp/ip View Command Delegate Server via eventdispatching Using View Notifications
  • 17. J2EE – DAO INTRODUCTION  All database access in the system is made through a DAO to achieve encapsulation.  Each DAO instance is responsible for one primary domain object or entity. If a domain object has an independent lifecycle, it should have its own DAO.  The DAO is responsible for creations, reads (by primary key), updates, and deletions -- that is, CRUD -- on the domain object.
  • 18. generic DAO For creating a new DAO we need → a Hibernate mapping file, a plain old Java interface, and 10 lines in your Spring configuration file. Resource: http://www.ibm.com/developerworks/java/library/j- genericdao.html
  • 19. CairnSpring The CairnSpring includes both Caringorm UM, Generic DAO along with the Spring BlazeDS Integration. It also enables Paging request. http://www.code.google.com/p/cairnspring