SlideShare una empresa de Scribd logo
1 de 44
symfony and immobilienscout24.de




                  What I will show




Dennis Benkert: What I will show      1
symfony and immobilienscout24.de




                  What I will show

      •      How we integrated the IS24 API




Dennis Benkert: What I will show              1
symfony and immobilienscout24.de




                  What I will show

      •      How we integrated the IS24 API

      •      How we used YUI to create an AJAXified
             interface




Dennis Benkert: What I will show                      1
symfony and immobilienscout24.de




                         What we had




Dennis Benkert: How we integrated the IS24 API   2
symfony and immobilienscout24.de




                         What we had

      •      The IS24 API is an XML RPC based service




Dennis Benkert: How we integrated the IS24 API          2
symfony and immobilienscout24.de




                         What we had

      •      The IS24 API is an XML RPC based service

      •      IS24 provides a SDK which runs in PHP 4
             and 5




Dennis Benkert: How we integrated the IS24 API          2
symfony and immobilienscout24.de




                 What we needed




Dennis Benkert: How we integrated the IS24 API   3
symfony and immobilienscout24.de




                 What we needed
      •      The ability to use the API like we know it
             from symfony Model classes




Dennis Benkert: How we integrated the IS24 API            3
symfony and immobilienscout24.de




                 What we needed
      •      The ability to use the API like we know it
             from symfony Model classes

      •      An object representation like in Propel




Dennis Benkert: How we integrated the IS24 API            3
symfony and immobilienscout24.de




                 What we needed
      •      The ability to use the API like we know it
             from symfony Model classes

      •      An object representation like in Propel

      •      Simplify the way queries are send to the
             API


Dennis Benkert: How we integrated the IS24 API            3
symfony and immobilienscout24.de




          How we achieved it




Dennis Benkert: How we integrated the IS24 API   4
symfony and immobilienscout24.de




          How we achieved it

      •      Added a layer on top of the SDK




Dennis Benkert: How we integrated the IS24 API   4
symfony and immobilienscout24.de




          How we achieved it

      • Added a layer on top of the SDK
       • Created a task to generate the Model
                 classes from definition files.




Dennis Benkert: How we integrated the IS24 API    4
symfony and immobilienscout24.de




          How we achieved it
          •      Made use of the internal hydration process
                 to push the data into our Model classes




Dennis Benkert: How we integrated the IS24 API            5
symfony and immobilienscout24.de




          How we achieved it
       call (e.g. getExpose())                         build query
                                    Interlutions SDK
       call (e.g. getExpose())                                           IS24 SDK
                                        Wrapper        result object



                                                           send result
                                                                           send query (XML)


                                                       IS24 API



Dennis Benkert: How we integrated the IS24 API                                           6
symfony and immobilienscout24.de




          How we achieved it
                                   The SDK uses it‘s own hydration
       call (e.g. getExpose())                         build query
                                    Interlutions SDK
       call (e.g. getExpose())                                           IS24 SDK
                                        Wrapper        result object



                                                           send result
                                                                           send query (XML)


                                                       IS24 API



Dennis Benkert: How we integrated the IS24 API                                           6
symfony and immobilienscout24.de




          How we achieved it
                                   The SDK uses it‘s own hydration
       call (e.g. getExpose())                         build query
                                    Interlutions SDK
       call (e.g. getExpose())                                           IS24 SDK
                                        Wrapper        result object



             We create proxies to                          send result

              the result objects                                           send query (XML)


                                                       IS24 API



Dennis Benkert: How we integrated the IS24 API                                           6
symfony and immobilienscout24.de




          How we achieved it
                    SDK Wrapper object




Dennis Benkert: How we integrated the IS24 API   7
symfony and immobilienscout24.de




          How we achieved it
                    SDK Wrapper object



                                                 SDK object




Dennis Benkert: How we integrated the IS24 API                7
symfony and immobilienscout24.de




          How we achieved it
                    SDK Wrapper object



                                                 SDK object




Dennis Benkert: How we integrated the IS24 API                7
symfony and immobilienscout24.de




          How we achieved it
                    SDK Wrapper object

                               getPrice()

                                                 SDK object




Dennis Benkert: How we integrated the IS24 API                7
symfony and immobilienscout24.de




          How we achieved it
                    SDK Wrapper object

                               getPrice()

                                                 SDK object




Dennis Benkert: How we integrated the IS24 API                7
symfony and immobilienscout24.de




          How we achieved it
                    SDK Wrapper object

                               getPrice()

                                                 SDK object

                                                    $price




Dennis Benkert: How we integrated the IS24 API                7
symfony and immobilienscout24.de




                 What we needed




Dennis Benkert: How we used YUI to create an AJAXified interface   8
symfony and immobilienscout24.de




                 What we needed

      •      An interface to generate configurations to
             show resultlists and multi step searches




Dennis Benkert: How we used YUI to create an AJAXified interface   8
symfony and immobilienscout24.de




                 What we needed

      •      An interface to generate configurations to
             show resultlists and multi step searches

      •      An extendable solution that won‘t block us
             for new features



Dennis Benkert: How we used YUI to create an AJAXified interface   8
symfony and immobilienscout24.de




                         What we had




Dennis Benkert: How we used YUI to create an AJAXified interface   9
symfony and immobilienscout24.de




                         What we had

      •      YUI for the JavaScript and AJAX part




Dennis Benkert: How we used YUI to create an AJAXified interface   9
symfony and immobilienscout24.de




                         What we had

      •      YUI for the JavaScript and AJAX part

      •      A symfony application




Dennis Benkert: How we used YUI to create an AJAXified interface   9
symfony and immobilienscout24.de




                         What we had

      •      YUI for the JavaScript and AJAX part

      •      A symfony application

      •      And some HTML Code



Dennis Benkert: How we used YUI to create an AJAXified interface   9
symfony and immobilienscout24.de




          How we achieved it




Dennis Benkert: How we used YUI to create an AJAXified interface   10
symfony and immobilienscout24.de




          How we achieved it
      •      Used the ysfYUIPlugin




Dennis Benkert: How we used YUI to create an AJAXified interface   10
symfony and immobilienscout24.de




          How we achieved it
      •      Used the ysfYUIPlugin

      •      Used unobtrusive JavaScript




Dennis Benkert: How we used YUI to create an AJAXified interface   10
symfony and immobilienscout24.de




          How we achieved it
      •      Used the ysfYUIPlugin

      •      Used unobtrusive JavaScript

      •      Seperated code into Model, View and
             Controller logic like Jamal MVC does (not
             exactly MVC)


Dennis Benkert: How we used YUI to create an AJAXified interface   10
symfony and immobilienscout24.de




          How we achieved it
  Controller



      Model



       View

Dennis Benkert: How we used YUI to create an AJAXified interface   11
symfony and immobilienscout24.de




          How we achieved it
                                   Get
  Controller                   information
                                from event




      Model



       View

Dennis Benkert: How we used YUI to create an AJAXified interface   11
symfony and immobilienscout24.de




          How we achieved it
                                   Get                     Register Model
  Controller                   information                   method to
                                from event                      AJAX




      Model



       View

Dennis Benkert: How we used YUI to create an AJAXified interface            11
symfony and immobilienscout24.de




          How we achieved it
                                   Get                     Register Model
                                                                            Fire AJAX
  Controller                   information                   method to
                                                                             request
                                from event                      AJAX




      Model



       View

Dennis Benkert: How we used YUI to create an AJAXified interface                        11
symfony and immobilienscout24.de




          How we achieved it
                                   Get                     Register Model
                                                                            Fire AJAX
  Controller                   information                   method to
                                                                             request
                                from event                      AJAX



                                            Get data from
      Model                                   response




       View

Dennis Benkert: How we used YUI to create an AJAXified interface                        11
symfony and immobilienscout24.de




          How we achieved it
                                   Get                     Register Model
                                                                                    Fire AJAX
  Controller                   information                   method to
                                                                                     request
                                from event                      AJAX



                                            Get data from               Call View
      Model                                   response                  method




       View

Dennis Benkert: How we used YUI to create an AJAXified interface                                11
symfony and immobilienscout24.de




          How we achieved it
                                   Get                     Register Model
                                                                                    Fire AJAX
  Controller                   information                   method to
                                                                                     request
                                from event                      AJAX



                                            Get data from               Call View
      Model                                   response                  method



                                              Get data
       View                                handed over by
                                               Model

Dennis Benkert: How we used YUI to create an AJAXified interface                                11
symfony and immobilienscout24.de




          How we achieved it
                                   Get                     Register Model
                                                                                    Fire AJAX
  Controller                   information                   method to
                                                                                     request
                                from event                      AJAX



                                            Get data from               Call View
      Model                                   response                  method



                                              Get data
       View                                handed over by             Alter DOM
                                               Model

Dennis Benkert: How we used YUI to create an AJAXified interface                                11
symfony and immobilienscout24.de




          How we achieved it




Dennis Benkert: How we used YUI to create an AJAXified interface   12
symfony and immobilienscout24.de




                        Questions?


Dennis Benkert                       13

Más contenido relacionado

Similar a symfony and immobilienscout24.de - Dennis Benkert

Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementationChethan Pchethan
 
Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch EventJames Montemagno
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Xamarin
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017ElifTech
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoKlaraOrban
 
Wix Application Framework
Wix Application FrameworkWix Application Framework
Wix Application FrameworkRan Mizrahi
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Pythonpycontw
 
Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...
Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...
Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...Les-Tilleuls.coop
 
Thinking tts - Eric Floe
Thinking tts - Eric FloeThinking tts - Eric Floe
Thinking tts - Eric FloeEric Floe
 
How to add InLife to your game
How to add InLife to your gameHow to add InLife to your game
How to add InLife to your gameinlifeproject
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a SnapPaulina Gallo
 
Introduction to open source BIM tools from opensourcebim.org
Introduction to open source BIM tools from opensourcebim.orgIntroduction to open source BIM tools from opensourcebim.org
Introduction to open source BIM tools from opensourcebim.orgLéon Berlo
 
Symfony on steroids
: Vue.js, Mercure, Panther
Symfony on steroids
: Vue.js, Mercure, PantherSymfony on steroids
: Vue.js, Mercure, Panther
Symfony on steroids
: Vue.js, Mercure, PantherLes-Tilleuls.coop
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Qualcomm Developer Network
 
Static Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal EngineStatic Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal EngineAndrey Karpov
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to XamarinBrian Anderson
 
Platform Orchestration with Kubernetes and Docker
Platform Orchestration with Kubernetes and DockerPlatform Orchestration with Kubernetes and Docker
Platform Orchestration with Kubernetes and DockerJulian Strobl
 

Similar a symfony and immobilienscout24.de - Dennis Benkert (20)

Overview of Android binder IPC implementation
Overview of Android binder IPC implementationOverview of Android binder IPC implementation
Overview of Android binder IPC implementation
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch Event
 
Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017Introduction to Xamarin for Visual Studio 2017
Introduction to Xamarin for Visual Studio 2017
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017
 
Encode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in MotokoEncode x ICH: Intro to Building on the IC in Motoko
Encode x ICH: Intro to Building on the IC in Motoko
 
Wix Application Framework
Wix Application FrameworkWix Application Framework
Wix Application Framework
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Python
 
How to setup ionic 2
How to setup ionic 2How to setup ionic 2
How to setup ionic 2
 
Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...
Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...
Progressively enhance your Symfony 4 app using Vue, API Platform, Mercure and...
 
Thinking tts - Eric Floe
Thinking tts - Eric FloeThinking tts - Eric Floe
Thinking tts - Eric Floe
 
How to add InLife to your game
How to add InLife to your gameHow to add InLife to your game
How to add InLife to your game
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
 
Ionic2 First Lesson of Four
Ionic2 First Lesson of FourIonic2 First Lesson of Four
Ionic2 First Lesson of Four
 
Introduction to open source BIM tools from opensourcebim.org
Introduction to open source BIM tools from opensourcebim.orgIntroduction to open source BIM tools from opensourcebim.org
Introduction to open source BIM tools from opensourcebim.org
 
Symfony on steroids
: Vue.js, Mercure, Panther
Symfony on steroids
: Vue.js, Mercure, PantherSymfony on steroids
: Vue.js, Mercure, Panther
Symfony on steroids
: Vue.js, Mercure, Panther
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
 
Static Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal EngineStatic Code Analysis for Projects, Built on Unreal Engine
Static Code Analysis for Projects, Built on Unreal Engine
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Platform Orchestration with Kubernetes and Docker
Platform Orchestration with Kubernetes and DockerPlatform Orchestration with Kubernetes and Docker
Platform Orchestration with Kubernetes and Docker
 

Más de D

Monitoring und Metriken im Wunderland
Monitoring und Metriken im WunderlandMonitoring und Metriken im Wunderland
Monitoring und Metriken im WunderlandD
 
Dockerizing Symfony Applications - Symfony Live Berlin 2014
Dockerizing Symfony Applications - Symfony Live Berlin 2014Dockerizing Symfony Applications - Symfony Live Berlin 2014
Dockerizing Symfony Applications - Symfony Live Berlin 2014D
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneIntroduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneD
 
Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…
Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…
Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…D
 
Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...
Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...
Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...D
 
What mom never told you about bundle configurations - Symfony Live Paris 2012
What mom never told you about bundle configurations - Symfony Live Paris 2012What mom never told you about bundle configurations - Symfony Live Paris 2012
What mom never told you about bundle configurations - Symfony Live Paris 2012D
 
Cologne Web Performance Optimization Group Web - Varnish
Cologne Web Performance Optimization Group Web - VarnishCologne Web Performance Optimization Group Web - Varnish
Cologne Web Performance Optimization Group Web - VarnishD
 
symfony live 2010 - Using symfony events to create clean class interfaces
symfony live 2010 - Using symfony events to create clean class interfacessymfony live 2010 - Using symfony events to create clean class interfaces
symfony live 2010 - Using symfony events to create clean class interfacesD
 
symfony Live 2010 - Using Doctrine Migrations
symfony Live 2010 -  Using Doctrine Migrationssymfony Live 2010 -  Using Doctrine Migrations
symfony Live 2010 - Using Doctrine MigrationsD
 
Railslove Lightningtalk 20 02 09 - Web Debug Toolbars
Railslove Lightningtalk 20 02 09 - Web Debug ToolbarsRailslove Lightningtalk 20 02 09 - Web Debug Toolbars
Railslove Lightningtalk 20 02 09 - Web Debug ToolbarsD
 

Más de D (10)

Monitoring und Metriken im Wunderland
Monitoring und Metriken im WunderlandMonitoring und Metriken im Wunderland
Monitoring und Metriken im Wunderland
 
Dockerizing Symfony Applications - Symfony Live Berlin 2014
Dockerizing Symfony Applications - Symfony Live Berlin 2014Dockerizing Symfony Applications - Symfony Live Berlin 2014
Dockerizing Symfony Applications - Symfony Live Berlin 2014
 
Introduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group CologneIntroduction to Docker & CoreOS - Symfony User Group Cologne
Introduction to Docker & CoreOS - Symfony User Group Cologne
 
Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…
Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…
Things Your Mother Didnt Tell You About Bundle Configurations - Symfony Live…
 
Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...
Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...
Things Your Mother Didn't Tell You About Bundle Configurations - Symfony Live...
 
What mom never told you about bundle configurations - Symfony Live Paris 2012
What mom never told you about bundle configurations - Symfony Live Paris 2012What mom never told you about bundle configurations - Symfony Live Paris 2012
What mom never told you about bundle configurations - Symfony Live Paris 2012
 
Cologne Web Performance Optimization Group Web - Varnish
Cologne Web Performance Optimization Group Web - VarnishCologne Web Performance Optimization Group Web - Varnish
Cologne Web Performance Optimization Group Web - Varnish
 
symfony live 2010 - Using symfony events to create clean class interfaces
symfony live 2010 - Using symfony events to create clean class interfacessymfony live 2010 - Using symfony events to create clean class interfaces
symfony live 2010 - Using symfony events to create clean class interfaces
 
symfony Live 2010 - Using Doctrine Migrations
symfony Live 2010 -  Using Doctrine Migrationssymfony Live 2010 -  Using Doctrine Migrations
symfony Live 2010 - Using Doctrine Migrations
 
Railslove Lightningtalk 20 02 09 - Web Debug Toolbars
Railslove Lightningtalk 20 02 09 - Web Debug ToolbarsRailslove Lightningtalk 20 02 09 - Web Debug Toolbars
Railslove Lightningtalk 20 02 09 - Web Debug Toolbars
 

Último

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
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
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
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
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
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
 
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 Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 

Último (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
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
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
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
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
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
 
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 Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 

symfony and immobilienscout24.de - Dennis Benkert

  • 1. symfony and immobilienscout24.de What I will show Dennis Benkert: What I will show 1
  • 2. symfony and immobilienscout24.de What I will show • How we integrated the IS24 API Dennis Benkert: What I will show 1
  • 3. symfony and immobilienscout24.de What I will show • How we integrated the IS24 API • How we used YUI to create an AJAXified interface Dennis Benkert: What I will show 1
  • 4. symfony and immobilienscout24.de What we had Dennis Benkert: How we integrated the IS24 API 2
  • 5. symfony and immobilienscout24.de What we had • The IS24 API is an XML RPC based service Dennis Benkert: How we integrated the IS24 API 2
  • 6. symfony and immobilienscout24.de What we had • The IS24 API is an XML RPC based service • IS24 provides a SDK which runs in PHP 4 and 5 Dennis Benkert: How we integrated the IS24 API 2
  • 7. symfony and immobilienscout24.de What we needed Dennis Benkert: How we integrated the IS24 API 3
  • 8. symfony and immobilienscout24.de What we needed • The ability to use the API like we know it from symfony Model classes Dennis Benkert: How we integrated the IS24 API 3
  • 9. symfony and immobilienscout24.de What we needed • The ability to use the API like we know it from symfony Model classes • An object representation like in Propel Dennis Benkert: How we integrated the IS24 API 3
  • 10. symfony and immobilienscout24.de What we needed • The ability to use the API like we know it from symfony Model classes • An object representation like in Propel • Simplify the way queries are send to the API Dennis Benkert: How we integrated the IS24 API 3
  • 11. symfony and immobilienscout24.de How we achieved it Dennis Benkert: How we integrated the IS24 API 4
  • 12. symfony and immobilienscout24.de How we achieved it • Added a layer on top of the SDK Dennis Benkert: How we integrated the IS24 API 4
  • 13. symfony and immobilienscout24.de How we achieved it • Added a layer on top of the SDK • Created a task to generate the Model classes from definition files. Dennis Benkert: How we integrated the IS24 API 4
  • 14. symfony and immobilienscout24.de How we achieved it • Made use of the internal hydration process to push the data into our Model classes Dennis Benkert: How we integrated the IS24 API 5
  • 15. symfony and immobilienscout24.de How we achieved it call (e.g. getExpose()) build query Interlutions SDK call (e.g. getExpose()) IS24 SDK Wrapper result object send result send query (XML) IS24 API Dennis Benkert: How we integrated the IS24 API 6
  • 16. symfony and immobilienscout24.de How we achieved it The SDK uses it‘s own hydration call (e.g. getExpose()) build query Interlutions SDK call (e.g. getExpose()) IS24 SDK Wrapper result object send result send query (XML) IS24 API Dennis Benkert: How we integrated the IS24 API 6
  • 17. symfony and immobilienscout24.de How we achieved it The SDK uses it‘s own hydration call (e.g. getExpose()) build query Interlutions SDK call (e.g. getExpose()) IS24 SDK Wrapper result object We create proxies to send result the result objects send query (XML) IS24 API Dennis Benkert: How we integrated the IS24 API 6
  • 18. symfony and immobilienscout24.de How we achieved it SDK Wrapper object Dennis Benkert: How we integrated the IS24 API 7
  • 19. symfony and immobilienscout24.de How we achieved it SDK Wrapper object SDK object Dennis Benkert: How we integrated the IS24 API 7
  • 20. symfony and immobilienscout24.de How we achieved it SDK Wrapper object SDK object Dennis Benkert: How we integrated the IS24 API 7
  • 21. symfony and immobilienscout24.de How we achieved it SDK Wrapper object getPrice() SDK object Dennis Benkert: How we integrated the IS24 API 7
  • 22. symfony and immobilienscout24.de How we achieved it SDK Wrapper object getPrice() SDK object Dennis Benkert: How we integrated the IS24 API 7
  • 23. symfony and immobilienscout24.de How we achieved it SDK Wrapper object getPrice() SDK object $price Dennis Benkert: How we integrated the IS24 API 7
  • 24. symfony and immobilienscout24.de What we needed Dennis Benkert: How we used YUI to create an AJAXified interface 8
  • 25. symfony and immobilienscout24.de What we needed • An interface to generate configurations to show resultlists and multi step searches Dennis Benkert: How we used YUI to create an AJAXified interface 8
  • 26. symfony and immobilienscout24.de What we needed • An interface to generate configurations to show resultlists and multi step searches • An extendable solution that won‘t block us for new features Dennis Benkert: How we used YUI to create an AJAXified interface 8
  • 27. symfony and immobilienscout24.de What we had Dennis Benkert: How we used YUI to create an AJAXified interface 9
  • 28. symfony and immobilienscout24.de What we had • YUI for the JavaScript and AJAX part Dennis Benkert: How we used YUI to create an AJAXified interface 9
  • 29. symfony and immobilienscout24.de What we had • YUI for the JavaScript and AJAX part • A symfony application Dennis Benkert: How we used YUI to create an AJAXified interface 9
  • 30. symfony and immobilienscout24.de What we had • YUI for the JavaScript and AJAX part • A symfony application • And some HTML Code Dennis Benkert: How we used YUI to create an AJAXified interface 9
  • 31. symfony and immobilienscout24.de How we achieved it Dennis Benkert: How we used YUI to create an AJAXified interface 10
  • 32. symfony and immobilienscout24.de How we achieved it • Used the ysfYUIPlugin Dennis Benkert: How we used YUI to create an AJAXified interface 10
  • 33. symfony and immobilienscout24.de How we achieved it • Used the ysfYUIPlugin • Used unobtrusive JavaScript Dennis Benkert: How we used YUI to create an AJAXified interface 10
  • 34. symfony and immobilienscout24.de How we achieved it • Used the ysfYUIPlugin • Used unobtrusive JavaScript • Seperated code into Model, View and Controller logic like Jamal MVC does (not exactly MVC) Dennis Benkert: How we used YUI to create an AJAXified interface 10
  • 35. symfony and immobilienscout24.de How we achieved it Controller Model View Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 36. symfony and immobilienscout24.de How we achieved it Get Controller information from event Model View Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 37. symfony and immobilienscout24.de How we achieved it Get Register Model Controller information method to from event AJAX Model View Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 38. symfony and immobilienscout24.de How we achieved it Get Register Model Fire AJAX Controller information method to request from event AJAX Model View Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 39. symfony and immobilienscout24.de How we achieved it Get Register Model Fire AJAX Controller information method to request from event AJAX Get data from Model response View Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 40. symfony and immobilienscout24.de How we achieved it Get Register Model Fire AJAX Controller information method to request from event AJAX Get data from Call View Model response method View Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 41. symfony and immobilienscout24.de How we achieved it Get Register Model Fire AJAX Controller information method to request from event AJAX Get data from Call View Model response method Get data View handed over by Model Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 42. symfony and immobilienscout24.de How we achieved it Get Register Model Fire AJAX Controller information method to request from event AJAX Get data from Call View Model response method Get data View handed over by Alter DOM Model Dennis Benkert: How we used YUI to create an AJAXified interface 11
  • 43. symfony and immobilienscout24.de How we achieved it Dennis Benkert: How we used YUI to create an AJAXified interface 12
  • 44. symfony and immobilienscout24.de Questions? Dennis Benkert 13