Over a million developers have joined DZone.

Getting Started With Play Framework

Learn how to get going with the Play framework for building REST services, and give other services a rest.

Is iPaaS solving the right problems? Not knowing the fundamental difference between iPaaS and dPaaS could cost you down the road. Brought to you in partnership with Liaison Technologies.

Play Framework - Build Modern & Scalable Web Apps with Java and ScalaI have been building REST services using Spring and Jersy. Both the frameworks are good to implement REST services. But, I was looking for a lightweight web framework to build REST services by considering some characteristics.

Play satisfies the required characteristics as shown below,

  • REST Support
    • Play has first in class support for REST.
  • More Developer Productive
    • Play provides high developer productivity but having hot reload of code, templates, config changes etc… Developer just need to do the code change and refresh the page to see the update. No re build and re deployment.
  • Reactive
    • Play is backed up by Akka and Netty server to be reactive and supports non-blocking I/O.
  • Open source
    • Play is open source and is released under the Apache 2 License.
  • Less System Resource Utilization
    • Play consumes less system resources like CPU and memory as it uses only one thread to process the requests(against to the traditional servers where one thread per request).
  • Less Learning Curve
    • Play is very simple to set up and work.
  • Pluggable Architecture

Now we will create our first Play with Java project by following below steps.

Step 1: Here Iam using Play version is 2.4.2. To work with this version, make sure that the JAVA_HOME environment variable is set to JDK8 or more.

set JAVA_HOME=<Path to JDK 8 or more where it installed> for Windows
export JAVA_HOME=<Path to JDK 8 more where it installed> for Linux based

Step 2: Download the Typesafe’s Activator(Tool from Typesafe which will allow the developers to create Play project quickly. It is built on top of SBT). The Activator will be available in two formats. One is minimum downloadable artifact online version and the other one is offline fully downloadable version(suitable for developers with no internet connection). In this tutorial we are going to use minimum online version.

Step 3: Extract the downloaded Activator zip file and add it to PATH environment variable.

set PATH=<Path to extracted activator folder>;%PATH%; for Windows
export PATH=<Path to extracted activator folder>:$PATH: for Linux based
For example,set PATH=D:\My_Learnings\typesafe-activator-1.3.5-minimal\activator-1.3.5-minimal;%PATH%;

Step 4: Now, from the command prompt use the below command to create Play for Java application. There are other options available for activator. To know that, execute activator help command.

activator new Learning_Play_App play-java

Step 5: Now run the Play app which we created in Step 4 and see the default Play UI. From the command prompt, move to the project which we created and execute the below command. When we run the Activator, it will launch the Netty server. To stop the server, use ctrl+D

D:\My_Learnings>cd Learning_Play_App
D:\My_Learnings\Learning_Play_App>activator run

 First time when you run activator, it will download all the dependencies from the central repository and will take some time to start the Play application. After the application is started on default port 9000, open the browser and send the request to http://localhost:9999 to see the default Play UI as shown below.

Image title

You are done with your first Play Application creation. In the next article, we will try to understand the Play folder structure and exporting it as our favorite IDE project(Like Eclipse, IntelliJ etc..).

Discover the unprecedented possibilities and challenges, created by today’s fast paced data climate and why your current integration solution is not enough, brought to you in partnership with Liaison Technologies.

Topics:
play framework ,activator ,typesafe ,enterprise integration ,ei ,integration ,rest ,play

Published at DZone with permission of Siva Prasad Rao Janapati, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}