Play! chez Zaptravel - Nicolas Martignole - December 2012
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Play! chez Zaptravel - Nicolas Martignole - December 2012

  • 359 views
Uploaded on

Play! chez Zaptravel - Nicolas Martignole - December 2012

Play! chez Zaptravel - Nicolas Martignole - December 2012

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
359
On Slideshare
359
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. (mettre un super titre ici) @nmartignole nicolas@zaptravel.com ZapTravel
  • 2. Mise en oeuvre de Play 2 sur ZapTravel ZapTravel
  • 3. Mise en oeuvre de Play 2 sur un vrai projet de la vraie vie, comme quoi on ne fait pas QUE des HelloWorld ZapTravel
  • 4. Embarquement dans un nouveau monde ZapTravel
  • 5. Si vous voulez développer avec plaisir ZapTravel
  • 6. Bref... ZapTravel
  • 7. Scala ZapTravel Web Reactive Programming Akka Architecture ZapTravel
  • 8. ZapTravel
  • 9. ZapTravel • Innover dans la découverte et l’achat de voyages • Avion + Hôtel + Voiture + Activités • Temps réel • Web + Mobile
  • 10. ZapTravel • Week-end romantique
  • 11. ZapTravel • Week-end romantique • Golf ce weekend • Shopping à Milan • Ski + Spa pour se détendre • Sites de l’Unesco et visites musées
  • 12. ZapTravel
  • 13. Confirmation prix en temps réel Construire du contenu dynamiquement Pousser les prix vers le client Gérer plusieurs flux de données ...
  • 14. Web
  • 15. Statique Dynamique Structuré Temps réel © babimu - Fotolia.com
  • 16. Statique Dynamique Structuré Temps réel © M.studio - Fotolia.com
  • 17. Statique Dynamique Structuré Temps réel © M.studio - Fotolia.com
  • 18. Statique Dynamique Structuré Temps réel © Julien Eichinger Fotolia.com
  • 19. Quelques tendances • Données structurées/liées • Temps réel (Twitter) • Personnalisée (Facebook, Amazon) • Web mobile (Foursquare) ZapTravel
  • 20. ZapTravel • Fournisseurs de données
  • 21. ZapTravel Architecture
  • 22. Architecture Web HTTP HTTPS Web LB Redis Air/Hotel/Cars... Redis Webuser/Reservatiom Redis Web content S3 Photos ZapTravel
  • 23. Architecture Redis Web Air/Hotel/Cars/Ac Web HTTP HTTPS Web LB Redis Resa/Users Redis Web Content redis Web ZapTravel
  • 24. Architecture Redis Air/Hotel/Cars/Ac HTTP HTTPS Redis Resa/Users Redis Web Content MySQL Publishers Admin Backoffice Scrappers Tooling Crowd computing ZapTravel
  • 25. Architecture Redis Air/Hotel/Cars/Ac HTTP HTTPS MySQL Redis Resa/Users 20 Gb Redis Web Content PHP Java PHP Java PHP PHP Apache ZapTravel
  • 26. Demo
  • 27. - Check time -
  • 28. Un problème ? Client Serveur Service Avion Service Voiture ZapTravel
  • 29. Intégration de services Navigateur Web Serveur Avion Hotel Voiture ZapTravel
  • 30. Intégration de services Navigateur Web Serveur Avion Hotel Voiture ZapTravel
  • 31. Intégration de services Navigateur Web Serveur Avion Hotel Voiture ZapTravel
  • 32. ZapTravel
  • 33. Passer de l’autre côté © Galyna Andrushko - Fotolia.com
  • 34. Play2
  • 35. Solutions • Système non bloquant (NIO) ZapTravel
  • 36. Solutions • Modèle de programmation événementiel et réactif ZapTravel
  • 37. Solutions • Serveur sans état conversationnel ZapTravel
  • 38. Solutions • Streaming vers le client ZapTravel
  • 39. Non bloquant Web client Avion Serveur Hotel Voiture ZapTravel
  • 40. Réactif Web client Avion Serveur Hotel Voiture ZapTravel
  • 41. Conversation Sans état conversationnel du côté serveur © lkunl - Fotolia.com
  • 42. Streaming No polling * WebBrowser -> ZapTravel ZapTravel -> Service Providers ZapTravel © Scanrail - Fotolia.com
  • 43. Différence entre Streaming et REST https://dev.twitter.com/docs/streaming-apis ZapTravel
  • 44. Streaming API ZapTravel
  • 45. 2012
  • 46. Play 1 Play 2 Java Scala SQL NoSQL
  • 47. Play 2 en un slide • Modèle de programmation événementiel • Typage fort • Moteur de templating • Akka • Moteur asynchrone • Streaming • NoSQL • Puissance • Framework fullstack • existe-t-il une autre alternative ?
  • 48. Scala def index() = Action { val name ="Nicolas" Ok(views.html.Application.index(name)) }
  • 49. Scala - 2 @(name: String) @myTemplate() { <h1>Hello @name</h1> ... }
  • 50. Mais pourquoi Scala ? Attention : FUD pendant quelques slides. ZapTravel
  • 51. Le bon vieux développeur Java ZapTravel
  • 52. «...à la mode...» ZapTravel
  • 53. «... efficacité...» ZapTravel
  • 54. ... pause pub ... ZapTravel
  • 55. Sérieusement
  • 56. Choix de Scala • Orienté objet ET Fonctionnel • Typage statique • JVM • Collections ZapTravel
  • 57. Akka dans Play2 • Simple à mettre en oeuvre • Facilité pour tester • Indispensable pour ZapTravel ZapTravel
  • 58. http://zaptravel.com/romance/weekend-deals/from-london/to-anywhere/next-90days/quality/folio ZapTravel
  • 59. http://zaptravel.com/romance/weekend-deals/from-london/to-paris/11-Jan-2013-to-13-Jan-2013/best-western-sevres-montparnasse ZapTravel
  • 60. Demo Questions @nmartignole