WEB APPS MIT     - NICHTS LEICHTER ALS DAS!  „A Web Application Framework         for a new Era“            Stateless & Sc...
Andreas KoopÜBER MICH                                                  CEO & Consultant                                   ...
ENTERPRISE PRAGMATIC IT   Consulting                  Training                Development Oracle Fusion         Oracle    ...
AGENDAPlay! Framework ArchitekturPlay! FeaturesSecurity & DeploymentFazit und AusblickAndreas Koop              4
AKTUELLER STANDJAVA WEBFRAMEWORKS   ‣           Java EE / JSF 2.0 / Oracle ADF   ‣           Grails   ‣           Wicket  ...
SAMPLE APP‣       http://play2-enpit-emp.herokuapp.comAndreas Koop                  6
ARCHITECTURE         HTTP                                                  Stateless         Request                    Ro...
GETTING STARTED $ play new contact               $ cd contact               $ play                          [contact] $ ec...
PLAY RUN $ cd contact       $ cd contact $ play run         $ play ~run                                    Triggered      ...
CREATE MODEL                    EBean                    JPA                    Anorm (Scala)Andreas Koop   10
ANNOTATION BASEDVALIDATION                        Hinweis:                      kein JSR-303                    (Bean Vali...
CONTROLLER ACTIONS                                Get Model         Return     Render contacts.scala.html         HTTP 200...
VIEW TEMPLATESParameterAndreas Koop   13
VIEW                  Every View is                     just a Function!ParameterFunction CallMessages(i18n)LoopDateFormat...
RESTFUL ROUTING       GET, POST, PUT, DELETE                                       Scala DSL                              ...
HIGHLY PRODUCTIVEDEVELOPMENT CYCLES                        in the Browser!           FIX           Hit          ReloadAndr...
DATABASEEVOLUTION SCRIPTS   ‣           Schema   ‣           DataAndreas Koop            17
WEBSOCKET SUPPORTAndreas Koop   18
COFFEESCRIPT COMPILER                    Out-Of-The Box                       No extra                     Configuration!An...
WEBJARS   ‣           Problem: JS Libraries - Kraut und Rüben!   ‣           Lösung: Siehe Java Libraries   ‣           ht...
CONFIGURATION   ‣           By Convention   conf/application.conf   ‣           HOCON Format -                “Human-Optim...
ACCESS CONFIGURATIONAndreas Koop   22
UNIT TEST   ‣           Test Model / Business Services $ play testAndreas Koop                        23
SMOKE TEST                                    HTTP 303‣ Funktioniert der Redirect von    /          --> /contactsAndreas K...
UI TEST   ‣           Selenium WebDriverAndreas Koop                        25
SOCIAL SIGN ON                                             Twitter   Play2                                     Google   Ap...
INSTANT DEPLOYMENT $ heroku login                                          Heroku $ heroku create -s cedar myapp-name     ...
FAZIT   ‣           Produktiv, Entwicklerfreundlich   ...und das ohne                                                     ...
ZUSAMMENFASSUNG‣      Zustandsloses, performantes (non-blocking) Web-Framework‣      Neuste Technologien: Async-I/O, WebSo...
ES GIBT NOCH VIEL MEHR‣ Session Handling‣ Cache Handling‣ Form Handling‣ Logging‣ ....Andreas Koop         30
HOW TO START   ‣           www.playframework.org   ‣           Tutorial               https://github.com/jamesward/play2to...
VIELEN DANK FÜR IHRE   AUFMERKSAMKEITHABEN SIE NOCH FRAGEN?
WepApps mit Play! - Nichts leichter als das
Upcoming SlideShare
Loading in...5
×

WepApps mit Play! - Nichts leichter als das

4,779

Published on

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

No Downloads
Views
Total Views
4,779
On Slideshare
0
From Embeds
0
Number of Embeds
3
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
  • Transcript of "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?

    ×