WepApps mit Play! - Nichts leichter als das

5,215 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,215
On SlideShare
0
From Embeds
0
Number of Embeds
3,729
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Web-Orientierte Architekturen vorausgesetzt\n
  • \n
  • Highly productive\nTypesafe view templates based on Scala\nLessCss integration\nAkka integration\nCompiled javascript with Google Closure Compiler\nNo need to learn Scala for the moment, hooray ! \n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • WepApps mit Play! - Nichts leichter als das

    1. 1. WEB APPS MIT - NICHTS LEICHTER ALS DAS! „A Web Application Framework for a new Era“ Stateless & Scalable WebJars Andreas Koop CEO & Consultant WebSockets Oracle TechnologiesDOAG 2012
    2. 2. Andreas KoopÜBER MICH CEO & Consultant Oracle TechnologiesBeratung, Training Oracle TechnologieADF Certified Implementation SpecialistCommunityDOAG, ADF EMG, ADF German Community, Twitter @multikoopBlogTechnical http://multikoop.blogspot.comSonstiges http://www.enpit.de/blog 2
    3. 3. ENTERPRISE PRAGMATIC IT Consulting Training Development Oracle Fusion Oracle Oracle Oracle Middleware WebCenter ADF WebLogicEnable productive IT by Oracle Technologies
    4. 4. AGENDAPlay! Framework ArchitekturPlay! FeaturesSecurity & DeploymentFazit und AusblickAndreas Koop 4
    5. 5. AKTUELLER STANDJAVA WEBFRAMEWORKS ‣ Java EE / JSF 2.0 / Oracle ADF ‣ Grails ‣ Wicket ‣ Tapestry ‣ Play! Framework => Nicht Servlet basiert, Jetty, Scala!Andreas Koop 5
    6. 6. SAMPLE APP‣ http://play2-enpit-emp.herokuapp.comAndreas Koop 6
    7. 7. ARCHITECTURE HTTP Stateless Request Router Controller index() MVC GET / index() list(..,.) Request-based HTTP Response Async I/O Model View Template EBean JPA... Scalable Modular DataStoreAndreas Koop 7
    8. 8. GETTING STARTED $ play new contact $ cd contact $ play [contact] $ eclipsify [contact] $ idea [contact] $ netbeansify demnächstAndreas Koop 8
    9. 9. PLAY RUN $ cd contact $ cd contact $ play run $ play ~run Triggered Compilation /@documentation How ToAndreas Koop 9
    10. 10. CREATE MODEL EBean JPA Anorm (Scala)Andreas Koop 10
    11. 11. ANNOTATION BASEDVALIDATION Hinweis: kein JSR-303 (Bean Validation)Andreas Koop 11
    12. 12. CONTROLLER ACTIONS Get Model Return Render contacts.scala.html HTTP 200 => View is a Function!Andreas Koop 12
    13. 13. VIEW TEMPLATESParameterAndreas Koop 13
    14. 14. VIEW Every View is just a Function!ParameterFunction CallMessages(i18n)LoopDateFormattingAndreas Koop 14
    15. 15. RESTFUL ROUTING GET, POST, PUT, DELETE Scala DSL => Prüfung zur Buildtime!Andreas Koop 15
    16. 16. HIGHLY PRODUCTIVEDEVELOPMENT CYCLES in the Browser! FIX Hit ReloadAndreas Koop 16
    17. 17. DATABASEEVOLUTION SCRIPTS ‣ Schema ‣ DataAndreas Koop 17
    18. 18. WEBSOCKET SUPPORTAndreas Koop 18
    19. 19. COFFEESCRIPT COMPILER Out-Of-The Box No extra Configuration!Andreas Koop 19
    20. 20. WEBJARS ‣ Problem: JS Libraries - Kraut und Rüben! ‣ Lösung: Siehe Java Libraries ‣ http://webjars.orgAndreas Koop 20
    21. 21. CONFIGURATION ‣ By Convention conf/application.conf ‣ HOCON Format - “Human-Optimized Config Object Notation” ‣ Support for Includes include "securesocial.conf"Andreas Koop 21
    22. 22. ACCESS CONFIGURATIONAndreas Koop 22
    23. 23. UNIT TEST ‣ Test Model / Business Services $ play testAndreas Koop 23
    24. 24. SMOKE TEST HTTP 303‣ Funktioniert der Redirect von / --> /contactsAndreas Koop 24
    25. 25. UI TEST ‣ Selenium WebDriverAndreas Koop 25
    26. 26. SOCIAL SIGN ON Twitter Play2 Google App Facebook LinkedIn GitHub ‣ http://securesocial.wsAndreas Koop 26
    27. 27. INSTANT DEPLOYMENT $ heroku login Heroku $ heroku create -s cedar myapp-name CloudBees $ git remote add heroku git@heroku.com:myapp-name.git dotCloud $ heroku keys:add ~/.ssh/id_rsa.pub ... Continuous Cloud $ git push heroku master DeploymentAndreas Koop 27
    28. 28. FAZIT ‣ Produktiv, Entwicklerfreundlich ...und das ohne essentielle ‣ Typsichere View Scala Templates Scala- Kenntnisse! ‣ Less CSS Integration ‣ CoffeeScript Integration ‣ HTML5 / WebSocket Support & More... ‣ Social and Cloud ReadyAndreas Koop 28
    29. 29. ZUSAMMENFASSUNG‣ Zustandsloses, performantes (non-blocking) Web-Framework‣ Neuste Technologien: Async-I/O, WebSockets, HTML5, WebJars, CoffeeScript/LESS PreCompiler, Scala‣ Ausgelegt für Internet- / Cloud-Applikationen, RESTful Services, Mobile HTML5, Social Sign On‣ Play! 1.x -> Play! 2.x: Gewagter Schritt der Macher!‣ Intranet-Unternehmensanwendungen derzeit besser mit z.B. Oracle ADFAndreas Koop 29
    30. 30. ES GIBT NOCH VIEL MEHR‣ Session Handling‣ Cache Handling‣ Form Handling‣ Logging‣ ....Andreas Koop 30
    31. 31. HOW TO START ‣ www.playframework.org ‣ Tutorial https://github.com/jamesward/play2torial ‣ Join Community https://groups.google.com/forum/?fromgroups#! forum/play-frameworkAndreas Koop 31
    32. 32. VIELEN DANK FÜR IHRE AUFMERKSAMKEITHABEN SIE NOCH FRAGEN?

    ×