WepApps mit Play! - Nichts leichter als das

  • 4,671 views
Uploaded on

 

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

Views

Total Views
4,671
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
1

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

  • 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. 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. ENTERPRISE PRAGMATIC IT Consulting Training Development Oracle Fusion Oracle Oracle Oracle Middleware WebCenter ADF WebLogicEnable productive IT by Oracle Technologies
  • 4. AGENDAPlay! Framework ArchitekturPlay! FeaturesSecurity & DeploymentFazit und AusblickAndreas Koop 4
  • 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. SAMPLE APP‣ http://play2-enpit-emp.herokuapp.comAndreas Koop 6
  • 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. GETTING STARTED $ play new contact $ cd contact $ play [contact] $ eclipsify [contact] $ idea [contact] $ netbeansify demnächstAndreas Koop 8
  • 9. PLAY RUN $ cd contact $ cd contact $ play run $ play ~run Triggered Compilation /@documentation How ToAndreas Koop 9
  • 10. CREATE MODEL EBean JPA Anorm (Scala)Andreas Koop 10
  • 11. ANNOTATION BASEDVALIDATION Hinweis: kein JSR-303 (Bean Validation)Andreas Koop 11
  • 12. CONTROLLER ACTIONS Get Model Return Render contacts.scala.html HTTP 200 => View is a Function!Andreas Koop 12
  • 13. VIEW TEMPLATESParameterAndreas Koop 13
  • 14. VIEW Every View is just a Function!ParameterFunction CallMessages(i18n)LoopDateFormattingAndreas Koop 14
  • 15. RESTFUL ROUTING GET, POST, PUT, DELETE Scala DSL => Prüfung zur Buildtime!Andreas Koop 15
  • 16. HIGHLY PRODUCTIVEDEVELOPMENT CYCLES in the Browser! FIX Hit ReloadAndreas Koop 16
  • 17. DATABASEEVOLUTION SCRIPTS ‣ Schema ‣ DataAndreas Koop 17
  • 18. WEBSOCKET SUPPORTAndreas Koop 18
  • 19. COFFEESCRIPT COMPILER Out-Of-The Box No extra Configuration!Andreas Koop 19
  • 20. WEBJARS ‣ Problem: JS Libraries - Kraut und Rüben! ‣ Lösung: Siehe Java Libraries ‣ http://webjars.orgAndreas Koop 20
  • 21. CONFIGURATION ‣ By Convention conf/application.conf ‣ HOCON Format - “Human-Optimized Config Object Notation” ‣ Support for Includes include "securesocial.conf"Andreas Koop 21
  • 22. ACCESS CONFIGURATIONAndreas Koop 22
  • 23. UNIT TEST ‣ Test Model / Business Services $ play testAndreas Koop 23
  • 24. SMOKE TEST HTTP 303‣ Funktioniert der Redirect von / --> /contactsAndreas Koop 24
  • 25. UI TEST ‣ Selenium WebDriverAndreas Koop 25
  • 26. SOCIAL SIGN ON Twitter Play2 Google App Facebook LinkedIn GitHub ‣ http://securesocial.wsAndreas Koop 26
  • 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. 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. 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. ES GIBT NOCH VIEL MEHR‣ Session Handling‣ Cache Handling‣ Form Handling‣ Logging‣ ....Andreas Koop 30
  • 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. VIELEN DANK FÜR IHRE AUFMERKSAMKEITHABEN SIE NOCH FRAGEN?