SlideShare a Scribd company logo
Play!
              @ikeike443

              2011/10/08   Playframework   In Tokyo




11   10   8
11   10   8
@ikeike443




              Jenkins

              Playframework


11   10   8
Play!
              @ikeike443

              2011/10/08   Playframework   In Tokyo




11   10   8
Play
              Play




              Play2.0   http://www.flickr.com/photos/paulwhaleyphotography/133897626/




11   10   8
Play           ...
              Java      LL         Web

              Servlet        API              FW

              XML                              FW

                               FW

                                         FW



11   10   8
11   10   8
Play!




11   10   8
Play               Java
                     (Java EE)          W3C
                World Wide Web




11   10   8
public class HelloServlet extends HttpServlet {
               public void doGet (HttpServletRequest req, HttpServletResponse res) {
                      PrintWriter out = res.getWriter();
                      out.println("Hello, world!");
                      out.close();
                  }
              }

              <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd">
               <servlet>
                <servlet-name>hello</servlet-name>
                <servlet-class>test.HelloServlet</servlet-class>
               </servlet>
               <servlet-mapping>
                <servlet-name>hello</servlet-name>
                <url-pattern>/hello</url-pattern>
               </servlet-mapping>
              </web-app>




11   10   8
public class HelloServlet extends HttpServlet {
               public void doGet (HttpServletRequest req, HttpServletResponse res) {
                      PrintWriter out = res.getWriter();
                      out.println("Hello, world!");
                      out.close();
                  }
              }

              <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd">
               <servlet>
                <servlet-name>hello</servlet-name>
                <servlet-class>test.HelloServlet</servlet-class>
               </servlet>
               <servlet-mapping>
                <servlet-name>hello</servlet-name>
                <url-pattern>/hello</url-pattern>
               </servlet-mapping>
              </web-app>




11   10   8
public class Hello extends Controller {
                  public static void index() {
                      render(“"Hello, world!"”);
                  }
              }




11   10   8
public class Hello extends Controller {
                  public static void index() {
                      render(“"Hello, world!"”);
                  }
              }




11   10   8
Java web
                      Java
              Play!




11   10   8
11   10   8
11   10   8
11   10   8
DB



              REST        API

              10




11   10   8
11   10   8
11   10   8
Servlet
              XML




11   10   8
Play!




11   10   8
Play
              Play




              Play2.0   http://www.flickr.com/photos/flotaz/2471940678/




11   10   8
HTTP




              I/O




11   10   8
Servlet   HTTP

              JPA




11   10   8
HTTP

                    XML

              URL




              FW          Javassist   Byte code enhance




11   10   8
HTTP
                           Servlet API   Strtus      Java   Web
                                             HTTP           Java
               API



              Web                                   HTTP


                    Play          Java web




11   10   8
HTTP
                           Servlet API   Strtus      Java   Web
                                             HTTP           Java
               API



              Web                                   HTTP


                    Play          Java web




11   10   8
Play                  FW

              Play    HttpSession

              Controller#session               Cookie

                                   Memcached




11   10   8
Java Web
                                                                                   :


                              ?

              Share Nothing              PHP              Ruby on Rails   Django
                      Web
                                  Ajax



                  Web                               HTTP




11   10   8
Java Web
                                                                                   :


                              ?

              Share Nothing              PHP              Ruby on Rails   Django
                      Web
                                  Ajax



                  Web                               HTTP




11   10   8
I/O




11   10   8
11   10   8
Netty             I/O

              commons-javaflow
              Java

              WebSocket




11   10   8
public static void generatePDF(Long reportId) {
                Promise<InputStream> pdf = new ReportAsPDFJob(report).now();
                InputStream pdfStream = await(pdf);
                renderBinary(pdfStream);
              }




              public static void generateLargeCSV() {
                CSVGenerator generator = new CSVGenerator();
                response.contentType = "text/csv";
                while(generator.hasMoreData()) {
                     String someCsvData = await(generator.nextDataChunk());
                     response.writeChunk(someCsvData);
                }
              }




11   10   8
I/O   node.js

                                                 ... Groovy...




                        http://www.subbu.org/blog/2011/03/nodejs-vs-play-for-front-end-apps


11   10   8
11   10   8
play.lib.F




11   10   8
public class AsyncTest extends Controller
      {
        public static void gotchas()
        {
          params.put("foo", "bar");
          renderArgs.put("foo", "bar");
          final String foo = "bar";
          F.Promise<WS.HttpResponse> remoteCall1 = WS.url("http://some/data/1").getAsync();
          F.Promise<WS.HttpResponse> remoteCall2 = WS.url("http://some/data/2").getAsync();
          F.Promise<WS.HttpResponse> remoteCall3 = WS.url("http://some/data/3").getAsync();
       
          F.Promise<List<WS.HttpResponse>> promises =
                                 F.Promise.waitAll(remoteCall1, remoteCall2, remoteCall3);
          await(promises, new F.Action<List<WS.HttpResponse>>() // request suspended here
          {
            public void invoke(List<WS.HttpResponse> httpResponses)
            {
              System.out.println(params.get("foo"));
              System.out.println(renderArgs.get("foo"));
              System.out.println(foo);
              render(httpResponses);
            }
          });
          System.out.println("End");              // never called
        }
      }
11   10   8
public static void echo() {
            while(inbound.isOpen()) {
                WebSocketEvent e = await(inbound.nextEvent());
                  for(String quit: TextFrame.and(Equals("quit")).match(e)) {
                     outbound.send("Bye!");
                     disconnect();
                  }
                  for(String msg: TextFrame.match(e)) {
                     outbound.send("Echo: %s", frame.textData);
                  }
                  for(WebSocketClose closed: SocketClosed.match(e)) {
                     Logger.info("Socket closed!");
                  }
              }
          }

11   10   8
11   10   8
JavaEE

              …




11   10   8
War
              war




11   10   8
11   10   8
HTTP




              I/O




11   10   8
Play
              Play




              Play2.0
                        http://www.flickr.com/photos/dbrekke/276119940/




11   10   8
11   10   8
11   10   8
TypeSafe




11   10   8
https://twitter.com/#!/jboner/status/69394808044654593




11   10   8
11   10   8
Digg




11   10   8
http://about.digg.com/blog/awacs




11   10   8
11   10   8
gurdian.co.uk




11   10   8
http://www.infoq.com/articles/guardian_scala




11   10   8
11   10   8
Klout




11   10   8
11   10   8
Play+Scala
              @_feripera
11   10   8
@_felipera




11   10   8
@_felipera
              Accenture (US)
              Verizon
              Fannie Mae
              Freddie Mac
              Foreclosure.com




11   10   8
@_felipera
              Accenture (US)
              Verizon
              Fannie Mae
                                 Accenture, Verizon, Fannie Mae, Freddie
              Freddie Mac        Mac, Foreclosure.com. Other places I
                                 deployed Play at.
              Foreclosure.com




11   10   8
@_felipera
                                 Play, Scala, RabbitMQ, ElasticSearch,
              Accenture (US)     Hadoop, HBase, Oozie, Flume, etc are all
                                 part of Klout's stack.
              Verizon
              Fannie Mae
                                 Accenture, Verizon, Fannie Mae, Freddie
              Freddie Mac        Mac, Foreclosure.com. Other places I
                                 deployed Play at.
              Foreclosure.com




11   10   8
Play
              Play




              Play2.0   http://www.flickr.com/photos/lwr/168151244/




11   10   8
Scala              Coffeescript

              Akka               Elastic Search (lucene)

              MongoDB, Morphia   VHost

              Redis                   PaaS

              SASS, SCSS




11   10   8
Scala, Akka

                         Scala

                 Play!

              Akka               (Akka support




11   10   8
MongoDB, Redis

              KVS       MongoDB, Redis




              MongoDB       Morphia




11   10   8
SASS, SCSS


              CSS           SASS, SCSS



              Play   SASS




11   10   8
CoffeeScript


                     Javascript

                                  Javascript

               Rails3.1




11   10   8
Elastic Search (lucene)

               lucene



                        Simple search   lucene




11   10   8
VHost

              Play Virtual Host



                                  SaaS




11   10   8
Play
              Play




              Play2.0   http://www.flickr.com/photos/jim_rafferty_uk/365164119/




11   10   8
2




              PaaS




11   10   8
Unix, Linux, MacOSX, Windows

              JDK5      + Python2.6

                  Win         JDK        OK




11   10   8
PaaS
              Heroku
              PlayApps.net
              Cloudbees
              Cloudfoundry

              Google AppEngine
              DotCloud

              Amazon Beanstalk




11   10   8
PaaS
              Heroku
              PlayApps.net
              Cloudbees
              Cloudfoundry

              Google AppEngine
              DotCloud

              Amazon Beanstalk




11   10   8
PaaS
              Heroku
              PlayApps.net
              Cloudbees
              Cloudfoundry

              Google AppEngine
              DotCloud

              Amazon Beanstalk




11   10   8
PaaS
              Heroku
              PlayApps.net
              Cloudbees
              Cloudfoundry

              Google AppEngine
                                 war
              DotCloud

              Amazon Beanstalk




11   10   8
PaaS
              Heroku
              PlayApps.net
              Cloudbees
              Cloudfoundry

              Google AppEngine
                                 war
              DotCloud

              Amazon Beanstalk




11   10   8
1.x




              Play!



                      http://www.flickr.com/photos/funkimag/5397995349/
11   10   8
Play
              Play




              Play2.0   http://www.flickr.com/photos/alphadesigner/3833696256/




11   10   8
11   10   8
Scala

              SBT     Python

                               Scala Groovy

              Akka




11   10   8
Preview




11   10   8
…
              Play!




11   10   8
11   10   8

More Related Content

What's hot

Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
Mario Jorge Pereira
 
Tales from the OSGi trenches
Tales from the OSGi trenchesTales from the OSGi trenches
Tales from the OSGi trenches
Bertrand Delacretaz
 
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Julian Robichaux
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Vadym Kazulkin
 
Highlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
Highlights from Java 10, 11 and 12 and Future of Java at JUG KoblenzHighlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
Highlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
Vadym Kazulkin
 
What's new in Java 11
What's new in Java 11What's new in Java 11
What's new in Java 11
Michel Schudel
 
Tomcat New Evolution
Tomcat New EvolutionTomcat New Evolution
Tomcat New EvolutionAllan Huang
 
Java EE 6 Aquarium Paris
Java EE 6 Aquarium ParisJava EE 6 Aquarium Paris
Java EE 6 Aquarium Paris
Alexis Moussine-Pouchkine
 
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathLausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
Alexis Hassler
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clusteringgouthamrv
 
Web Space10 Overview
Web Space10 OverviewWeb Space10 Overview
Web Space10 Overview
Alexis Moussine-Pouchkine
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
JBug Italy
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New Features
Ali BAKAN
 
Managing an OSGi Framework with Apache Felix Web Console
Managing an OSGi Framework with  Apache Felix Web ConsoleManaging an OSGi Framework with  Apache Felix Web Console
Managing an OSGi Framework with Apache Felix Web Console
Felix Meschberger
 
Introduction to java servlet 3.0 api javaone 2009
Introduction to java servlet 3.0 api javaone 2009Introduction to java servlet 3.0 api javaone 2009
Introduction to java servlet 3.0 api javaone 2009
JavaEE Trainers
 
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpathLyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
Alexis Hassler
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
Alexis Moussine-Pouchkine
 
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
Baruch Sadogursky
 
Head toward Java 14 and Java 15
Head toward Java 14 and Java 15Head toward Java 14 and Java 15
Head toward Java 14 and Java 15
Yuji Kubota
 
GlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium ParisGlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium Paris
Alexis Moussine-Pouchkine
 

What's hot (20)

Java Server Faces
Java Server FacesJava Server Faces
Java Server Faces
 
Tales from the OSGi trenches
Tales from the OSGi trenchesTales from the OSGi trenches
Tales from the OSGi trenches
 
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
 
Highlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
Highlights from Java 10, 11 and 12 and Future of Java at JUG KoblenzHighlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
Highlights from Java 10, 11 and 12 and Future of Java at JUG Koblenz
 
What's new in Java 11
What's new in Java 11What's new in Java 11
What's new in Java 11
 
Tomcat New Evolution
Tomcat New EvolutionTomcat New Evolution
Tomcat New Evolution
 
Java EE 6 Aquarium Paris
Java EE 6 Aquarium ParisJava EE 6 Aquarium Paris
Java EE 6 Aquarium Paris
 
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpathLausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
LausanneJUG 2017 - Jigsaw est prêt à tuer le classpath
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clustering
 
Web Space10 Overview
Web Space10 OverviewWeb Space10 Overview
Web Space10 Overview
 
Faster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzzFaster & Greater Messaging System HornetQ zzz
Faster & Greater Messaging System HornetQ zzz
 
Java 10 New Features
Java 10 New FeaturesJava 10 New Features
Java 10 New Features
 
Managing an OSGi Framework with Apache Felix Web Console
Managing an OSGi Framework with  Apache Felix Web ConsoleManaging an OSGi Framework with  Apache Felix Web Console
Managing an OSGi Framework with Apache Felix Web Console
 
Introduction to java servlet 3.0 api javaone 2009
Introduction to java servlet 3.0 api javaone 2009Introduction to java servlet 3.0 api javaone 2009
Introduction to java servlet 3.0 api javaone 2009
 
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpathLyonJUG : Comment Jigsaw est prêt à tuer le classpath
LyonJUG : Comment Jigsaw est prêt à tuer le classpath
 
GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09GlassFish v3 at JavaZone 09
GlassFish v3 at JavaZone 09
 
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
 
Head toward Java 14 and Java 15
Head toward Java 14 and Java 15Head toward Java 14 and Java 15
Head toward Java 14 and Java 15
 
GlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium ParisGlassFish v3 Prelude Aquarium Paris
GlassFish v3 Prelude Aquarium Paris
 

Viewers also liked

Scala, Apache Spark, The PlayFramework and Docker in IBM Platform As A Service
Scala, Apache Spark, The PlayFramework and Docker in IBM Platform As A ServiceScala, Apache Spark, The PlayFramework and Docker in IBM Platform As A Service
Scala, Apache Spark, The PlayFramework and Docker in IBM Platform As A Service
Romeo Kienzler
 
Overview of DataStax OpsCenter
Overview of DataStax OpsCenterOverview of DataStax OpsCenter
Overview of DataStax OpsCenter
DataStax
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
 
Herokuの多言語対応とPlay!
Herokuの多言語対応とPlay!Herokuの多言語対応とPlay!
Herokuの多言語対応とPlay!
Mitch Okamoto
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scalamasahitojp
 
2011/10/08_Playframework_GAE_to_Heroku
2011/10/08_Playframework_GAE_to_Heroku2011/10/08_Playframework_GAE_to_Heroku
2011/10/08_Playframework_GAE_to_Heroku
Takeshi Hagikura
 
Play勉強会 in tokyo
Play勉強会 in tokyoPlay勉強会 in tokyo
Play勉強会 in tokyoDaisuke Kasuya
 
playdocjaのこれまでとこれから
playdocjaのこれまでとこれからplaydocjaのこれまでとこれから
playdocjaのこれまでとこれからyuichiro umezawa
 
Intoduction on Playframework
Intoduction on PlayframeworkIntoduction on Playframework
Intoduction on Playframework
Knoldus Inc.
 
Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話
Kazuhiro Hara
 
Alzforum webinar m heneka 20 03 2013
Alzforum webinar m heneka 20 03 2013Alzforum webinar m heneka 20 03 2013
Alzforum webinar m heneka 20 03 2013
Alzforum
 
World Alzheimer Report 2016: Improving healthcare for people living with deme...
World Alzheimer Report 2016: Improving healthcare for people living with deme...World Alzheimer Report 2016: Improving healthcare for people living with deme...
World Alzheimer Report 2016: Improving healthcare for people living with deme...
Adelina Comas-Herrera
 
Enfermedad de Alzheimer
Enfermedad de AlzheimerEnfermedad de Alzheimer
Enfermedad de Alzheimer
Cristian Morán-Mariños
 
BIG DATA サービス と ツール
BIG DATA サービス と ツールBIG DATA サービス と ツール
BIG DATA サービス と ツール
Ngoc Dao
 
Apache Cassandra overview
Apache Cassandra overviewApache Cassandra overview
Apache Cassandra overview
ElifTech
 
Using docker for data science - part 2
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2
Calvin Giles
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Roberto Hashioka
 
Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...
Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...
Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...
DataStax Academy
 
Growing the Mesos Ecosystem
Growing the Mesos EcosystemGrowing the Mesos Ecosystem
Growing the Mesos EcosystemMesosphere Inc.
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and Spark
Josef Adersberger
 

Viewers also liked (20)

Scala, Apache Spark, The PlayFramework and Docker in IBM Platform As A Service
Scala, Apache Spark, The PlayFramework and Docker in IBM Platform As A ServiceScala, Apache Spark, The PlayFramework and Docker in IBM Platform As A Service
Scala, Apache Spark, The PlayFramework and Docker in IBM Platform As A Service
 
Overview of DataStax OpsCenter
Overview of DataStax OpsCenterOverview of DataStax OpsCenter
Overview of DataStax OpsCenter
 
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCIJenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
 
Herokuの多言語対応とPlay!
Herokuの多言語対応とPlay!Herokuの多言語対応とPlay!
Herokuの多言語対応とPlay!
 
5分で説明する Play! scala
5分で説明する Play! scala5分で説明する Play! scala
5分で説明する Play! scala
 
2011/10/08_Playframework_GAE_to_Heroku
2011/10/08_Playframework_GAE_to_Heroku2011/10/08_Playframework_GAE_to_Heroku
2011/10/08_Playframework_GAE_to_Heroku
 
Play勉強会 in tokyo
Play勉強会 in tokyoPlay勉強会 in tokyo
Play勉強会 in tokyo
 
playdocjaのこれまでとこれから
playdocjaのこれまでとこれからplaydocjaのこれまでとこれから
playdocjaのこれまでとこれから
 
Intoduction on Playframework
Intoduction on PlayframeworkIntoduction on Playframework
Intoduction on Playframework
 
Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話Play FrameworkとWeb Socketの話
Play FrameworkとWeb Socketの話
 
Alzforum webinar m heneka 20 03 2013
Alzforum webinar m heneka 20 03 2013Alzforum webinar m heneka 20 03 2013
Alzforum webinar m heneka 20 03 2013
 
World Alzheimer Report 2016: Improving healthcare for people living with deme...
World Alzheimer Report 2016: Improving healthcare for people living with deme...World Alzheimer Report 2016: Improving healthcare for people living with deme...
World Alzheimer Report 2016: Improving healthcare for people living with deme...
 
Enfermedad de Alzheimer
Enfermedad de AlzheimerEnfermedad de Alzheimer
Enfermedad de Alzheimer
 
BIG DATA サービス と ツール
BIG DATA サービス と ツールBIG DATA サービス と ツール
BIG DATA サービス と ツール
 
Apache Cassandra overview
Apache Cassandra overviewApache Cassandra overview
Apache Cassandra overview
 
Using docker for data science - part 2
Using docker for data science - part 2Using docker for data science - part 2
Using docker for data science - part 2
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
 
Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...
Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...
Big Data Open Source Security LLC: Realtime log analysis with Mesos, Docker, ...
 
Growing the Mesos Ecosystem
Growing the Mesos EcosystemGrowing the Mesos Ecosystem
Growing the Mesos Ecosystem
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and Spark
 

Similar to What is play

Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
Takafumi Ikeda
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)
Peter R. Egli
 
Jax ws
Jax wsJax ws
Jax ws
F K
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
Java Servlets
Java ServletsJava Servlets
Java ServletsNitin Pai
 
1 java servlets and jsp
1   java servlets and jsp1   java servlets and jsp
1 java servlets and jsp
Ankit Minocha
 
AJppt.pptx
AJppt.pptxAJppt.pptx
AJppt.pptx
SachinSingh217687
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSocketsRoland M
 
Introduction to the Servlet / JSP course
Introduction to the Servlet / JSP course Introduction to the Servlet / JSP course
Introduction to the Servlet / JSP course
JavaEE Trainers
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache Tomcat
Auwal Amshi
 
JavaEE6 my way
JavaEE6 my wayJavaEE6 my way
JavaEE6 my way
Nicola Pedot
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2
 
Html servlet example
Html   servlet exampleHtml   servlet example
Html servlet examplervpprash
 
Writing highly scalable WebSocket using the Atmosphere Framework and Scala
Writing highly scalable WebSocket using the Atmosphere Framework and ScalaWriting highly scalable WebSocket using the Atmosphere Framework and Scala
Writing highly scalable WebSocket using the Atmosphere Framework and Scala
jfarcand
 
As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?ConFoo
 
Do we still need a web framework ?
Do we still need a web framework ?Do we still need a web framework ?
Do we still need a web framework ?Mathieu Carbou
 

Similar to What is play (20)

Websocket shanon
Websocket shanonWebsocket shanon
Websocket shanon
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)
 
Jax ws
Jax wsJax ws
Jax ws
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
1 java servlets and jsp
1   java servlets and jsp1   java servlets and jsp
1 java servlets and jsp
 
AJppt.pptx
AJppt.pptxAJppt.pptx
AJppt.pptx
 
Jspx Jdc2010
Jspx Jdc2010Jspx Jdc2010
Jspx Jdc2010
 
Pushing the web — WebSockets
Pushing the web — WebSocketsPushing the web — WebSockets
Pushing the web — WebSockets
 
Introduction to the Servlet / JSP course
Introduction to the Servlet / JSP course Introduction to the Servlet / JSP course
Introduction to the Servlet / JSP course
 
Web container and Apache Tomcat
Web container and Apache TomcatWeb container and Apache Tomcat
Web container and Apache Tomcat
 
JavaEE6 my way
JavaEE6 my wayJavaEE6 my way
JavaEE6 my way
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
 
WSO2 AppDev platform
WSO2 AppDev platformWSO2 AppDev platform
WSO2 AppDev platform
 
Servlet by Rj
Servlet by RjServlet by Rj
Servlet by Rj
 
Html servlet example
Html   servlet exampleHtml   servlet example
Html servlet example
 
Writing highly scalable WebSocket using the Atmosphere Framework and Scala
Writing highly scalable WebSocket using the Atmosphere Framework and ScalaWriting highly scalable WebSocket using the Atmosphere Framework and Scala
Writing highly scalable WebSocket using the Atmosphere Framework and Scala
 
Servlet 3.0
Servlet 3.0Servlet 3.0
Servlet 3.0
 
As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?
 
Do we still need a web framework ?
Do we still need a web framework ?Do we still need a web framework ?
Do we still need a web framework ?
 

More from Takafumi Ikeda

CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
Takafumi Ikeda
 
Dev love kansai
Dev love kansaiDev love kansai
Dev love kansai
Takafumi Ikeda
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
Takafumi Ikeda
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
Takafumi Ikeda
 
Shibutra ikeike443
Shibutra ikeike443Shibutra ikeike443
Shibutra ikeike443
Takafumi Ikeda
 

More from Takafumi Ikeda (7)

CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
 
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
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

What is play

  • 1. Play! @ikeike443 2011/10/08 Playframework In Tokyo 11 10 8
  • 2. 11 10 8
  • 3. @ikeike443 Jenkins Playframework 11 10 8
  • 4. Play! @ikeike443 2011/10/08 Playframework In Tokyo 11 10 8
  • 5. Play Play Play2.0 http://www.flickr.com/photos/paulwhaleyphotography/133897626/ 11 10 8
  • 6. Play ... Java LL Web Servlet API FW XML FW FW FW 11 10 8
  • 7. 11 10 8
  • 8. Play! 11 10 8
  • 9. Play Java (Java EE) W3C World Wide Web 11 10 8
  • 10. public class HelloServlet extends HttpServlet { public void doGet (HttpServletRequest req, HttpServletResponse res) { PrintWriter out = res.getWriter(); out.println("Hello, world!"); out.close(); } } <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd"> <servlet> <servlet-name>hello</servlet-name> <servlet-class>test.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> 11 10 8
  • 11. public class HelloServlet extends HttpServlet { public void doGet (HttpServletRequest req, HttpServletResponse res) { PrintWriter out = res.getWriter(); out.println("Hello, world!"); out.close(); } } <web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd"> <servlet> <servlet-name>hello</servlet-name> <servlet-class>test.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> 11 10 8
  • 12. public class Hello extends Controller { public static void index() { render(“"Hello, world!"”); } } 11 10 8
  • 13. public class Hello extends Controller { public static void index() { render(“"Hello, world!"”); } } 11 10 8
  • 14. Java web Java Play! 11 10 8
  • 15. 11 10 8
  • 16. 11 10 8
  • 17. 11 10 8
  • 18. DB REST API 10 11 10 8
  • 19. 11 10 8
  • 20. 11 10 8
  • 21. Servlet XML 11 10 8
  • 22. Play! 11 10 8
  • 23. Play Play Play2.0 http://www.flickr.com/photos/flotaz/2471940678/ 11 10 8
  • 24. HTTP I/O 11 10 8
  • 25. Servlet HTTP JPA 11 10 8
  • 26. HTTP XML URL FW Javassist Byte code enhance 11 10 8
  • 27. HTTP Servlet API Strtus Java Web HTTP Java API Web HTTP Play Java web 11 10 8
  • 28. HTTP Servlet API Strtus Java Web HTTP Java API Web HTTP Play Java web 11 10 8
  • 29. Play FW Play HttpSession Controller#session Cookie Memcached 11 10 8
  • 30. Java Web : ? Share Nothing PHP Ruby on Rails Django Web Ajax Web HTTP 11 10 8
  • 31. Java Web : ? Share Nothing PHP Ruby on Rails Django Web Ajax Web HTTP 11 10 8
  • 32. I/O 11 10 8
  • 33. 11 10 8
  • 34. Netty I/O commons-javaflow Java WebSocket 11 10 8
  • 35. public static void generatePDF(Long reportId) { Promise<InputStream> pdf = new ReportAsPDFJob(report).now(); InputStream pdfStream = await(pdf); renderBinary(pdfStream); } public static void generateLargeCSV() { CSVGenerator generator = new CSVGenerator(); response.contentType = "text/csv"; while(generator.hasMoreData()) { String someCsvData = await(generator.nextDataChunk()); response.writeChunk(someCsvData); } } 11 10 8
  • 36. I/O node.js ... Groovy... http://www.subbu.org/blog/2011/03/nodejs-vs-play-for-front-end-apps 11 10 8
  • 37. 11 10 8
  • 39. public class AsyncTest extends Controller {   public static void gotchas()   {     params.put("foo", "bar");     renderArgs.put("foo", "bar");     final String foo = "bar";     F.Promise<WS.HttpResponse> remoteCall1 = WS.url("http://some/data/1").getAsync();     F.Promise<WS.HttpResponse> remoteCall2 = WS.url("http://some/data/2").getAsync();     F.Promise<WS.HttpResponse> remoteCall3 = WS.url("http://some/data/3").getAsync();       F.Promise<List<WS.HttpResponse>> promises = F.Promise.waitAll(remoteCall1, remoteCall2, remoteCall3);     await(promises, new F.Action<List<WS.HttpResponse>>() // request suspended here     {       public void invoke(List<WS.HttpResponse> httpResponses)       {         System.out.println(params.get("foo"));         System.out.println(renderArgs.get("foo"));         System.out.println(foo);         render(httpResponses);       }     });     System.out.println("End"); // never called   } } 11 10 8
  • 40. public static void echo() { while(inbound.isOpen()) { WebSocketEvent e = await(inbound.nextEvent()); for(String quit: TextFrame.and(Equals("quit")).match(e)) { outbound.send("Bye!"); disconnect(); } for(String msg: TextFrame.match(e)) { outbound.send("Echo: %s", frame.textData); } for(WebSocketClose closed: SocketClosed.match(e)) { Logger.info("Socket closed!"); } } } 11 10 8
  • 41. 11 10 8
  • 42. JavaEE … 11 10 8
  • 43. War war 11 10 8
  • 44. 11 10 8
  • 45. HTTP I/O 11 10 8
  • 46. Play Play Play2.0 http://www.flickr.com/photos/dbrekke/276119940/ 11 10 8
  • 47. 11 10 8
  • 48. 11 10 8
  • 49. TypeSafe 11 10 8
  • 51. 11 10 8
  • 52. Digg 11 10 8
  • 54. 11 10 8
  • 57. 11 10 8
  • 58. Klout 11 10 8
  • 59. 11 10 8
  • 60. Play+Scala @_feripera 11 10 8
  • 62. @_felipera Accenture (US) Verizon Fannie Mae Freddie Mac Foreclosure.com 11 10 8
  • 63. @_felipera Accenture (US) Verizon Fannie Mae Accenture, Verizon, Fannie Mae, Freddie Freddie Mac Mac, Foreclosure.com. Other places I deployed Play at. Foreclosure.com 11 10 8
  • 64. @_felipera Play, Scala, RabbitMQ, ElasticSearch, Accenture (US) Hadoop, HBase, Oozie, Flume, etc are all part of Klout's stack. Verizon Fannie Mae Accenture, Verizon, Fannie Mae, Freddie Freddie Mac Mac, Foreclosure.com. Other places I deployed Play at. Foreclosure.com 11 10 8
  • 65. Play Play Play2.0 http://www.flickr.com/photos/lwr/168151244/ 11 10 8
  • 66. Scala Coffeescript Akka Elastic Search (lucene) MongoDB, Morphia VHost Redis PaaS SASS, SCSS 11 10 8
  • 67. Scala, Akka Scala Play! Akka (Akka support 11 10 8
  • 68. MongoDB, Redis KVS MongoDB, Redis MongoDB Morphia 11 10 8
  • 69. SASS, SCSS CSS SASS, SCSS Play SASS 11 10 8
  • 70. CoffeeScript Javascript Javascript Rails3.1 11 10 8
  • 71. Elastic Search (lucene) lucene Simple search lucene 11 10 8
  • 72. VHost Play Virtual Host SaaS 11 10 8
  • 73. Play Play Play2.0 http://www.flickr.com/photos/jim_rafferty_uk/365164119/ 11 10 8
  • 74. 2 PaaS 11 10 8
  • 75. Unix, Linux, MacOSX, Windows JDK5 + Python2.6 Win JDK OK 11 10 8
  • 76. PaaS Heroku PlayApps.net Cloudbees Cloudfoundry Google AppEngine DotCloud Amazon Beanstalk 11 10 8
  • 77. PaaS Heroku PlayApps.net Cloudbees Cloudfoundry Google AppEngine DotCloud Amazon Beanstalk 11 10 8
  • 78. PaaS Heroku PlayApps.net Cloudbees Cloudfoundry Google AppEngine DotCloud Amazon Beanstalk 11 10 8
  • 79. PaaS Heroku PlayApps.net Cloudbees Cloudfoundry Google AppEngine war DotCloud Amazon Beanstalk 11 10 8
  • 80. PaaS Heroku PlayApps.net Cloudbees Cloudfoundry Google AppEngine war DotCloud Amazon Beanstalk 11 10 8
  • 81. 1.x Play! http://www.flickr.com/photos/funkimag/5397995349/ 11 10 8
  • 82. Play Play Play2.0 http://www.flickr.com/photos/alphadesigner/3833696256/ 11 10 8
  • 83. 11 10 8
  • 84. Scala SBT Python Scala Groovy Akka 11 10 8
  • 85. Preview 11 10 8
  • 86. Play! 11 10 8
  • 87. 11 10 8