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
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
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
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
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
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
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
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