SlideShare a Scribd company logo
1 of 61
Download to read offline
Play!
             @ikeike443


             2011/08/06   Playframework   In




11   8   6
Play!        ( ∀      )       !!
             @ikeike443


             2011/08/06    Playframework        In




11   8   6
11   8   6
@ikeike443




             Jenkins

             Playframework


11   8   6
2001

              SAP

             2005    2009

              Delphi, Java   3-tier   (not web)

             2010            Web




11   8   6
SaaS




11   8   6
Web



             Interop




11   8   6
API

                         SalesForce          Web
              (MT Wordpress)



                       Perl           Java



11   8   6
playdocja




11   8   6
http://playdocja.appspot.com/
11   8   6
11   8   6
Playframework   ML




11   8   6
http://groups.google.com/group/play_ja

11   8   6
11   8   6
Play!




11   8   6
1.0.1




11   8   6
11   8   6
Java

              Oracle   CTO   Java




11   8   6
Servlet   web.xml




11   8   6
Rails




11   8   6
11   8   6
HotDeploy

             ActiveRecord

             URL

                         XML




11   8   6
11   8   6
2010      1           1.0.1

             1.0.2     1

             1.0.3.2           2       1

             1.1.1         1

             1.2.2                             1

             1.2.2                         2


11   8   6
Jenkins plugin




11   8   6
Play




11   8   6
Play!   ( ∀   )   !!




11   8   6
Playclipse
              @erwan             Eclipse

              https://github.com/erwan/playclipse




11   8   6
Playclipse
              ECLIPSE_HOME/dropins

              m/v/c/routes

              view




11   8   6
Hot Deploy
             ECJ(Eclipse Compiler for Java)

                        HotDeploy



             Session




11   8   6
JPA on steroids
             XML             CoC

             @Entity

             public           DB

             getter/setter




11   8   6
JPA on steroids
             Play!                On DEV



             Model             Create/Alter




                 DB



11   8   6
DB
             https://github.com/pepite/play--database
                   Hibernate SchemaExport



                     Play!

                        DDL




11   8   6
p6spy
             Play!                        SQL             p6spy

             conf/application.conf

             db.driver=com.p6spy.engine.spy.P6SpyDriver
             lib       p6spy.jar

             conf        spy.properties         OK




11   8   6
I/O
             Continuation

             1




11   8   6
I/O
             node.js




                       http://www.subbu.org/blog/2011/03/nodejs-vs-play-for-front-end-apps
11   8   6
I/O
             Java

             Java               war


             ※ ServletWrapper



                    Play!



11   8   6
Memcached
             Play    HttpSession

             Controller#session               Cookie

                                  Memcached




11   8   6
Memcached
             Memcached




             memcached.1.host=mem.shanon.co.jp:11211
             memcached.2.host=mem2.shanon.co.jp:11211




11   8   6
Controller

               @Before, @After, @Catch, @Finally
                          Controller




11   8   6
With

              Controller




11   8   6
@With(Aop.class)
             public class MyController extends Controller{
             ....
             }

             public Aop extends Controller{
               @Before(priority=1)
               public static void checkCSRF{
                  ...
               }
               @Before(priority=2)
               public static void auth{
                  ...
               }
               @Catch(priority=99,value=Exception.class)
               public static void sendAlert(){
                  new SimpleMail.send(“Alert!”);
               }
             }



11   8   6
html

                             View

             Java

                    Groovy



             ※                      (   )


11   8   6
Job

             cron



               @OnApplicationStart, @On, @Every




11   8   6
Job


             @On(“cron.somethingjob”)
             conf/application.conf

             cron.somethingjob=0 * * * * ?




11   8   6
Job

              %test.cron.somethingjob=never
              %prod.cron.somethingjob=never


             ※ 1.1




11   8   6
play id

             conf/application.conf
             %mymac.db=mem
             %prod.db=mysql...




11   8   6
CI
                                             CI

             JUnit
             HtmlUnit + Selenium
             H2 (          DB)     ※1.1.1   HSQLDB




             Cobertura


11   8   6
Jenkins




11   8   6
Play!

                     Groovy




11   8   6
Play1.2

             Maven

                       ivy             (Gradle   )



             $ play deps
             $ play auto-test --deps


11   8   6
Maven

             conf/dependencies.yml




11   8   6
repositories:
                - Shanon:
                   type:     http
                   artifact: "http://ts-development3.shanon.co.jp/repo/SsApi/[artifact]/[revision]/[artifact]-[revision].[ext]"
                   contains:
                      - SsApi -> SsApiCommon 0.1




11   8   6
play auto-test
              play               Firephoque(HtmlUnit)



              auto-test        logs/system.out



              log4j       system.out




11   8   6
play auto-test

              log4j.properties   2

              conf/application.conf

              application.log.path=log4j.properties
              %test.application.log.path=log4.properties.autotest




11   8   6
Jenkins play-plugin




11   8   6
( ∀          )      !!
             API         (renderXML, renderJSON)




                          OK

               CSRF

             Websocket



11   8   6
Play!   (>_<)   !!




11   8   6
Controller      Exception GoTo

             play.classloading.Enhancer

               LocalVariablesNamesEnhancer
               ControllersEnhancer
               ContinuationEnhancer



11   8   6
…
             Play!




11   8   6
11   8   6

More Related Content

What's hot

S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010
S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010
S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010Arun Gupta
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEJacek Laskowski
 
DNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostChristoph Adler
 
Using Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksUsing Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksTimur Batyrshin
 
Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...
Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...
Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...Guillaume Laforge
 
OSGi framework overview
OSGi framework overviewOSGi framework overview
OSGi framework overviewBalduran Chang
 
Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Minchul Jung
 
4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...
4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...
4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...PROIDEA
 
Hardening Drupal setup
Hardening Drupal setupHardening Drupal setup
Hardening Drupal setupZeeland Family
 
SUnit 4.0
SUnit 4.0SUnit 4.0
SUnit 4.0ESUG
 

What's hot (11)

S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010
S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010
S314168 - What's New in Enterprise Java Bean Technology @ JavaOne Brazil 2010
 
Apache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEEApache Tomcat + Java EE = Apache TomEE
Apache Tomcat + Java EE = Apache TomEE
 
DNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance Boost
 
Using Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksUsing Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooks
 
Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...
Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...
Groovy Update, what's new in Groovy 1.8 and beyond - Guillaume Laforge - Spri...
 
OSGi framework overview
OSGi framework overviewOSGi framework overview
OSGi framework overview
 
Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법Ch10.애플리케이션 서버의 병목_발견_방법
Ch10.애플리케이션 서버의 병목_발견_방법
 
Tutorial j boss
Tutorial j bossTutorial j boss
Tutorial j boss
 
4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...
4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...
4Developers 2015: Sprytniejsze testowanie kodu Java ze Spock Framework - Marc...
 
Hardening Drupal setup
Hardening Drupal setupHardening Drupal setup
Hardening Drupal setup
 
SUnit 4.0
SUnit 4.0SUnit 4.0
SUnit 4.0
 

Viewers also liked

Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!Daisuke Kasuya
 
Nettyらへん
NettyらへんNettyらへん
NettyらへんGo Tanaka
 
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにTakafumi Ikeda
 
play framework 勉強会 in 関西
play framework 勉強会 in 関西play framework 勉強会 in 関西
play framework 勉強会 in 関西Shinichi Kozake
 
[plan politika] Slide ramadhan politik
[plan politika] Slide ramadhan politik[plan politika] Slide ramadhan politik
[plan politika] Slide ramadhan politikPlan Politika
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografíasosmara64
 
Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...
Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...
Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...Piet Verhoeve
 
Social Business - The Business Value in Social Networks
Social Business - The Business Value in Social NetworksSocial Business - The Business Value in Social Networks
Social Business - The Business Value in Social NetworksBilal Jaffery
 
IEC Do's & Don'ts
IEC  Do's & Don'tsIEC  Do's & Don'ts
IEC Do's & Don'tsiec
 
Vidya & Child Profile
Vidya & Child ProfileVidya & Child Profile
Vidya & Child ProfileVidya & Child
 
Chatham 2014
Chatham 2014Chatham 2014
Chatham 2014Sue Adler
 
Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10JohnFolger
 
Weekly news 13th sept to 18th sept
Weekly news 13th sept to 18th septWeekly news 13th sept to 18th sept
Weekly news 13th sept to 18th septNitin Kochhar
 
วารุณี
วารุณีวารุณี
วารุณีwarunee18
 
Volcanesslide
VolcanesslideVolcanesslide
VolcanesslideImacp
 
Martina Rotini
Martina RotiniMartina Rotini
Martina RotiniLilllly
 

Viewers also liked (20)

Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!Play勉強会 playをGAEで動かそう!
Play勉強会 playをGAEで動かそう!
 
Nettyらへん
NettyらへんNettyらへん
Nettyらへん
 
Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
 
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
 
play framework 勉強会 in 関西
play framework 勉強会 in 関西play framework 勉強会 in 関西
play framework 勉強会 in 関西
 
[plan politika] Slide ramadhan politik
[plan politika] Slide ramadhan politik[plan politika] Slide ramadhan politik
[plan politika] Slide ramadhan politik
 
AFFRETEMENT AERIEN SUR MESURE
AFFRETEMENT AERIEN SUR MESURE AFFRETEMENT AERIEN SUR MESURE
AFFRETEMENT AERIEN SUR MESURE
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 
Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...
Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...
Pvh2014 01-15 create project (Dumfries) iMinds - icon: creating value through...
 
Social Business - The Business Value in Social Networks
Social Business - The Business Value in Social NetworksSocial Business - The Business Value in Social Networks
Social Business - The Business Value in Social Networks
 
IEC Do's & Don'ts
IEC  Do's & Don'tsIEC  Do's & Don'ts
IEC Do's & Don'ts
 
Vidya & Child Profile
Vidya & Child ProfileVidya & Child Profile
Vidya & Child Profile
 
Chatham 2014
Chatham 2014Chatham 2014
Chatham 2014
 
Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10Non Profit Non Slideshow 7 16 10
Non Profit Non Slideshow 7 16 10
 
Weekly news 13th sept to 18th sept
Weekly news 13th sept to 18th septWeekly news 13th sept to 18th sept
Weekly news 13th sept to 18th sept
 
วารุณี
วารุณีวารุณี
วารุณี
 
Volcanesslide
VolcanesslideVolcanesslide
Volcanesslide
 
Martina Rotini
Martina RotiniMartina Rotini
Martina Rotini
 
LEAN & GREEN Restaurants (S11)
LEAN & GREEN Restaurants (S11)LEAN & GREEN Restaurants (S11)
LEAN & GREEN Restaurants (S11)
 
Marta
MartaMarta
Marta
 

Similar to Play ja kansai

Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGArun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionArun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerArun Gupta
 
Pure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools RacePure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools RaceBaruch Sadogursky
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureArun Gupta
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsMatt Ray
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration BackendArun Gupta
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and VirgoHristo Iliev
 
Migrate Early, Migrate Often: JDK release cadence strategies
Migrate Early, Migrate Often: JDK release cadence strategiesMigrate Early, Migrate Often: JDK release cadence strategies
Migrate Early, Migrate Often: JDK release cadence strategiesDanHeidinga
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
 
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...Paul King
 

Similar to Play ja kansai (20)

Java On Speed
Java On SpeedJava On Speed
Java On Speed
 
Migrating Beyond Java 8
Migrating Beyond Java 8Migrating Beyond Java 8
Migrating Beyond Java 8
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
 
Pure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools RacePure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools Race
 
EJB 3.1 and GlassFish v3 Prelude
EJB 3.1 and GlassFish v3 PreludeEJB 3.1 and GlassFish v3 Prelude
EJB 3.1 and GlassFish v3 Prelude
 
Java EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for futureJava EE 6 and GlassFish v3: Paving the path for future
Java EE 6 and GlassFish v3: Paving the path for future
 
Brownie
BrownieBrownie
Brownie
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOps
 
De Java 8 a Java 11 y 14
De Java 8 a Java 11 y 14De Java 8 a Java 11 y 14
De Java 8 a Java 11 y 14
 
GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
55j7
55j755j7
55j7
 
Play framework
Play frameworkPlay framework
Play framework
 
Gemini WEB and Virgo
Gemini WEB and VirgoGemini WEB and Virgo
Gemini WEB and Virgo
 
Migrate Early, Migrate Often: JDK release cadence strategies
Migrate Early, Migrate Often: JDK release cadence strategiesMigrate Early, Migrate Often: JDK release cadence strategies
Migrate Early, Migrate Often: JDK release cadence strategies
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...
Industrial Strength Groovy - Tools for the Professional Groovy Developer: Pau...
 
Laszlo PyCon 2005
Laszlo PyCon 2005Laszlo PyCon 2005
Laszlo PyCon 2005
 

More from Takafumi Ikeda

チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかTakafumi Ikeda
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCITakafumi Ikeda
 

More from Takafumi Ikeda (7)

Dev love kansai
Dev love kansaiDev love kansai
Dev love kansai
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
 
Scala conf2013
Scala conf2013Scala conf2013
Scala conf2013
 
Play ja 3_update
Play ja 3_updatePlay ja 3_update
Play ja 3_update
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Shibutra ikeike443
Shibutra ikeike443Shibutra ikeike443
Shibutra ikeike443
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
 

Play ja kansai

  • 1. Play! @ikeike443 2011/08/06 Playframework In 11 8 6
  • 2. Play! ( ∀ ) !! @ikeike443 2011/08/06 Playframework In 11 8 6
  • 3. 11 8 6
  • 4. @ikeike443 Jenkins Playframework 11 8 6
  • 5. 2001 SAP 2005 2009 Delphi, Java 3-tier (not web) 2010 Web 11 8 6
  • 6. SaaS 11 8 6
  • 7. Web Interop 11 8 6
  • 8. API SalesForce Web (MT Wordpress) Perl Java 11 8 6
  • 11. 11 8 6
  • 12. Playframework ML 11 8 6
  • 14. 11 8 6
  • 15. Play! 11 8 6
  • 16. 1.0.1 11 8 6
  • 17. 11 8 6
  • 18. Java Oracle CTO Java 11 8 6
  • 19. Servlet web.xml 11 8 6
  • 20. Rails 11 8 6
  • 21. 11 8 6
  • 22. HotDeploy ActiveRecord URL XML 11 8 6
  • 23. 11 8 6
  • 24. 2010 1 1.0.1 1.0.2 1 1.0.3.2 2 1 1.1.1 1 1.2.2 1 1.2.2 2 11 8 6
  • 26. Play 11 8 6
  • 27. Play! ( ∀ ) !! 11 8 6
  • 28. Playclipse @erwan Eclipse https://github.com/erwan/playclipse 11 8 6
  • 29. Playclipse ECLIPSE_HOME/dropins m/v/c/routes view 11 8 6
  • 30. Hot Deploy ECJ(Eclipse Compiler for Java) HotDeploy Session 11 8 6
  • 31. JPA on steroids XML CoC @Entity public DB getter/setter 11 8 6
  • 32. JPA on steroids Play! On DEV Model Create/Alter DB 11 8 6
  • 33. DB https://github.com/pepite/play--database Hibernate SchemaExport Play! DDL 11 8 6
  • 34. p6spy Play! SQL p6spy conf/application.conf db.driver=com.p6spy.engine.spy.P6SpyDriver lib p6spy.jar conf spy.properties OK 11 8 6
  • 35. I/O Continuation 1 11 8 6
  • 36. I/O node.js http://www.subbu.org/blog/2011/03/nodejs-vs-play-for-front-end-apps 11 8 6
  • 37. I/O Java Java war ※ ServletWrapper Play! 11 8 6
  • 38. Memcached Play HttpSession Controller#session Cookie Memcached 11 8 6
  • 39. Memcached Memcached memcached.1.host=mem.shanon.co.jp:11211 memcached.2.host=mem2.shanon.co.jp:11211 11 8 6
  • 40. Controller @Before, @After, @Catch, @Finally Controller 11 8 6
  • 41. With Controller 11 8 6
  • 42. @With(Aop.class) public class MyController extends Controller{ .... } public Aop extends Controller{ @Before(priority=1) public static void checkCSRF{ ... } @Before(priority=2) public static void auth{ ... } @Catch(priority=99,value=Exception.class) public static void sendAlert(){ new SimpleMail.send(“Alert!”); } } 11 8 6
  • 43. html View Java Groovy ※ ( ) 11 8 6
  • 44. Job cron @OnApplicationStart, @On, @Every 11 8 6
  • 45. Job @On(“cron.somethingjob”) conf/application.conf cron.somethingjob=0 * * * * ? 11 8 6
  • 46. Job %test.cron.somethingjob=never %prod.cron.somethingjob=never ※ 1.1 11 8 6
  • 47. play id conf/application.conf %mymac.db=mem %prod.db=mysql... 11 8 6
  • 48. CI CI JUnit HtmlUnit + Selenium H2 ( DB) ※1.1.1 HSQLDB Cobertura 11 8 6
  • 49. Jenkins 11 8 6
  • 50. Play! Groovy 11 8 6
  • 51. Play1.2 Maven ivy (Gradle ) $ play deps $ play auto-test --deps 11 8 6
  • 52. Maven conf/dependencies.yml 11 8 6
  • 53. repositories: - Shanon: type: http artifact: "http://ts-development3.shanon.co.jp/repo/SsApi/[artifact]/[revision]/[artifact]-[revision].[ext]" contains: - SsApi -> SsApiCommon 0.1 11 8 6
  • 54. play auto-test play Firephoque(HtmlUnit) auto-test logs/system.out log4j system.out 11 8 6
  • 55. play auto-test log4j.properties 2 conf/application.conf application.log.path=log4j.properties %test.application.log.path=log4.properties.autotest 11 8 6
  • 57. ( ∀ ) !! API (renderXML, renderJSON) OK CSRF Websocket 11 8 6
  • 58. Play! (>_<) !! 11 8 6
  • 59. Controller Exception GoTo play.classloading.Enhancer LocalVariablesNamesEnhancer ControllersEnhancer ContinuationEnhancer 11 8 6
  • 60. Play! 11 8 6
  • 61. 11 8 6