Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Play Framework essentials

You're reading from   Play Framework essentials An intuitive guide to creating easy-to-build scalable web applications using the Play framework

Arrow left icon
Product type Book
Published in Sep 2014
Publisher
ISBN-13 9781783982400
Pages 200 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Julien R Foy Julien R Foy
Author Profile Icon Julien R Foy
Julien R Foy
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Play Framework Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Building a Web Service FREE CHAPTER 2. Persisting Data and Testing 3. Turning a Web Service into a Web Application 4. Integrating with Client-side Technologies 5. Reactively Handling Long-running Requests 6. Leveraging the Play Stack – Security, Internationalization, Cache, and the HTTP Client 7. Scaling Your Codebase and Deploying Your Application Index

Index

A

  • action builders
    • used, for making action logic reusable / Making an action's logic reusable and composable with action builders
    • used, for making action logic composable / Making an action's logic reusable and composable with action builders
    • combining / Combining action builders
  • action logic
    • making resuable, with action builders / Making an action's logic reusable and composable with action builders
    • making composable, with action builders / Making an action's logic reusable and composable with action builders
    • capturing, blocking APIs used / Capturing the logic of actions that use blocking APIs
    • capturing, that require authentication / Capturing the logic of actions that require authentication
  • actions
    • about / Play – a framework used to write web applications
  • Akka
    • about / Managing execution contexts
    • URL / Managing execution contexts
  • application
    • integrating, with preferred social network / Integrating your application with your preferred social network
  • application data
    • serializing, in JSON / Serializing application data in JSON
  • application deployment
    • about / Application deployment
    • to dedicated infrastructure / Deploying to your dedicated infrastructure
    • to cloud / Deploying to the cloud
    • per environment configuration, handling / Handling per environment configuration
    • configuration settings overriding, Java system properties used / Overriding configuration settings using Java system properties
    • different configuration files, using / Using different configuration files
  • architecture, web service / Testing your web service
  • artifacts
    • code, splitting into / Splitting your code into several artifacts
    • controller layer, splitting into / Splitting your controller layer into several artifacts
  • assets
    • managing, from build system / Managing assets from the build system
    • fingerprinting / Fingerprinting assets
  • Assets controller
    • about / Serving static assets
    • Cache-Control header / Serving static assets
  • AuthenticatedAction class / Capturing the logic of actions that require authentication
  • authentication
    • about / Authentication

B

  • bidirectional streaming, WebSockets / Bidirectional streaming with WebSockets
  • blocking APIs
    • used, for capturing action logic / Capturing the logic of actions that use blocking APIs
  • body parser / Reading JSON requests
  • branching, template engine / Looping and branching
  • build system
    • assets, managing from / Managing assets from the build system
  • business layer
    • about / Play – a framework used to write web applications

C

  • cache
    • used, for saving computation time / Saving computation time using cache
  • changeme / Application deployment
  • client-side technologies / Philosophy of Play regarding client-side technologies
  • cloud
    • deploying to / Deploying to the cloud
  • code
    • making, injectable / Making your code injectable
    • splitting, into artifacts / Splitting your code into several artifacts
  • code, modularizing
    • about / Modularizing your code
    • inversion of control principle, applying / Applying the inversion of control principle
    • dynamic calls, using in route definitions / Using dynamic calls in route definitions
    • dependency injection system, setting up / Setting up a dependency injection system
    • code, making injectable / Making your code injectable
  • comments, template engine
    • about / Comments
  • components
    • mocking / Mocking components
  • computation time
    • saving, cache used / Saving computation time using cache
  • configuration files
    • using / Using different configuration files
  • configuration settings
    • overriding, Java system properties used / Overriding configuration settings using Java system properties
  • content
    • serving, in several languages / Serving content in several languages
  • content negotiation
    • handling / Handling content negotiation
  • controller layer
    • splitting, into artifacts / Splitting your controller layer into several artifacts
  • controllers
    • about / Play – a framework used to write web applications
  • controllers.Service component / Making your code injectable
  • cookies
    • about / Authentication
  • CreateItem data type / Reading JSON requests
  • cross-site request forgery (CSRF) / Cross-site request forgery
    • HTTP request filters / HTTP request filters
  • cross-site scripting (XSS) / Cross-site scripting
  • CRUD
    • about / Play – a framework used to write web applications
  • CSRF filter
    • using / Using the CSRF filter
  • ctx.args property / Capturing the logic of actions that require authentication
  • cURL
    • URL / Trying the routes

D

  • @DB annotation / Capturing the logic of actions that use blocking APIs
  • data, persisting
    • about / Persisting data
    • relational database used / Using a relational database
    • database management library used / Using a database management library
  • database
    • populating, with fixtures / Populating the database with fixtures
  • database evolutions
    • about / Managing database schema evolutions
  • database management library
    • used, for persisting data / Using a database management library
  • database schema evolutions
    • managing / Managing database schema evolutions
  • data flow
    • controlling / Controlling the data flow
  • data streams
    • manipulating / Manipulating data streams by combining iteratees, enumerators, and enumeratees
  • DBAction class / Capturing the logic of actions that use blocking APIs
  • dependency injection system
    • setting up / Setting up a dependency injection system
  • document fragments, template engine
    • reusing / Reusing document fragments
  • dynamic calls
    • using, in route definitions / Using dynamic calls in route definitions
  • dynamic values
    • inserting / Inserting dynamic values

E

  • EhCache
    • URL / Saving computation time using cache
  • enumerators
    • used, for streaming results / Streaming results using enumerators
  • evented execution model / Play application's execution model
  • EventSource.whenConnected method / Transforming streams of data using enumeratees
  • execution contexts
    • managing / Managing execution contexts
  • execution model
    • overview / Play application's execution model

F

  • 403 (Forbidden) response / Using the CSRF filter
  • fixtures
    • database, populating with / Populating the database with fixtures

G

  • getOrElse method / Saving computation time using cache
  • Global object / The application's Global object

H

  • Haskell programming language
    • URL, for tutorials / Building HTTP responses
  • HOCON
    • about / Play applications' layout
  • HTML form data validation
    • Scala form validation API / The Scala form validation API
    • Java form validation API / The Java form validation API
    • mandatory fields / Optional and mandatory fields
    • optional fields / Optional and mandatory fields
  • HTML forms
    • generating / Generating HTML forms
    • repeated fields / Repeated and nested fields
    • nested fields / Repeated and nested fields
    • data, reading / Reading and validating HTML form data
    • data, validating / Reading and validating HTML form data, Validating the HTML form data
    • submission, handling / Handling the HTML form submission
    • validation rules and JSON validation, sharing / Sharing JSON validation and HTML form validation rules
  • HTTP API
    • calling, of preferred social network / Calling the HTTP API of your preferred social network
  • HTTP layer
    • testing / Testing the HTTP layer
    • reverse router, used for generating URLs / Using the reverse router to generate URLs
    • fake Play application, running / Running a fake Play application
  • HTTP request filters
    • about / HTTP request filters
  • HTTP response
    • status code / Building HTTP responses
    • headers / Building HTTP responses
    • body / Building HTTP responses
  • HTTP responses
    • building / Building HTTP responses
    • application data, serializing in JSON / Serializing application data in JSON
  • HTTPS
    • enabling / Enabling HTTPS
  • HTTP tests
    • writing, effectively / Effectively writing HTTP tests

I

  • import statements, template engine
    • about / Import statements
  • in-memory database
    • using, for tests / Using an in-memory database for tests
  • incremental computations
    • writing, iteratees used / Writing incremental computations using iteratees
  • infrastructure
    • deploying to / Deploying to your dedicated infrastructure
  • inversion of control principle
    • applying / Applying the inversion of control principle
  • iteratee, states
    • Done(a, e) / Writing incremental computations using iteratees
    • Error(msg, e) / Writing incremental computations using iteratees
    • Cont(k) / Writing incremental computations using iteratees
  • iteratees
    • used, for writing incremental computations / Writing incremental computations using iteratees

J

  • Jackson library
    • URL / Serializing application data in JSON
  • Java
    • JPA, using in / Using JPA in Java
    • session, manipulating / Authentication
  • Java form validation API
    • about / The Java form validation API
  • JavaScript dependencies
    • managing / Managing JavaScript dependencies
  • JavaScript files
    • concatenating / Concatenating and minifying JavaScript files
    • minifying / Concatenating and minifying JavaScript files
  • JavaScript reverse router
    • using / Using the JavaScript reverse router
  • JavaScript tests
    • testing / Running JavaScript tests
  • Java system properties
    • used, for overriding configuration settings / Overriding configuration settings using Java system properties
  • JPA
    • using, in Java / Using JPA in Java
  • JSON
    • application data, serializing / Serializing application data in JSON
  • JSON data
    • validating / Validating JSON data
  • JSON requests
    • reading / Reading JSON requests
    • optional values, handling / Handling optional values and recursive types
    • recursive types, handling / Handling optional values and recursive types
  • JSON validation
    • and HTML form validation rules, sharing / Sharing JSON validation and HTML form validation rules
  • JUnit tests / Writing and running tests

L

  • looping, template engine / Looping and branching

N

  • nested fields, HTML forms
    • about / Repeated and nested fields
  • non-blocking APIs
    • embracing / Embracing non-blocking APIs
  • non-JDBC-based persistence technology
    • integrating with / Integrating with other persistence technologies

O

  • 200 (OK) status
    • about / Integrating your application with your preferred social network
  • OAuth
    • URL / Background – the OAuth 2.0 protocol
  • OAuth 2.0 protocol
    • about / Background – the OAuth 2.0 protocol
  • OAuth client
    • implementing / Implementing the OAuth client

P

  • parameters fixed values, URL routing / Parameters with fixed values
  • parameters type coercion, URL routing / Parameters type coercion
  • path parameters, URL routing / Route path parameters
  • Play
    • about / Play – a framework used to write web applications, Using the template engine to build web pages
    • web application, writing / Play – a framework used to write web applications
    • URL / Sharing JSON validation and HTML form validation rules
    • reference, for configuration options of filters / Using the CSRF filter
  • Play application
    • bootstrapping / Bootstrapping a Play application
    • project layout / Play applications' layout

Q

  • query string parameters, URL routing / Query string parameters
  • query string parameters default values, URL routing / Default values of query string parameters

R

  • reactive programming
    • reference / Transforming streams of data using enumeratees
  • relational database
    • used, for persisting data / Using a relational database
  • relational database, data persistence
    • reference, obtaining to currently running application / Getting a reference to the currently running application
  • remote web services
    • calling / Calling remote web services
  • repeated fields, HTML forms
    • about / Repeated and nested fields
  • RequireJS
    • about / Concatenating and minifying JavaScript files
    • URL / Concatenating and minifying JavaScript files
  • REST conventions
    • URL / URL routing
  • results
    • streaming, enumerators used / Streaming results using enumerators
  • reverse router
    • used, for generating URLs / Using the reverse router to generate URLs
  • route
    • about / URL routing
  • route definitions
    • dynamic calls, using / Using dynamic calls in route definitions
  • router
    • about / Play – a framework used to write web applications
  • RxJava
    • about / Transforming streams of data using enumeratees

S

  • sbt
    • about / Bootstrapping a Play application
    • URL / Bootstrapping a Play application
  • sbt-uglify plugin
    • URL / Concatenating and minifying JavaScript files
  • sbt-web
    • URL / Managing assets from the build system
  • Scala
    • Slick, using in / Using Slick in Scala
    • session, reading / Authentication
  • Scala form validation API
    • about / The Scala form validation API
  • security concerns, handling
    • about / Handling security concerns
    • authentication / Authentication
    • cross-site scripting (XSS) / Cross-site scripting
    • cross-site request forgery (CSRF) / Cross-site request forgery
    • HTTPS, enabling / Enabling HTTPS
  • Selenium WebDriver
    • URL / Writing web user interface tests
  • server
    • scaling up / Scaling up your server
  • server-sent events
    • about / Unidirectional streaming with server-sent events
  • session mechanism
    • about / Authentication
  • Slick
    • about / Using a database management library
    • URL / Using a database management library
    • using, in Scala / Using Slick in Scala
  • social network
    • application, integrating with / Integrating your application with your preferred social network
    • HTTP API, calling of / Calling the HTTP API of your preferred social network
  • stage command / Deploying to your dedicated infrastructure
  • stateless server / Scaling up your server
  • static assets
    • about / Serving static assets
    • serving / Serving static assets

T

  • template engine
    • about / Using the template engine to build web pages
    • using, to build web pages / Using the template engine to build web pages
    • dynamic values, inserting / Inserting dynamic values
    • looping / Looping and branching
    • branching / Looping and branching
    • document fragments, reusing / Reusing document fragments
    • comments / Comments
    • import statements / Import statements
  • tests
    • writing / Writing and running tests
    • running / Writing and running tests
    • in-memory database, using for / Using an in-memory database for tests
  • test sbt command / Writing and running tests
  • threaded execution model / Play application's execution model
  • threaded versus evented models
    • reference / Play application's execution model
  • Twirl
    • about / Using the template engine to build web pages
  • typeclasses
    • about / Building HTTP responses
  • Typesafe Activator
    • about / Bootstrapping a Play application
    • URL / Bootstrapping a Play application

U

  • unidirectional streaming, server-sent events
    • about / Unidirectional streaming with server-sent events
    • ground, preparing / Preparing the ground
    • streams of data, transforming with enumeratees / Transforming streams of data using enumeratees
    • publish/subscribe, implementing with Akka / Implementing a publish/subscribe system using Akka
  • URL routing
    • about / URL routing
    • path parameters / Route path parameters
    • parameters type coercion / Parameters type coercion
    • parameters fixed values / Parameters with fixed values
    • query string parameters / Query string parameters
    • default values, for query string parameters / Default values of query string parameters
    • routes, adding / Trying the routes
  • URLs
    • generating, reverse router used / Using the reverse router to generate URLs

W

  • web application / Delta between a web service and a web application
  • web applications
    • writing / Play – a framework used to write web applications
  • web assets
    • producing / Producing web assets
    • transformations, pipelining / Pipelining web assets' transformations
    • gzipping / Gzipping assets
  • web page
    • CSS style sheet, loading / Sprinkling some JavaScript and CSS
    • JavaScript program, loading / Sprinkling some JavaScript and CSS
  • web pages
    • building, template engine used / Using the template engine to build web pages
  • web service
    • architecture / Testing your web service
    • testing / Testing your web service
    • HTTP layer, testing / Testing the HTTP layer
    / Delta between a web service and a web application
  • web user interface
    • tests, writing / Writing web user interface tests
  • WithApplication class / Using an in-memory database for tests
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime