soft-shake.ch - la tequila du développement web
Post on 14-Dec-2014
1.028 Views
Preview:
DESCRIPTION
TRANSCRIPT
Nicolas Martignole
2010
J2
La Tequila du développement Web
Agilité iPhone Java Incubateur
8:15 Accueil des participantsAccueil des participantsAccueil des participantsAccueil des participants
8:40 Mot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateursMot des organisateurs & Criée des orateurs
9:00 Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)Keynote de Nicolas Martignole (30 minutes)
9:40
10:40
- A1 -Le terrain Agile
Jean-Philippe Vigniel
- I1-Hello iPhone
Stephane Tavera
- J1 -NOSQL also means RDF stores: an
Android case studyFabrizio Giudci
- X1 -Le développement durable
Dominic Williams
11:00
12:00
- A2 -Integration of User Centered Design
in Agile Development of RIAJ. Borkenhagen, J. Desmazières
- I2 -Développement d'une application
iPhone pilotée par les testsEmmanuel Etasse, Van-Charles Tran
- J2 -La Tequila du développement Web
Nicolas Martignole
- X2 -Cloud Computing: anatomie et
pratiqueMarc-Elian Bégin
12:20
13:20
- A3 -Adoption de l'Agilité par les usages
Xavier Warzee
- I3 -Distribution d'applications iPhone
en Entreprise: Réalisation d'un AppStore interne
Géraud de Laval
- J3 -Vaadin - Rich Web Applications in
Server-side Java without Plug-ins or JavaScript
Joonas Lehtinen
- X3 -Les DVCS sont vos amis
Sébastien Douche
Pause repas (50 minutes)Pause repas (50 minutes)Pause repas (50 minutes)Pause repas (50 minutes)
14h10 Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)Keynote de Regis Medina (30 minutes)
14h50
15h50
- A4 - Scrum, introduction et mise en
oeuvre avec iceScrumClaude Aubry
- I4 -Agile iOS Development
Jérôme Layat, Alexander Osterwalder
- J4 -JAX-RS and Java EE 6
Paul Sandoz
- X4 -IT Design & Ergonomy
Pascal Petit, Aude Lussigny
16h10
17h10
- A5 -Agilité : 10 ans déjà
Thierry Cros
- I5 -Optimizing iOS applications
Marc-Antoine Scheurer
- J5 -Ecrivez et automatisez vos tests
fonctionnels avec jBehaveXavier Bourguignon
- X5 -NoSQL : Enfin de la biodiversité
dans l'écosystème des BDOlivier Mallassi
17h30
18h30
- A6 -Lean engineering
Jean-Christophe Dubail
- I6 -iPhone et Agile, l'amour vache
Guillaume Duquesnay
- J6 -Let's make this test suite run faster
David Gageot
- X6 -The feel of Scala
Mario Fusco
Mot de la fin & tombolaMot de la fin & tombolaMot de la fin & tombolaMot de la fin & tombola
Programme de la Conférence
www.soft-shake.ch
La Téquila du développement WebNicolas Martignole
Play! Framework
dimanche 24 octobre 2010
• Nicolas Martignole @nmartignole
• Freelance / Technical Team Leader
• Blog Le Touilleur Express
• Fondateur du site eXpress-Board.fr
Speaker
dimanche 24 octobre 2010
What you will learn
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
• Stateless server-side architecture
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
• Stateless server-side architecture
• Not based on Java Servlet API
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
• Stateless server-side architecture
• Not based on Java Servlet API
• No client-side technology
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
• Stateless server-side architecture
• Not based on Java Servlet API
• No client-side technology
• A full-stack framework : from compilation to deployment
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
• Stateless server-side architecture
• Not based on Java Servlet API
• No client-side technology
• A full-stack framework : from compilation to deployment
• Close to Rails but based on Java
dimanche 24 octobre 2010
What you will learn• Play! Framework is an open-source Web
Framework written in Java launched in 2008
• Stateless server-side architecture
• Not based on Java Servlet API
• No client-side technology
• A full-stack framework : from compilation to deployment
• Close to Rails but based on Java
• and it’s fun (really)
dimanche 24 octobre 2010
What you will learn
• Play! Framework is an open-source Web Framework written in Java launched in 2008
• Stateless server-side architecture
• Not based on Java Servlet API
• No client-side technology
• A full-stack framework : from compilation to deployment
• Close to Rails but based on Java
• and it’s fun (really)
dimanche 24 octobre 2010
Demo ?dimanche 24 octobre 2010
A Web Framework not based on Servlet API
dimanche 24 octobre 2010
A Web Framework not based on Servlet API
dimanche 24 octobre 2010
A Web Framework not based on Servlet API
dimanche 24 octobre 2010
A Web Framework not based on Servlet API
dimanche 24 octobre 2010
http://www.flickr.com/photos/julia_manzerova/932055526/
Values and background
dimanche 24 octobre 2010
➡ Simple, efficient
http://www.flickr.com/photos/julia_manzerova/932055526/
Values and background
dimanche 24 octobre 2010
➡ Simple, efficient➡ P lay ! i s a fu l l s t ack
framework
http://www.flickr.com/photos/julia_manzerova/932055526/
Values and background
dimanche 24 octobre 2010
➡ Simple, efficient➡ P lay ! i s a fu l l s t ack
framework➡ Shared philosophy from
Rails, Django
http://www.flickr.com/photos/julia_manzerova/932055526/
Values and background
dimanche 24 octobre 2010
➡ Simple, efficient➡ P lay ! i s a fu l l s t ack
framework➡ Shared philosophy from
Rails, Django➡ A Web framework (not a
java framework)
http://www.flickr.com/photos/julia_manzerova/932055526/
Values and background
dimanche 24 octobre 2010
Much of the Java Complexity is cultural
and not imposed
dimanche 24 octobre 2010
Why no Servlet API ?
dimanche 24 octobre 2010
Why no Servlet API ?
dimanche 24 octobre 2010
Why no Servlet API ?
dimanche 24 octobre 2010
http://www.flickr.com/photos/ikhlasulamal/4971821734/lightbox/
dimanche 24 octobre 2010
Servlet API
Threads Pools
Session
Session
DB
Client 1
Client 2
YOU
A set of sessions
Session
dimanche 24 octobre 2010
Servlet API
Threads Pools
Session
Session
DB
Client 1
Client 2
YOU
A set of sessions
Session
dimanche 24 octobre 2010
Servlet API
Threads Pools
Session
Session
DB
Client 1
Client 2
YOU
A set of sessions
Session
dimanche 24 octobre 2010
Servlet API
Threads Pools
Session
Session
DB
Client 1
Client 2
YOU
A set of sessions
Session
dimanche 24 octobre 2010
http://www.flickr.com/photos/pierofix/3094329703/sizes/z/in/photostream/
dimanche 24 octobre 2010
Careful, the beverage you’re about to enjoy is extremely hot
dimanche 24 octobre 2010
http://www.flickr.com/photos/dominik/3281953536/sizes/l/in/photostream/
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
DB
• One Thread to take your order very quickly
• A fixed pool of Worker to process it
• A last Thread to deliver the response
Fixed pool of workers
Play! Framework
dimanche 24 octobre 2010
Disclaimer :A bit of FUDFear,uncertainty and doubt
dimanche 24 octobre 2010
http://www.flickr.com/photos/esparta/482348262/sizes/o/in/photostream/
dimanche 24 octobre 2010
• http://www.myapp.com/cont/servlet/buyService?sessionId=3gh3haaa2gg2&action=nextPage&idExpanse=false&flow=3C&event=s1e1&entityId=23bS&role=p&date=04%2F12%F2010&returnPage=homeS02&out=true
URL
dimanche 24 octobre 2010
• http://www.myapp.com/cont/servlet/buyService?sessionId=3gh3haaa2gg2&action=nextPage&idExpanse=false&flow=3C&event=s1e1&entityId=23bS&role=p&date=04%2F12%F2010&returnPage=homeS02&out=true
Is that web ?
URL
dimanche 24 octobre 2010
• http://www.express-board.fr/user/sfeir/27
• http://www.express-board.fr/user/objectif-informatique/53
- You can read it- You can boomark it-You can share it
URL with Play!
dimanche 24 octobre 2010
Play! is a web framework
dimanche 24 octobre 2010
The application can be RESTful.
Play! is a web framework
dimanche 24 octobre 2010
The application can be RESTful.URL are important.
Play! is a web framework
dimanche 24 octobre 2010
The application can be RESTful.URL are important.Fully realize the meaning of HTTP as a protocol not just a transport protocol layer.
Play! is a web framework
dimanche 24 octobre 2010
The application can be RESTful.URL are important.Fully realize the meaning of HTTP as a protocol not just a transport protocol layer.Take care of side effects & idempotence
Play! is a web framework
dimanche 24 octobre 2010
The application can be RESTful.URL are important.Fully realize the meaning of HTTP as a protocol not just a transport protocol layer.Take care of side effects & idempotenceThe navigator holds the session
Play! is a web framework
dimanche 24 octobre 2010
http://www.flickr.com/photos/paperpariah/2807820145/sizes/o/in/photostream/
Play! is a server-side stateless framework
dimanche 24 octobre 2010
Application
Play! Framework ServerWeb Browser
Play! Framework Server 2
Application
DB State
Crypted signed cookie
Where is the session ?
dimanche 24 octobre 2010
Application
Play! Framework ServerWeb Browser
Play! Framework Server 2
Application
DB State
Crypted signed cookie
Where is the session ?
dimanche 24 octobre 2010
Application
Play! Framework ServerWeb Browser
Play! Framework Server 2
Application
DB State
Crypted signed cookie
Where is the session ?
dimanche 24 octobre 2010
Application
Play! Framework ServerWeb Browser
Play! Framework Server 2
Application
DB State
Crypted signed cookie
Where is the session ?
dimanche 24 octobre 2010
Application
Play! Framework ServerWeb Browser
Play! Framework Server 2
Application
DB State
Crypted signed cookie
Where is the session ?
dimanche 24 octobre 2010
Application
Play! Framework ServerWeb Browser
Play! Framework Server 2
Application
DB State
Crypted signed cookie
Where is the session ?
dimanche 24 octobre 2010
http://www.flickr.com/photos/onegoodbumblebee/1444006597/sizes/o/in/photostream/
Not a client-side web framework
jQuery ext-JSGWT
dimanche 24 octobre 2010
http://www.flickr.com/photos/ajc1/4663140532/sizes/o/in/photostream/
Play! is a full stack framework
dimanche 24 octobre 2010
Copyright(c) mipan - Fotolia.com
Full stack ?
dimanche 24 octobre 2010
• In dev mode, it compiles your java code (no need for Maven nor Ant)
Copyright(c) mipan - Fotolia.com
Full stack ?
dimanche 24 octobre 2010
• In dev mode, it compiles your java code (no need for Maven nor Ant)
• Embedded Server based on Apache Mina or JBoss Netty
Copyright(c) mipan - Fotolia.com
Full stack ?
dimanche 24 octobre 2010
• In dev mode, it compiles your java code (no need for Maven nor Ant)
• Embedded Server based on Apache Mina or JBoss Netty
• Deployment as a WAR
Copyright(c) mipan - Fotolia.com
Full stack ?
dimanche 24 octobre 2010
• In dev mode, it compiles your java code (no need for Maven nor Ant)
• Embedded Server based on Apache Mina or JBoss Netty
• Deployment as a WAR
• No need for any other JARs
Copyright(c) mipan - Fotolia.com
Full stack ?
dimanche 24 octobre 2010
• Apache Tomcat
• Spring Webflow
• Spring Faces
• Hibernate
• Junit
• JSF and a library such as Rich Faces
• Selenium
• Maven
Meet the Java Web projet
dimanche 24 octobre 2010
• The super-heros pattern
http://www.flickr.com/photos/aloha75/4571410233/sizes/l/in/photostream/
Me as a consultant
dimanche 24 octobre 2010
• The super-heros pattern
http://www.flickr.com/photos/aloha75/4571410233/sizes/l/in/photostream/
Me as a consultant
dimanche 24 octobre 2010
http://www.flickr.com/photos/creative_tools/4324925700/sizes/l/in/photostream/
But I’m getting old
dimanche 24 octobre 2010
http://www.flickr.com/photos/creative_tools/4324925700/sizes/l/in/photostream/
But I’m getting old
dimanche 24 octobre 2010
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
• Persistence engine (JPA/Hibernate)
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
• Persistence engine (JPA/Hibernate)
• Tests Runners (Junit, Selenium)
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
• Persistence engine (JPA/Hibernate)
• Tests Runners (Junit, Selenium)
• Asynchronous tasks
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
• Persistence engine (JPA/Hibernate)
• Tests Runners (Junit, Selenium)
• Asynchronous tasks
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
• Persistence engine (JPA/Hibernate)
• Tests Runners (Junit, Selenium)
• Asynchronous tasks
• Scala
Play is a development platform
dimanche 24 octobre 2010
• Fast incremental development
• Production server
• MVC stack with a configurable template engine
• Persistence engine (JPA/Hibernate)
• Tests Runners (Junit, Selenium)
• Asynchronous tasks
• Scala
• Mobile development
Play is a development platform
dimanche 24 octobre 2010
Compile, reload, enjoy
dimanche 24 octobre 2010
• You think of an idea
Compile, reload, enjoy
dimanche 24 octobre 2010
• You think of an idea
• You write-it in your IDE
Compile, reload, enjoy
dimanche 24 octobre 2010
• You think of an idea
• You write-it in your IDE
• Reload browser
Compile, reload, enjoy
dimanche 24 octobre 2010
• You think of an idea
• You write-it in your IDE
• Reload browser
• There is no session : you can perform progressive creation of Web application in no time
Compile, reload, enjoy
dimanche 24 octobre 2010
• Displayed in your web browser
Error pages
Statically check (yes it’s Java)
dimanche 24 octobre 2010
• Displayed in your web browser
Error pages
Statically check (yes it’s Java)
dimanche 24 octobre 2010
Tests in the browser
dimanche 24 octobre 2010
Tests in the browser
dimanche 24 octobre 2010
dimanche 24 octobre 2010
One more thing...
dimanche 24 octobre 2010
One more thing
dimanche 24 octobre 2010
• Cloud deployment on playapps.net
One more thing
dimanche 24 octobre 2010
• Cloud deployment on playapps.net
• Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc.
One more thing
dimanche 24 octobre 2010
• Cloud deployment on playapps.net
• Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc.
• Hosted on GitHub
One more thing
dimanche 24 octobre 2010
• Cloud deployment on playapps.net
• Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc.
• Hosted on GitHub
• Easy to learn
One more thing
dimanche 24 octobre 2010
• Cloud deployment on playapps.net
• Modules for NoSQL, revert DB, Scaffold, Excel, Senia, MongoDB, Scalate, PDF, search, etc.
• Hosted on GitHub
• Easy to learn
• .............................. and it’s Java
One more thing
dimanche 24 octobre 2010
Demonstration
dimanche 24 octobre 2010
Demo• A simple Todo list application
• Create an application
• Add simple HTML
• Add bootstrap
• Create a todo
• Show a specific
dimanche 24 octobre 2010
Demo 2• GeekEvent is a Java User Group event
organizer
• Code source hosted on GitHub
dimanche 24 octobre 2010
JugUseremailfirstNamelastName
JugEventtitledateshortDesclongDesctotalSlots
Simple model
dimanche 24 octobre 2010
JugUseremailfirstNamelastName
Set<JugEvent> attendeesEventsSet<JugEvent> organizedEvents
JugEventtitledateshortDesclongDesctotalSlots
Set<JugUser> attendeesJugUser eventOrganizer
dimanche 24 octobre 2010
dimanche 24 octobre 2010
top related