SlideShare uma empresa 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

Mais conteúdo relacionado

Semelhante 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 implementation
Chethan Pchethan
 
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
KlaraOrban
 
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
pycontw
 

Semelhante 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
 

Mais de D

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
D
 
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 2012
D
 
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
D
 
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
D
 
symfony Live 2010 - Using Doctrine Migrations
symfony Live 2010 -  Using Doctrine Migrationssymfony Live 2010 -  Using Doctrine Migrations
symfony Live 2010 - Using Doctrine Migrations
D
 
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
D
 

Mais 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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

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