Sunday, January 31, 2010

GWT and Modules

We've been using GWT for our Web application development at my company for about a year now.  Although GWT doesn't eliminate ALL of the struggles with HTML User Interfaces, it sure does help.  One of the things we are realizing in our development is modularity.  No matter what framework I've worked with over the years, that valuable reuse has evaded me.  Templates helped.  Frameworks helped.  But in the end, most of the UIs were specific to the applications.

With GWT, our team has started to realize some of the benefits of OO programming.  We have created some reusable components that are common to all of our applications.  Here are 3 GWT modules we have produced that aid in our new project setup:


  1. Login module - This is a module that creates a login dialog, interfaces to our AD implementation on the server, and will maintain the user in session for the applications.  It also contains a 'secure servlet' framework that will allow developers to easily specify the roles that can access services.
  2. Application Info module - This one may seem pretty trivial, but this is a big help with deployments and support.  This module displays some build information in the footer of our applications: Application name, application version, code repository version, build number, and build time stamp.  
  3. Logger - This module integrates to a logging/notification framework that will allow developers to get notices about critical failures, and to see all logging for all applications in a single interface.
The ability to drop in a few .jar files, configure a couple of servlets, and be given this rich set of functionality has improved the quality and speed of our application development.

Thanks again Google.