SlideShare a Scribd company logo
1 of 15
”From nothing to the
               cloud in 45 minutes”
                                                                  amework
                                                      ith Play Fr
                                                     w




Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Who are we?
                                  Helena Hjertén, @javaHelena
                                  Chairman of Duchess Sweden
                                  Java, Web




                                  Johan Andrén, @apnylle
                                  https://markatta.com/johan/codemonkey/

                                  Java, Scala, Web




Helena Hjertén @javaHelena & Johan Andrén @apnylle      Software Passion 2012
Who are you?




Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
How?


         Play! Framework 2.0 (web framework)
         Git (version handling / ”transfer protocol”)
         Heroku (cloud)




Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
What is Play! Framework?
       Web Framework - MVC, RESTful
       Runs on the JVM
       All inclusive Framework
           Built in components (Web server, template engine etc)

       Open source
           since 2009 (initially created in 2007 at Zenexity)
           v. 1.x (written in Java) - for java (& scalaplugin)
           v. 2.0 (rewritten in scala) - for java & scala
                released on March 13th (2012)
                Part of the Typesafe stack - http://typesafe.com

       Inspired by ”Ruby on Rails” and Django

Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Why Play! Framework?

         Easy to get started
         Easy to work with
              download, unpack, start developing
         Hot Reloading
         Web for java developers (and scala)
         Open Source



Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Play! Components?
         ”Full Stack Aspect” - bundle wihtin Play:
              JBoss Netty - web server
              Ebean, Anorm, JPA - data layer
              Selenium, JUnit - for testing


         Modular architecture - Modules
              1.x CRUD, Security, / scala, mongodb ...
              2.0 modules - work in progress
                   https://github.com/playframework/Play20/wiki


Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Demo - prerequisits

         Install
              Play - http://www.playframework.org
                   export PATH=<path-to-play>/play-2.0:$PATH
              Git - http://git-scm.com
              Heroku (toolbelt) - http://devcenter.heroku.com


         Account (cloud):
              Heroku http://www.heroku.com



Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Create a new app
     Run the app in the web browser locally
     Open the source code in IntelliJ Idea (IDE)
     Modify the code
     Modify the configuration
     Initiate git
     Push to Heroku
     Make it look nice
     Use our app on the Internet
     http://sp2012.herokuapp.com
     Done

Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Time for
                                      Demo!




Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Create a new app
     Run the app in the web browser locally
     Open the source code in IntelliJ Idea (IDE)
     Modify the code
     Modify the configuration
     Initiate git
     Push to Heroku
     Make it look nice
     Use our app on the Internet
     http://sp2012.herokuapp.com
     Done

Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Modify the code
         Created a MODEL
              list all - desc sort order
              db connection, validation
         Changed the VIEW
              added a list
              added a form
         Changed the CONTROLLER
              changed the index method.
              added an ”add” method, validation




Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Create a new app
     Run the app in the web browser locally
     Open the source code in IntelliJ Idea (IDE)
     Modify the code
     Modify the configuration
     Initiate git
     Push to Heroku
     Make it look nice
     Use our app on the Internet
     http://sp2012.herokuapp.com
     Done

Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Links:
        Play! Framework
            http://www.playframework.org
            https://github.com/playframework/Play20/wiki
        Git:
            http://git-scm.com
        Heroku
            http://devcenter.heroku.com/articles/play


        Todays demo:
            http://sp2012.herokuapp.com


Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012
Contact

                        Helena Hjertén, @javaHelena
                        helena.hjerten@mejsla.se




                        Johan Andrén, @apnylle
                        johan.andren@mejsla.se
                        https://markatta.com/johan/codemonkey




Helena Hjertén @javaHelena & Johan Andrén @apnylle   Software Passion 2012

More Related Content

Viewers also liked

60dage Results & Awards
60dage Results & Awards60dage Results & Awards
60dage Results & Awards7peaks
 
WomenTechMakers - Why I have the best job!
WomenTechMakers - Why I have the best job!WomenTechMakers - Why I have the best job!
WomenTechMakers - Why I have the best job!javaHelena
 
Charleston2010 Departmental Libraries Michigan - Corey Seeman
Charleston2010 Departmental Libraries Michigan - Corey SeemanCharleston2010 Departmental Libraries Michigan - Corey Seeman
Charleston2010 Departmental Libraries Michigan - Corey SeemanCorey Seeman
 
Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010javaHelena
 
Vein ja tervis
Vein ja tervisVein ja tervis
Vein ja tervisedgardegas
 
Small Bite - iZovator Award
Small Bite - iZovator AwardSmall Bite - iZovator Award
Small Bite - iZovator AwardiZovator
 
Niche financial software vendor profiles
Niche financial software vendor profilesNiche financial software vendor profiles
Niche financial software vendor profilesaravindiyengar1729
 
Using Your Library’s Annual Report to Market Library Services
Using Your Library’s Annual Report to Market Library ServicesUsing Your Library’s Annual Report to Market Library Services
Using Your Library’s Annual Report to Market Library ServicesCorey Seeman
 
Digital Fan Engagement 2015
Digital Fan Engagement 2015Digital Fan Engagement 2015
Digital Fan Engagement 20157peaks
 

Viewers also liked (11)

60dage Results & Awards
60dage Results & Awards60dage Results & Awards
60dage Results & Awards
 
Triskellon Test
Triskellon TestTriskellon Test
Triskellon Test
 
WomenTechMakers - Why I have the best job!
WomenTechMakers - Why I have the best job!WomenTechMakers - Why I have the best job!
WomenTechMakers - Why I have the best job!
 
Charleston2010 Departmental Libraries Michigan - Corey Seeman
Charleston2010 Departmental Libraries Michigan - Corey SeemanCharleston2010 Departmental Libraries Michigan - Corey Seeman
Charleston2010 Departmental Libraries Michigan - Corey Seeman
 
ICT WAR ON POVERTY
ICT WAR ON POVERTYICT WAR ON POVERTY
ICT WAR ON POVERTY
 
Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010Testdriven Utveckling GeekGirlMeetup November 2010
Testdriven Utveckling GeekGirlMeetup November 2010
 
Vein ja tervis
Vein ja tervisVein ja tervis
Vein ja tervis
 
Small Bite - iZovator Award
Small Bite - iZovator AwardSmall Bite - iZovator Award
Small Bite - iZovator Award
 
Niche financial software vendor profiles
Niche financial software vendor profilesNiche financial software vendor profiles
Niche financial software vendor profiles
 
Using Your Library’s Annual Report to Market Library Services
Using Your Library’s Annual Report to Market Library ServicesUsing Your Library’s Annual Report to Market Library Services
Using Your Library’s Annual Report to Market Library Services
 
Digital Fan Engagement 2015
Digital Fan Engagement 2015Digital Fan Engagement 2015
Digital Fan Engagement 2015
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

From nothing to the cloud in 45 minutes with Play Framework.

  • 1. ”From nothing to the cloud in 45 minutes” amework ith Play Fr w Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 2. Who are we? Helena Hjertén, @javaHelena Chairman of Duchess Sweden Java, Web Johan Andrén, @apnylle https://markatta.com/johan/codemonkey/ Java, Scala, Web Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 3. Who are you? Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 4. How? Play! Framework 2.0 (web framework) Git (version handling / ”transfer protocol”) Heroku (cloud) Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 5. What is Play! Framework? Web Framework - MVC, RESTful Runs on the JVM All inclusive Framework Built in components (Web server, template engine etc) Open source since 2009 (initially created in 2007 at Zenexity) v. 1.x (written in Java) - for java (& scalaplugin) v. 2.0 (rewritten in scala) - for java & scala released on March 13th (2012) Part of the Typesafe stack - http://typesafe.com Inspired by ”Ruby on Rails” and Django Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 6. Why Play! Framework? Easy to get started Easy to work with download, unpack, start developing Hot Reloading Web for java developers (and scala) Open Source Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 7. Play! Components? ”Full Stack Aspect” - bundle wihtin Play: JBoss Netty - web server Ebean, Anorm, JPA - data layer Selenium, JUnit - for testing Modular architecture - Modules 1.x CRUD, Security, / scala, mongodb ... 2.0 modules - work in progress https://github.com/playframework/Play20/wiki Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 8. Demo - prerequisits Install Play - http://www.playframework.org export PATH=<path-to-play>/play-2.0:$PATH Git - http://git-scm.com Heroku (toolbelt) - http://devcenter.heroku.com Account (cloud): Heroku http://www.heroku.com Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 9. Create a new app Run the app in the web browser locally Open the source code in IntelliJ Idea (IDE) Modify the code Modify the configuration Initiate git Push to Heroku Make it look nice Use our app on the Internet http://sp2012.herokuapp.com Done Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 10. Time for Demo! Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 11. Create a new app Run the app in the web browser locally Open the source code in IntelliJ Idea (IDE) Modify the code Modify the configuration Initiate git Push to Heroku Make it look nice Use our app on the Internet http://sp2012.herokuapp.com Done Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 12. Modify the code Created a MODEL list all - desc sort order db connection, validation Changed the VIEW added a list added a form Changed the CONTROLLER changed the index method. added an ”add” method, validation Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 13. Create a new app Run the app in the web browser locally Open the source code in IntelliJ Idea (IDE) Modify the code Modify the configuration Initiate git Push to Heroku Make it look nice Use our app on the Internet http://sp2012.herokuapp.com Done Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 14. Links: Play! Framework http://www.playframework.org https://github.com/playframework/Play20/wiki Git: http://git-scm.com Heroku http://devcenter.heroku.com/articles/play Todays demo: http://sp2012.herokuapp.com Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012
  • 15. Contact Helena Hjertén, @javaHelena helena.hjerten@mejsla.se Johan Andrén, @apnylle johan.andren@mejsla.se https://markatta.com/johan/codemonkey Helena Hjertén @javaHelena & Johan Andrén @apnylle Software Passion 2012

Editor's Notes

  1. Welcome.. \nMy name.\nTake a picture!\n
  2. \n
  3. Java? Scala? .Net? Web? Ruby on Rails? Django? Other languages.\n
  4. So, How are we going to go from nothing to the cloud in 45 minutes. \nHeroku a cloud application platform supporting Play Framework\n\n
  5. - integrates the components and APIs you need for modern web application development.\n- aims to optimize developer productivity\nStateless: Play is fully RESTful - there is no Java EE session per connection. This makes Play more outwardly-scalable than many other frameworks.\n\nIn May 2008 the first published code for 1.0 appeared on Launchpad.[6] This was followed by a full 1.0 release in October 2009.[7]\nPlay 1.1 was released in November 2010 after a move from Launchpad to GitHub. It included a migration fromApache MINA to JBoss Netty, Scala support, native GlassFish container, an asynchronous web serviceslibrary, OAuth support, HTTPS support and other features.[8]\nPlay 1.2 was released in April 2011. It included dependency management with Apache Ivy, support forWebSockets, integrated database migration (reversion is not implemented yet[9]), a switch to the H2 database and other features.[10]\nPlay 2.0 was released on March 13, 2012 [11] in conjunction with Typesafe Stack 2.0. [12]\n[edit]\n\n
  6. Hot reloading - decrease the waiting time during development, and increase the DX - developer experience.\n
  7. Here are some of the built in components\nRegarding modules - Play is designed to work with modules, so the community will create modules, but some will be included in the framework from the start \n\n\n
  8. \n
  9. So this is what we will do on our live coding session\n
  10. \n
  11. P&amp;#xE5; Modify code - g&amp;#xE5; till n&amp;#xE4;sta slide\n
  12. \n
  13. \n
  14. \n
  15. \n