soft-shake.ch - La Tequila du développement Web

1,289 views

Published on

Nicolas Martignole

Votre application Java utilise une base de données, vous travaillez sur un projet de plusieurs mois, la dernière fois que vous avez essayé de coder une page cela vous a demandé 2 jours... Vous voulez tester un nouveau cocktail détonant pour le développement Web ?
Venez découvrir Play! Framework, un framework Java open-source qui permet de travailler efficacement et qui partage beaucoup de ses valeurs avec la nouvelle philosophie de Java EE 6.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,289
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

soft-shake.ch - La Tequila du développement Web

  1. 1. Nicolas Martignole 2010 J2 La Tequila du développement Web
  2. 2. Agilité iPhone Java Incubateur 8:15 Accueil des participantsAccueil des participantsAccueil des participantsAccueil des participants 8:40 Mot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateurs 9:00 Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes) 9:40 10:40 - A1 - Le terrain Agile Jean-Philippe Vigniel - I1- Hello iPhone Stephane Tavera - J1 - NOSQL also means RDF stores: an Android case study Fabrizio Giudci - X1 - Le développement durable Dominic Williams 11:00 12:00 - A2 - Integration of User Centered Design in Agile Development of RIA J. Borkenhagen, J. Desmazières - I2 - Développement d'une application iPhone pilotée par les tests Emmanuel Etasse, Van-Charles Tran - J2 - La Tequila du développement Web Nicolas Martignole - X2 - Cloud Computing: anatomie et pratique Marc-Elian Bégin 12:20 13:20 - A3 - Adoption de l'Agilité par les usages Xavier Warzee - I3 - Distribution d'applications iPhone en Entreprise: Réalisation d'un AppStore interne Géraud de Laval - J3 - Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaScript Joonas Lehtinen - X3 - Les DVCS sont vos amis Sébastien Douche Pause repas (50 minutes)Pause repas (50 minutes)Pause repas (50 minutes)Pause repas (50 minutes) 14h10 Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes) 14h50 15h50 - A4 - Scrum, introduction et mise en oeuvre avec iceScrum Claude Aubry - I4 - Agile iOS Development Jérôme Layat, Alexander Osterwalder - J4 - JAX-RS and Java EE 6 Paul Sandoz - X4 - IT Design & Ergonomy Pascal Petit, Aude Lussigny 16h10 17h10 - A5 - Agilité : 10 ans déjà Thierry Cros - I5 - Optimizing iOS applications Marc-Antoine Scheurer - J5 - Ecrivez et automatisez vos tests fonctionnels avec jBehave Xavier Bourguignon - X5 - NoSQL : Enfin de la biodiversité dans l'écosystème des BD Olivier Mallassi 17h30 18h30 - A6 - Lean engineering Jean-Christophe Dubail - I6 - iPhone et Agile, l'amour vache Guillaume Duquesnay - J6 - Let's make this test suite run faster David Gageot - X6 - The feel of Scala Mario Fusco Mot de la fin & tombolaMot de la fin & tombolaMot de la fin & tombolaMot de la fin & tombola Programme de la Conférence www.soft-shake.ch
  3. 3. La Téquila du développement Web Nicolas Martignole Play! Framework dimanche 24 octobre 2010
  4. 4. • Nicolas Martignole @nmartignole • Freelance / Technical Team Leader • Blog Le Touilleur Express • Fondateur du site eXpress-Board.fr Speaker dimanche 24 octobre 2010
  5. 5. What you will learn dimanche 24 octobre 2010
  6. 6. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 dimanche 24 octobre 2010
  7. 7. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture dimanche 24 octobre 2010
  8. 8. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture • Not based on Java Servlet API dimanche 24 octobre 2010
  9. 9. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture • Not based on Java Servlet API • No client-side technology dimanche 24 octobre 2010
  10. 10. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture • Not based on Java Servlet API • No client-side technology • A full-stack framework : from compilation to deployment dimanche 24 octobre 2010
  11. 11. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture • Not based on Java Servlet API • No client-side technology • A full-stack framework : from compilation to deployment • Close to Rails but based on Java dimanche 24 octobre 2010
  12. 12. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture • Not based on Java Servlet API • No client-side technology • A full-stack framework : from compilation to deployment • Close to Rails but based on Java • and it’s fun (really) dimanche 24 octobre 2010
  13. 13. What you will learn • Play! Framework is an open-source Web Framework written in Java launched in 2008 • Stateless server-side architecture • Not based on Java Servlet API • No client-side technology • A full-stack framework : from compilation to deployment • Close to Rails but based on Java • and it’s fun (really) dimanche 24 octobre 2010
  14. 14. Demo ? dimanche 24 octobre 2010
  15. 15. A Web Framework not based on Servlet API dimanche 24 octobre 2010
  16. 16. A Web Framework not based on Servlet API dimanche 24 octobre 2010
  17. 17. A Web Framework not based on Servlet API dimanche 24 octobre 2010
  18. 18. A Web Framework not based on Servlet API dimanche 24 octobre 2010
  19. 19. http://www.flickr.com/photos/julia_manzerova/932055526/ Values and background dimanche 24 octobre 2010
  20. 20. ➡ Simple, efficient http://www.flickr.com/photos/julia_manzerova/932055526/ Values and background dimanche 24 octobre 2010
  21. 21. ➡ Simple, efficient ➡ Play! is a full stack framework http://www.flickr.com/photos/julia_manzerova/932055526/ Values and background dimanche 24 octobre 2010
  22. 22. ➡ Simple, efficient ➡ Play! is a full stack framework ➡ Shared philosophy from Rails, Django http://www.flickr.com/photos/julia_manzerova/932055526/ Values and background dimanche 24 octobre 2010
  23. 23. ➡ Simple, efficient ➡ Play! is a full stack framework ➡ Shared philosophy from Rails, Django ➡ A Web framework (not a java framework) http://www.flickr.com/photos/julia_manzerova/932055526/ Values and background dimanche 24 octobre 2010
  24. 24. Much of the Java Complexity is cultural and not imposed dimanche 24 octobre 2010
  25. 25. Why no Servlet API ? dimanche 24 octobre 2010
  26. 26. Why no Servlet API ? dimanche 24 octobre 2010
  27. 27. Why no Servlet API ? dimanche 24 octobre 2010
  28. 28. http://www.flickr.com/photos/ikhlasulamal/4971821734/lightbox/ dimanche 24 octobre 2010
  29. 29. Servlet API Threads Pools Session Session DB Client 1 Client 2 A set of sessions Session dimanche 24 octobre 2010
  30. 30. Servlet API Threads Pools Session Session DB Client 1 Client 2 A set of sessions Session dimanche 24 octobre 2010
  31. 31. Servlet API Threads Pools Session Session DB Client 1 Client 2 YOU A set of sessions Session dimanche 24 octobre 2010
  32. 32. Servlet API Threads Pools Session Session DB Client 1 Client 2 YOU A set of sessions Session dimanche 24 octobre 2010
  33. 33. http://www.flickr.com/photos/pierofix/3094329703/sizes/z/in/photostream/ dimanche 24 octobre 2010
  34. 34. Careful, the beverage you’re about to enjoy is extremely hot dimanche 24 octobre 2010
  35. 35. http://www.flickr.com/photos/dominik/3281953536/sizes/l/in/photostream/ dimanche 24 octobre 2010
  36. 36. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  37. 37. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  38. 38. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  39. 39. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  40. 40. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  41. 41. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  42. 42. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  43. 43. DB • One Thread to take your order very quickly • A fixed pool of Worker to process it • A last Thread to deliver the response Fixed pool of workers Play! Framework dimanche 24 octobre 2010
  44. 44. Disclaimer : A bit of FUD Fear,uncertainty and doubt dimanche 24 octobre 2010
  45. 45. http://www.flickr.com/photos/esparta/482348262/sizes/o/in/photostream/ dimanche 24 octobre 2010
  46. 46. • http://www.myapp.com/cont/ servlet/buyService? sessionId=3gh3haaa2gg2&act ion=nextPage&idExpanse=fal se&flow=3C&event=s1e1&e ntityId=23bS&role=p&date= 04%2F12%F2010&returnPag e=homeS02&out=true URL dimanche 24 octobre 2010
  47. 47. • http://www.myapp.com/cont/ servlet/buyService? sessionId=3gh3haaa2gg2&act ion=nextPage&idExpanse=fal se&flow=3C&event=s1e1&e ntityId=23bS&role=p&date= 04%2F12%F2010&returnPag e=homeS02&out=true Is that web ? URL dimanche 24 octobre 2010
  48. 48. • http://www.express-board.fr/user/sfeir/27 • http://www.express-board.fr/user/objectif- informatique/53 -You can read it -You can boomark it -You can share it URL with Play! dimanche 24 octobre 2010
  49. 49. Play! is a web framework dimanche 24 octobre 2010
  50. 50. The application can be RESTful. Play! is a web framework dimanche 24 octobre 2010
  51. 51. The application can be RESTful. URL are important. Play! is a web framework dimanche 24 octobre 2010
  52. 52. The application can be RESTful. URL are important. Fully realize the meaning of HTTP as a protocol not just a transport protocol layer. Play! is a web framework dimanche 24 octobre 2010
  53. 53. The application can be RESTful. URL are important. Fully realize the meaning of HTTP as a protocol not just a transport protocol layer. Take care of side effects & idempotence Play! is a web framework dimanche 24 octobre 2010
  54. 54. The application can be RESTful. URL are important. Fully realize the meaning of HTTP as a protocol not just a transport protocol layer. Take care of side effects & idempotence The navigator holds the session Play! is a web framework dimanche 24 octobre 2010
  55. 55. http://www.flickr.com/photos/paperpariah/2807820145/sizes/o/in/photostream/ Play! is a server-side stateless framework dimanche 24 octobre 2010
  56. 56. Application Play! Framework ServerWeb Browser Play! Framework Server 2 Application DBState Crypted signed cookie Where is the session ? dimanche 24 octobre 2010
  57. 57. Application Play! Framework ServerWeb Browser Play! Framework Server 2 Application DBState Crypted signed cookie Where is the session ? dimanche 24 octobre 2010
  58. 58. Application Play! Framework ServerWeb Browser Play! Framework Server 2 Application DBState Crypted signed cookie Where is the session ? dimanche 24 octobre 2010
  59. 59. Application Play! Framework ServerWeb Browser Play! Framework Server 2 Application DBState Crypted signed cookie Where is the session ? dimanche 24 octobre 2010
  60. 60. Application Play! Framework ServerWeb Browser Play! Framework Server 2 Application DBState Crypted signed cookie Where is the session ? dimanche 24 octobre 2010
  61. 61. Application Play! Framework ServerWeb Browser Play! Framework Server 2 Application DBState Crypted signed cookie Where is the session ? dimanche 24 octobre 2010
  62. 62. http://www.flickr.com/photos/onegoodbumblebee/1444006597/sizes/o/in/photostream/ Not a client-side web framework jQuery ext-JS GWT dimanche 24 octobre 2010
  63. 63. http://www.flickr.com/photos/ajc1/4663140532/sizes/o/in/photostream/ Play! is a full stack framework dimanche 24 octobre 2010
  64. 64. Copyright(c) mipan - Fotolia.com Full stack ? dimanche 24 octobre 2010
  65. 65. • In dev mode, it compiles your java code (no need for Maven nor Ant) Copyright(c) mipan - Fotolia.com Full stack ? dimanche 24 octobre 2010
  66. 66. • In dev mode, it compiles your java code (no need for Maven nor Ant) • Embedded Server based on Apache Mina or JBoss Netty Copyright(c) mipan - Fotolia.com Full stack ? dimanche 24 octobre 2010
  67. 67. • In dev mode, it compiles your java code (no need for Maven nor Ant) • Embedded Server based on Apache Mina or JBoss Netty • Deployment as a WAR Copyright(c) mipan - Fotolia.com Full stack ? dimanche 24 octobre 2010
  68. 68. • In dev mode, it compiles your java code (no need for Maven nor Ant) • Embedded Server based on Apache Mina or JBoss Netty • Deployment as a WAR • No need for any other JARs Copyright(c) mipan - Fotolia.com Full stack ? dimanche 24 octobre 2010
  69. 69. • Apache Tomcat • Spring Webflow • Spring Faces • Hibernate • Junit • JSF and a library such as Rich Faces • Selenium • Maven Meet the Java Web projet dimanche 24 octobre 2010
  70. 70. • The super-heros pattern http://www.flickr.com/photos/aloha75/4571410233/sizes/l/in/photostream/ Me as a consultant dimanche 24 octobre 2010
  71. 71. • The super-heros pattern http://www.flickr.com/photos/aloha75/4571410233/sizes/l/in/photostream/ Me as a consultant dimanche 24 octobre 2010
  72. 72. http://www.flickr.com/photos/creative_tools/4324925700/sizes/l/in/photostream/ But I m getting old dimanche 24 octobre 2010
  73. 73. http://www.flickr.com/photos/creative_tools/4324925700/sizes/l/in/photostream/ But I m getting old dimanche 24 octobre 2010
  74. 74. Play is a development platform dimanche 24 octobre 2010
  75. 75. • Fast incremental development Play is a development platform dimanche 24 octobre 2010
  76. 76. • Fast incremental development • Production server Play is a development platform dimanche 24 octobre 2010
  77. 77. • Fast incremental development • Production server • MVC stack with a configurable template engine Play is a development platform dimanche 24 octobre 2010
  78. 78. • Fast incremental development • Production server • MVC stack with a configurable template engine • Persistence engine (JPA/Hibernate) Play is a development platform dimanche 24 octobre 2010
  79. 79. • Fast incremental development • Production server • MVC stack with a configurable template engine • Persistence engine (JPA/Hibernate) • Tests Runners (Junit, Selenium) Play is a development platform dimanche 24 octobre 2010
  80. 80. • Fast incremental development • Production server • MVC stack with a configurable template engine • Persistence engine (JPA/Hibernate) • Tests Runners (Junit, Selenium) • Asynchronous tasks Play is a development platform dimanche 24 octobre 2010
  81. 81. • Fast incremental development • Production server • MVC stack with a configurable template engine • Persistence engine (JPA/Hibernate) • Tests Runners (Junit, Selenium) • Asynchronous tasks • Email Play is a development platform dimanche 24 octobre 2010
  82. 82. • Fast incremental development • Production server • MVC stack with a configurable template engine • Persistence engine (JPA/Hibernate) • Tests Runners (Junit, Selenium) • Asynchronous tasks • Email • Scala Play is a development platform dimanche 24 octobre 2010
  83. 83. • Fast incremental development • Production server • MVC stack with a configurable template engine • Persistence engine (JPA/Hibernate) • Tests Runners (Junit, Selenium) • Asynchronous tasks • Email • Scala • Mobile development Play is a development platform dimanche 24 octobre 2010
  84. 84. Compile, reload, enjoy dimanche 24 octobre 2010
  85. 85. • You think of an idea Compile, reload, enjoy dimanche 24 octobre 2010
  86. 86. • You think of an idea • You write-it in your IDE Compile, reload, enjoy dimanche 24 octobre 2010
  87. 87. • You think of an idea • You write-it in your IDE • Reload browser Compile, reload, enjoy dimanche 24 octobre 2010
  88. 88. • You think of an idea • You write-it in your IDE • Reload browser • There is no session : you can perform progressive creation of Web application in no time Compile, reload, enjoy dimanche 24 octobre 2010
  89. 89. • Displayed in your web browser Error pages Statically check (yes it’s Java) dimanche 24 octobre 2010
  90. 90. • Displayed in your web browser Error pages Statically check (yes it’s Java) dimanche 24 octobre 2010
  91. 91. Tests in the browser dimanche 24 octobre 2010
  92. 92. Tests in the browser dimanche 24 octobre 2010
  93. 93. dimanche 24 octobre 2010
  94. 94. One more thing... dimanche 24 octobre 2010
  95. 95. One more thing dimanche 24 octobre 2010
  96. 96. • Cloud deployment on playapps.net One more thing dimanche 24 octobre 2010
  97. 97. • Cloud deployment on playapps.net • Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc. One more thing dimanche 24 octobre 2010
  98. 98. • Cloud deployment on playapps.net • Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc. • Hosted on GitHub One more thing dimanche 24 octobre 2010
  99. 99. • Cloud deployment on playapps.net • Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc. • Hosted on GitHub • Easy to learn One more thing dimanche 24 octobre 2010
  100. 100. • Cloud deployment on playapps.net • Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc. • Hosted on GitHub • Easy to learn • .............................. and it’s Java One more thing dimanche 24 octobre 2010
  101. 101. Demonstration dimanche 24 octobre 2010
  102. 102. Demo • A simple Todo list application • Create an application • Add simple HTML • Add bootstrap • Create a todo • Show a specific dimanche 24 octobre 2010
  103. 103. Demo 2 • GeekEvent is a Java User Group event organizer • Code source hosted on GitHub dimanche 24 octobre 2010
  104. 104. JugUser email firstName lastName JugEvent title date shortDesc longDesc totalSlots Simple model dimanche 24 octobre 2010
  105. 105. JugUser email firstName lastName Set<JugEvent> attendeesEvents Set<JugEvent> organizedEvents JugEvent title date shortDesc longDesc totalSlots Set<JugUser> attendees JugUser eventOrganizer dimanche 24 octobre 2010
  106. 106. dimanche 24 octobre 2010

×