Opleiding: Play Framework Programming
In the course Play Framework Programming from SpiralTrain participants learn to develop web applications based on the Model View Controller design pattern and using the JVM language Scala.Intro Play Framework
The course starts with a discussion of the Play Framework architecture. Also discussed is the use of the build and dependency management tool sbt and the command line utility giter8 with which files and directories are generated based on templates.
MVC Model
Next the MVC architecture is discussed and how in Play control flow, data presentation and data storage are realized. Attention is also paid to dynamic URLs and scoped objects in session and flash scope.
Views and Templates
The view in Play web applications is typically based on a template. Attention is paid to the operation of the Scala based template engine and the possible control flow constructs and variables in templates.
Concurrency
Then it's time to handle asynchronous calls and concurrency with multiple threads. The Akka Framework which is ideally suited for concurrent and distributed applications on the JVM, is therefore discussed as well.
Web Services
The course program also treats consuming Web Services in Play. The parsing of JSON data and the parsing of XML data with JAXB and Akka streaming is also explained.
Data Access
Furthermore data access from Play is treated. Object Relational Mapping and both Ebean queries and Rawsql queries are discussed.
Deployment
Finally after an overview of how to create your own Play modules, attention is paid to the deployment of Play Applications on an Apache or Nginx web server.
Audience Course Play Framework Programming
The course Play Framework Programming is intended for experienced developers who want to use the Play Framework for the creation of Web Applications and Web Services.
Prerequisites course Play Framework Programming
Knowledge of and experience with Java, C# or Scala is required to participate in this training.
Realization Training Play Framework Programming
The theory is discussed on the basis of presentation slides. Demos are used to clarify the theory. There is ample opportunity to practice and theory and exercises are interchanged. The course material is in English. Course times are from 9.30 to 16.30.
Certification course Play Framework Programming
After successful completion of the course the participants receive an official certificate Play Framework Programming.
Modules
Module 1 : Play Framework Intro
- What is Play?
- Play Architecture
- Play Versions
- Installing Play
- sbt and conscript
- Installing Giter8
- Setting Up Play
- Project Directories
- Configuration
- Controller and View
- Testing Views
- Testing Controllers
Module 2 : Build System
- Scala Build Tool
- Core Principles
- Benefits of sbt
- Using sbt
- SBT Commands
- Setting Definition
- Resolvers
- sbt Plugins
- Application Settings
- Error Handlers
- Client Errors
- Server Errors
Module 3 : MVC Model
- MVC Architecture
- Separation of Concerns
- Control Flow
- Data Presentation
- Data Storage
- HTTP Storage
- Static Definition
- Dynamic URL Parts
- Passing Fixed Values
- Optional Parameters
- Scoped Objects
- Session and Flash Scope
Module 4 : Views and Templating
- General Template
- Composite View
- Special @ Character
- Comments
- Template Parameters
- Import Statement
- Conditions
- Iterating Lists
- Iterating Maps
- If Blocks
- Escaping Dynamic Contents
Module 5 : Concurrency
- Executors
- Runnable and Callables
- Asynchronous Programming
- Scheduled Jobs
- Configuring Jobs
- Akka Framework
- Actors
- Actor System
- Message Flows
- Fault Tolerance
- Scalability
Module 6 : Web Services
- Consuming Web Services
- REST API's
- JSON Payloads
- Callback Methods
- Handling JSON
- JSON Request and Response
- Simple XML Parsing
- Parsing with JAXB
- Large Responses
- Source and Sinks
- Akka Streaming
Module 7 : Data Access
- SQL Database Support
- Object Persistence
- Object Relational Mapping
- ORM Concepts
- Relationships
- Persistence API
- Ebean Queries
- Query Constructs
- Using Rawsql
Module 8 : Play Modules
- What are Modules?
- Creating Modules
- Module Configuration
- Module Contract
- Module Injection
- Publishing Modules
- Play Repository
- Third Party Modules
- Popular Modules
Module 9 : Deployment
- Action Composition
- Filters
- Configuring Cache
- Cache API
- Deployment on Apache
- Enabling SSL
- mod proxy Load Balancer
- Nginx Event Architecture
- Configure Play on Nginx