Typesafe Activator

Play Framework + HBase

Play Framework + HBase

typesafehub
Source
September 16, 2013
starter play java hbase

This template is an easy way to get started with Play Framework and HBase.

How to get "Play Framework + HBase" on your computer

There are several ways to get this template.

Option 1: Choose play-hbase in the Typesafe Activator UI.

Already have Typesafe Activator (get it here)? Launch the UI then search for play-hbase in the list of templates.

Option 2: Download the play-hbase project as a zip archive

If you haven't installed Activator, you can get the code by downloading the template bundle for play-hbase.

  1. Download the Template Bundle for "Play Framework + HBase"
  2. Extract the downloaded zip file to your system
  3. The bundle includes a small bootstrap script that can start Activator. To start Typesafe Activator's UI:

    In your File Explorer, navigate into the directory that the template was extracted to, right-click on the file named "activator.bat", then select "Open", and if prompted with a warning, click to continue:

    Or from a command line:

     C:\Users\typesafe\play-hbase> activator ui 
    This will start Typesafe Activator and open this template in your browser.

Option 3: Create a play-hbase project from the command line

If you have Typesafe Activator, use its command line mode to create a new project from this template. Type activator new PROJECTNAME play-hbase on the command line.

Option 4: View the template source

The creator of this template maintains it at https://github.com/typesafehub/activator-play-hbase.

Option 5: Preview the tutorial below

We've included the text of this template's tutorial below, but it may work better if you view it inside Activator on your computer. Activator tutorials are often designed to be interactive.

Preview the tutorial

Setup HBase

You've just created a simple Play Framework + HBase application! Before we dive into the code and run the app you will need to install and start HBase on your system. First setup the CDH4 repository, then Install HBase, and Start HBase in Standalone mode.

Verify that HBase has started by running:

hbase shell
You should see something like:
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.6-cdh4.4.0, rUnknown, Tue Sep  3 20:11:37 PDT 2013

hbase(main):001:0>

Run the App

Once the application has been compiled and the server started, your application can be accessed at: http://localhost:9000
Check in Run to see the server status.

The app has a simple web UI for listing and displaying "bars". Try to add a new "bar". Once added it should be displayed in the list.

Code Overview

Opening http://localhost:9000 in your browser renders a web page by first looking up the routing in the conf/routes file. A GET handler for / calls the index method in app/Application.scala file. This method renders a webpage using the app/views/index.scala.html server-side template. That webpage loads in the UI for the application which uses jQuery and Bootstrap. The main UI is driven through JavaScript which is compiled from the index.coffee source file. That file handles making RESTful JSON requests to get the list of "bars" and add a new "bar".

In the Application.scala file, there is a lazy val hbaseConfig which configures the connection to HBase and if needed creates the table to store the "bars" in. The addBar() method adds a new row consisting of the JSON from the client. The getBars method queries the table for "bars" and then transforms them into a JSON list and returns them. You can see the JSON directly at: http://localhost:9000/bars

The application dependencies are defined in the build.sbt file.

Further Learning

To learn more about Play Framework, try out the hello-play template in Activator. (Hint: Click the Typesafe logo in the top-right to go create a new app.)

Learn more about Play Framework: http://playframework.com

Learn more about Apache HBase: http://hbase.apache.org/

comments powered by Disqus