Spring Roo Interview
Interview: What's New in Spring Roo 1.1.1?
Spring Roo version 1.1.1 introduced a host of updates: enhanced support for VMforce, GWT and JSON REST controllers, and an upgraded version of Data Nucleus. JAXenter spoke to the project lead Ben Alex, to find out more about these updates....
JAXenter: What advancements has Roo made, in the area of cloud persistence?
Ben Alex: Spring Roo 1.1.1 has extended our support for Google App Engine's DataStore API as well as VMforce. Both of these cloud database solutions use Data Nucleus, so we've increased Roo's support for newer versions of Data Nucleus, as well as each cloud persistence technology API. For Google App Engine we've also introduced transparent persistence for associated objects. This means Roo's ITDs automatically manage the storage and retrieval of the correct identifiers, performing lookups automatically as accessors are called. This makes it simpler to write applications that persist to Google App Engine DataStore.
JAXenter: What new features have been added, for Spring MVC app developers using Spring Roo?
Ben Alex: Several enhancements have been made to Spring MVC support in Spring Roo 1.1.1. One of these was the introduction of an application-wide ConversionService. This represents an improvement over the previous release in which every Controller had their own Converter. We also extended the REST support available for JSON payloads. From Roo 1.1.1 there is full and automatic support for JSON-based PUT, PUT (COLLECTION), DELETE and GET operations. We also updated our Spring Security support to the latest release, and made a number of smaller enhancements.
JAXenter: How does Roo 1.1.1 attempt to indicate which Spring Roo extensions are worth using?
Ben Alex: Spring Roo 1.1.1 helps users determine add-ons they may like to install in a number of ways. The first is the new "add-on search" command, which can perform flexible searches of all publicly available add-ons. Roo also makes automatic suggestions about add-ons a user may be interested in based on commands they're typing, and also drivers they might require (e.g. if they query a database, Roo will suggest the add-on which offers the relevant JDBC driver). Roo's search results also indicate whether an add-on is compatible with the current version of Roo, is written by a developer the user has indicated they trust, and the popularity of the add-on within the overall Roo community.
JAXenter: What is the 'Spring User Agent Analysis,' included in this release?
Ben Alex: Spring UAA allows us to collect anonymous usage information if the user has consented. For example, UAA collects information about the usage of public Roo add-ons. This allows us to offer higher quality add-on search results, highlighting those which are most popular in the Roo community.
We also use this information to help guide our roadmap, allowing us to prioritize the features most valued by the community and optimize the compatibility of technologies frequently used together. Of course privacy is very important and UAA is disabled by default. It will not collect any information without first obtaining permission and any data it collects is anonymous.
JAXenter: What are the next steps for Spring Roo?
Ben Alex: There will be several more Spring Roo 1.1.x series releases over the coming months. While we doubled performance in Roo 1.1.1, there's still some scope for further improvement for very large projects (such as those with many hundreds of entities). We'll also be addressing some smaller improvements, such as enhancements to the Google Web Toolkit (GWT) add-on. Roo 1.2 won't be far behind and will include some major new features sought by the Roo community, including multi-project Maven support, a Java Server Faces (JSF) add-on, and support for user-defined DAO and Services Layers.