World leading software companies are betting on the combination of Rich Internet Applications (RIA) for enhanced user interface capabilities and new dynamic languages that keep their products flexible and adaptable.
Navis LLC delivers mission-critical supply chain execution solutions ranging from marine terminal control software to in-yard management. Navis has based its new SPARCS N4 product line on Canoo’s UltraLightClient (ULC), a 100% pure Java solution for Rich Internet Applications. With this pure Java technology in place, Navis can leverage the power of the Java platform while using Groovy, the new dynamic language for Java, where additional flexibility is needed.
When creating multi-client container terminal software you not only have to care for rock-solid solutions in Java but you better also prepare for the numerous requirements that differ from client to client. One solution would be to maintain slightly different versions of your product for each client but this quickly leads to a maintenance nightmare. Instead, you include scripting capabilities into your product such that the client himself or the technical on-site consultant can apply the required adaption. Since any adaption has to express logic like special routing rules for containers, a simple configuration file is not enough. You need a smart configuration, which is a typical usage pattern for Groovy.
Groovy makes an ideal companion to all Java-based RIA solutions as it integrates seamlessly with Java while providing higher flexibility and expressiveness where needed.
Take for example the Grails project, which uses Groovy to achieve a developer experience comparable to the Ruby on Rails approach but runs as a 100% standard Java Enterprise application building on Spring, Hibernate, SiteMesh, and Quartz. Grails developers use Groovy code to include AJAX frameworks like Prototype or Dojo for user interface enrichment.
Not only is that Groovy code concise and expressive, it also hides the implementation details of the AJAX framework in use. Even if you change the AJAX framework in the middle of your project, your Groovy application code stays the same!
RIA and Groovy are both likely to be found in technology-leading, demanding, agile contexts where highest requirements for user interaction design have to be met. Where developers have to respond quickly to early user feedback the need elaborate means to enhance not only information presentation but also workflow and data selection. While the RIA technology helps with presentation enhancement, Groovy can keep workflows, business rules, and domain models easy to modify on the fly. This is where Groovy shines with supporting domain specific languages (DSLs), libraries like GroovyRules (JSR-94 compliant rule engine), and integration via reloadable Spring beans.
The RIA and Groovy couple is already there and humming. However, much more is to be expected for the future. Pure Java RIA solutions like Canoo’s UltraLightClient make perfect candidates for even closer integration. First prototypes show very promising results when integrating ULC in Grails or using Groovy’s builder support to specify ULC interfaces.
Combining RIA with Groovy makes perfect sense and the ULC and Groovy pair is the one-two punch for web development.