Jseamless (www.jseamless.org) is a user interface abstraction layer for java, quite similar to what AWT or swing but not bound to any specific framework. Jseamless allows developers to create web applications, entirely in java, without requiring HTML, CSS or Javascript knowledge. Further, application can be deployed onto multiple platforms such as OpenGL, Flash (Flex), HTML, Swing or J2ME (Mobile Devices). Idea isn’t new - Openlaszlo (www.openlaszlo.org), Echo2 (www.nextapp.com) have gone there before.

Matthew Hicks (www.matthicks.com) is the lead developer for jseamless and is extreamly responsive in the support forum. I started exploring jseamless recently for a project, with the idea that if all work is done on the java end, end product might be better and well knit, compared to now where:

  • Data model is represented by POJO’s
  • Data is extracted by DAO’s (JPA + Hibernate as Persistence Provider)
  • Business / service layer binds everything together, does validation, applies business logic, processes business events
  • DWR (www.getahead.org/dwr) exposes business data and service methods to web as javascript
  • Ext JS library (www.extjs.com) is used to create the UI
  • Ext JS components such as a Grid use objects of type Ext.data.Record which is a representation of POJO
  • Ext JS uses a concept of store, which is a in-memory cache of records

It works great, however:

  • UI with 1 main dialog box, 3 sub dialog boxes, 1 main form, 3 sub forms, 5 data grids (No data in any component, yet); It seems to peak cpu usage of my workstation to 100% for about 30 - 45secs at launch. It also takes up quite a bit of memory.
  • Translating POJO’s to javascript objects (Ext.data.Record) and back to POJO to finally invoke service calls using DWR is necessary.

To be continued…