Server Based Web Frameworks

My favorite part of building software is web development.  I have been involved in building Web Services for EBI, Dashboard development for EEI and EBI, and I’m continuing to work on the web-based administration console for EBI 3x.   A new project has cropped up where I get to do more web development.  I’ve researched new frameworks that are available, and I’ve discovered that web development just got a lot more fun! 

This new project has quite a bit in common with our current dashboard, which consists of multiple portlets for each EXTOL product.  At the time the dashboard was being developed, portlets were a hot topic in the Java world, and JBoss Portal was a great application server for hosting portlets, so our dashboard became a bunch of portlets users can customize on one or more portal pages.  A few years later, we’ve identified some problems with JBoss Portal:

  • Starting the server takes too long and takes up too much memory for a Dashboard application.
  • There is no upgrade path.
  • Some of their APIs in the version of JBoss Portal that we use did not work.

Also, portlets were meant to be small widgets used to view a tiny subset of data with limited filtering options.  This new project requires lots of functionality, so it’s time to shop around for a new web technology, and I’ve found two great web frameworks:  Eclipse RAP and Vaadin.  Both Eclipse RAP and Vaadin take HTML and Javascript out of the equation and you focus on just Java coding, which greatly reduces development time.

Eclipse RAP is a framework that exposes Eclipse plugins through a web browser.  Eclipse plugin development requires using SWT for the UI.  Eclipse RAP replaces the original SWT API with web specific calls.  What this means is by swapping out libraries, I shouldn’t have to change any code to take an existing framework I’ve written to expose it as a Rich Internet Application.  There are some problems with RAP:

  • Eclipse RAP is a bit slow when it loads for the first time.
  • The default interface design is rather bland, but it is possible to change the theme.
  • Once in awhile I struggle with their API to execute certain tasks correctly.   I have to keep switching between non-UI threads and UI threads.
  • It is required to learn Eclipse RCP first before looking at RAP, which takes some time.

I’m currently using Vaadin for this new project.  Vaadin is similar to Eclipse RAP in that you code your web application like a Java GUI.  Vaadin’s data table supports resizing, sorting, and column reordering, which is a must have for this project.  Vaadin has a slick theme, is really fast, and easy to learn because they have great documentation.  They have a demo site available here.

4 thoughts on “Server Based Web Frameworks

  1. Pingback: Tweets that mention New Blog Post: Server Based Web Frameworks #extol #EBI #eclipse #vaadin #javascript --

  2. Elias Volanakis

    Nice to hear you like the new theme. A better and more customizable look was heavily requested and I think our 1.3 release in June will be a huge step forward compared with last year’s release.

    Have fun with RAP,

Leave a Reply

Your email address will not be published. Required fields are marked *