Friday, 9 January 2015

Exploring Java Development using Play 2 Framework

Play 2 is a very interesting framework as both Java and Scala language can be used interchangeably in the same project for developing web application. Basically, it follows MVC pattern but breaks a couple of in grained java programming practices if one is well versed with Spring and J2EE development framework. For a more in dept analysis of this framework, I've decided to use it to implement a production grade SaaS application. Over the past one year, as new features were added and bugs fixed, the SaaS application was tinkered along the way to keep in line with each release of Play 2 framework. The current development environment is as follows:

  1. Source Code Repository: GIT at
  2. Repository Manager: Artifactory 3.4.0
  3. JVM: Oracle JDK 1.7
  4. IDE: Eclipse Luna with Scala IDE plugin
  5. Database: Postgresql 9.3
  6. ORM: JPA 2.1 and Hibernate 4.3.6
  7. Security Framework: Social Secure master-snapshot
  8. Scala: 2.11.1
  9. Charting: DS3.js
  10. Template: Bootstrap 3
The features that have been implemented are:
  1. Internationalization
  2. AJAX invocation
  3. Bootstrap 3 based custom components
  4. Segregation of functions into modules
  5. Custom login page and authorization provider for Social Secure
  6. Front end javascript validation
  7. Date and numeric field formatting
  8. Optimized bulk insert and loading of data

The positives:
  • Building a working CRUD page is much faster than with JSF-Spring-JPA. Scala template is simpler than JSF. 
  • The performance is very good. The generated code is less cluttered when compared to JSF. Much easier to manipulate it through jQuery and unlike JSF do not have to synchronize the state with the server side managed bean.
  • Much easier to add customized components. Just drop the HTML code in a scala wrapper method.
  • No need to restart the server when adding the new code.
  • Auto-binding of the form data.
  • Akka 
The negatives:
  • Compilation can be slow. 105 scala sources and 87 java sources, take up to 2 minute to compile from a clean state. Much faster on subsequent compilation. Depending on the changes, some still trigger a lot of recompilation.
  • A lot of jar files are added via the transitive dependency. Currently stands at over 60 jars.
  • Scala IDE with Eclipse Luna is not working well. Occasionally some jar files could not be cleared until Eclipse is closed. Turning on "Build Automatically" can cause problem when compiling using the command line, activator compile.


  1. Hi I am Emi from Chennai. Thanks for sharing the informative post about Java technology. It’s really useful for me to know more about this technology. Recently I did Java Training Chennai at a leading Java Training Institutes in Chennai.

    1. IEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes. IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble.Final Year Projects for CSE

      Spring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Spring Framework Corporate TRaining .

      Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai

      The Angular Training covers a wide range of topics including Angular Directives, Angular Services, and Angular programmability.Angular Training

  2. Upgrading ourselves to the upcoming technology is the best way to survive in this modern and fast paced technology world. Reading contents like this will create a positive impact within me. Thanks for writing such a valuable content. Keep up this work.

    JAVA Training in Chennai | JAVA J2EE Training Institutes in Chennai | JAVA Training Chennai

    1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Java developer learn from Java Training in Chennai. or learn thru Java Online Training in India . Nowadays Java has tons of job opportunities on various vertical industry.

  3. It's Really Great Post. Looking for some more stuff.
    SEO Training In BTM Layout

  4. Your article is good to understand, are you interested in accounting software? Our service is helpful to you.
    Ubs accounting
    Myob Singapore
    Best Accounting software Singapore

  5. Thanks for your sharing great article, I am very happy to read this article and I like it very much!I would also recommend it to my friends.
    sun news live
    sun news
    sun tv live
    news 7 live
    sun news live today
    sun tv news
    sun tv news live
    sun tv live news
    சன் நியூஸ்