Rethinking HTTP Apps using Ratpack

Naresha K
Naresha KDeveloper | Technical Excellence Coach | Consultant | Trainer at Independent
Rethinking HTTP apps using Ratpack
Naresha K
@naresha_k
naresha.k@gmail.com
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Thread per Request
Rethinking HTTP Apps using Ratpack
Non-blocking
Asynchronous
Non-blocking
Asynchronous
Non-blocking Asynchronous
Non-blocking
Asynchronous
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Guice
Reactive Streams
Ratpack Goals
Fast,
scalable,
& efficient
Allow applications to
evolve in complexity
without compromise
leverage the benefits of
non-blocking
programming and
reduce the costs
flexible and
unopinionated in
integrating other tools
and libraries
Testability
Not a full-stack
solution
Architecture
Non Blocking
Non Blocking
Event Loop
I/O
Thread Pool
Execution
Queue
I/O op
I/O
complete
Creating a Ratpack (Java) App
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Creating a Ratpack App
using Groovy Script
Rethinking HTTP Apps using Ratpack
Creating a Ratpack App
(Groovy)
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Working with handlers
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Performing Blocking operation
Rethinking HTTP Apps using Ratpack
Ratpack execution model
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Lazy Evaluation
[ratpack-compute-125-2] ERROR ratpack - Body type:
ratpack.exec.internal.DefaultPromise
curl -X POST -H "Content-Type: Application/json"
-d '{"title": "Asynch Web"}' localhost:5050/proposal
curl -X POST -H "Content-Type: Application/json"
-d '{"title": "Asynch Web"}' localhost:5050/proposal
Asynch Web%
Composing
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Rethinking HTTP Apps using Ratpack
Resources
• Project Home - https://ratpack.io/
• User guide - https://ratpack.io/manual/current/
• Discussion forum - https://forum.ratpack.io/
• Example code - https://github.com/ratpack/example-
books
• Code samples from an old talk - https://github.com/
naresha/functionalconf2015
• Live coding demo - https://www.youtube.com/watch?
v=y9e_O2GFkdA
• http://sdkman.io/ SDK Manager (to manage multiple
versions of SDKs)
@naresha_k
naresha.k@gmail.com
https://www.slideshare.net/nareshak
Thank you
1 of 61

More Related Content

What's hot(20)

Hidden Dragons of CGOHidden Dragons of CGO
Hidden Dragons of CGO
All Things Open201 views
Building the Web with GradleBuilding the Web with Gradle
Building the Web with Gradle
Eric Wendelin617 views
Attacking GraphQLAttacking GraphQL
Attacking GraphQL
KavishaSheth147 views
GraphQL MisconfigurationGraphQL Misconfiguration
GraphQL Misconfiguration
Harshit Sengar363 views
Importance of GCP: 30 Days of GCPImportance of GCP: 30 Days of GCP
Importance of GCP: 30 Days of GCP
AnshTyagi2778 views
GraphQL With Relay Part DeuxGraphQL With Relay Part Deux
GraphQL With Relay Part Deux
Brad Pillow802 views
GraphQLGraphQL
GraphQL
Joel Corrêa4.6K views
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
Sashko Stubailo2.5K views
Parallel Development in VS10Parallel Development in VS10
Parallel Development in VS10
Valdis Iljuconoks458 views
GraphQL IndyJS April 2016GraphQL IndyJS April 2016
GraphQL IndyJS April 2016
Brad Pillow626 views
Raphael Amorim - Scrating React FiberRaphael Amorim - Scrating React Fiber
Raphael Amorim - Scrating React Fiber
React Conf Brasil182 views
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK1K views
Modular GraphQL with Schema StitchingModular GraphQL with Schema Stitching
Modular GraphQL with Schema Stitching
Sashko Stubailo3.6K views
DevOps Toolchain v1.0DevOps Toolchain v1.0
DevOps Toolchain v1.0
Giragadurai Vallirajan9.3K views

Recently uploaded(20)

Rethinking HTTP Apps using Ratpack