Opleiding: Play Framework Programming
In de cursus Play Framework Programming van SpiralTrain leren de deelnemers web applicaties te ontwikkelen die zijn gebaseerd op het Model View Controller design pattern en gebruik maken van de JVM taIntro Play Framework
De cursus gaat van start met een bespreking van de architectuur van Play. Ook wordt ingegaan op het gebruik van het build en dependency management tool sbt en de command line utility giter8 waarmee op basis van templates files en directories worden gegenereerd.
MVC Model
Vervolgens komt de MVC architectuur aan de orde en hoe in Play control flow, data presentatie en data opslag wordt gerealiseerd. Ook wordt dan aandacht besteed aan dynamische URL's en scoped objects in session en flash scope.
Views en Templates
Het view wordt in Play web applicatie typisch gebaseerd op een template. De werking van op Scala gebaseerde template engine en de mogelijke control flow constructies en variabelen in templates worden besproken.
Concurrency
Dan is het tijd voor de behandeling van asynchronous calls en concurrency met multiple threads. Het Akka Framework dat bij uitstek geschikt is voor concurrent en gedistribueerde applicaties op de JVM komt dan ook aan de orde.
Web Services
Onderdeel van het programma van de cursus is ook het consumeren van Web Services in Play. Daarbij wordt ingegaan op het parsen van JSON data en het parsen van XML data met JAXB en wordt ook Akka streaming behandeld.
Data Access
Voorts wordt data access vanuit Play behandeld. Daarbij passeren Object Relational Mapping en zowel Ebean queries als Rawsql queries de revue.
Deployment
Tenslotte wordt na een overzicht van hoe eigen Play modules kunnen worden gemaakt, aandacht besteed aan deployment van Play Applicaties op een Apache of Nginx web server.
Doelgroep Cursus Play Framework Programming
De cursus Play Framework Programming is bedoeld voor ervaren developers die het Play Framework willen inzetten bij de creatie van Web Applicaties en Web Services.
Voorkennis cursus Play Framework Programming
Kennis van en ervaring met Java, C# of Scala is vereist om aan deze training te kunnen deelnemen.
Uitvoering Training Play Framework Programming
De theorie wordt behandeld aan de hand van presentatie slides. Demos worden gebruikt om de theorie te verduidelijken. Er is ruime gelegenheid tot oefenen en theorie en exercises wisselen elkaar af. Het cursus materiaal is in het Engels. De cursustijden zijn van 9.30 tot 16.30.
Certificering cursus Play Framework Programming
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Play Framework Programmeren.
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