Spring Roo 1.1.0.M2 Released

Engineering
Ben Alex
July 16, 2010

I’m pleased to announce we’ve just released Spring Roo 1.1.0.M2 (download here). We’ve also concurrently released SpringSource Tool Suite 2.3.3.M2, which offers the latest integration with this new Spring Roo release. For production use we recommend you continue to use Spring Roo 1.0.2, although we know a very large number of people are happily using the Roo 1.1.0 development releases as well.
What’s New?

So, what’s included in the new Spring Roo 1.1.0 Milestone 2? Well, there’s 140 fixes, improvements and enhancements since Milestone 1. Some of the highlights include:

Performance has improved by a factor of three since Milestone 1
Upgrades to Spring Framework 3.0.3, GWT 2.1.0.M2, AspectJ 1.6.10.M1, OpenJPA 2.0.0, Log4J 1.2.16 etc
Better GWT support, such as eliminating the GWT 2.1 "bikeshed" JAR
Greatly improved Windows startup scripts
Improved shell usability, such as case insensitive option matching
A new "web mvc view" command to simplify creation of MVC views
Support for user-definable web locales via the "web mvc install language" command
Extra data on demand capabilities
Google App Engine integration test support
Commands to help you easily create simple, advanced and internationalization add-ons
Numerous add-on infrastructure improvements (see below)

More Add-On Discovery and Management Features

Spring Roo 1.1.0.M2 also features a large number of enhancements in preparation for the all-important add-on discovery and management features. The Roo team is highly committed to helping build a vibrant add-on ecosystem for Roo, which will benefit the many users who’d like functionality not included in the core Roo distribution.

As part of this work, Roo now automatically downloads an OBR index from our new repository, http://spring-roo-repository.springsource.org/repository.xml. As a Roo user you’re unlikely to see much of the OBR infrastructure (as it just works!), but it’s good to know that OBR provides Roo with an OSGi-standardised way to discover available add-ons, resolve their dependencies, download them to your Roo environment and automatically start them up. This means Roo users benefit from an industrial-strength, OSGi-standardised way to manage add-ons and we won’t hit a barrier as increasingly complex add-ons are made available to the Roo community.

Roo has also extended the OBR capabilities by integrating OBR metadata directly into shell command resolution. This means if you type a command that is part of a presently uninstalled add-on, Roo will automatically suggest to you which add-on(s) can provide that command! I’m happy to acknowledge this particular feature was inspired by my use of Ubuntu, as it’s tremendously useful to just type any random command and have the system inform you the one-line installation command you need to type to have that command installed.

While this new OBR support and shell command discovery is certainly very nice, we also wanted to ensure we could offer convenient add-on hosting for the Roo community. But to do this properly means we needed to carefully consider security implications.

We tackled add-on security by adding extensive PGP key management features to Roo 1.1.0.M2. These allow you to indicate exactly which developers you trust to sign software that Roo will download to your computer. Roo itself is now also PGP signed in every release. To support these capabilities we’ve introduced a new protocol handler called httppgp:// into Roo. This tells Roo a given HTTP URL also has a PGP armour detached signature available.

By requiring PGP signatures for all add-ons, we’re able to conveniently and safely host all Roo add-ons for the community. It’s up to you to decide if you trust a given PGP key, and without trusting that key, Roo will refuse to even spend time downloading the httppgp:// resource. We also implemented this architecture so we didn’t need to change Apache Felix’s OBR infrastructure nor force everyone to use our central add-on hosting feature. This means we benefit from future improvements to OBR in newer Felix releases, plus it’s perfectly fine for you to use httppgp:// URLs in your own OBR repository.xml files. Roo’s approach also means you can also use standalone PGP tools like GnuPG to perform signature-related operations to independently verify Roo’s correct operation. As you can tell, I’m very happy about the new PGP OBR infrastructure (but I guess my geeky Acegi Security/Spring Security past is shining through there!).

I’ll talk more about how this new infrastructure works when we announce Milestone 3, as that will incorporate the full add-on end user interface. Plus we’ll also be introducing our new backend tool that helps automate add-on publication to the central repository (called RooBot). If you can’t wait for the new end user interface, try the “pgp list trusted keys” command to see which keys Roo trusts by default. Also try typing “welcome property” at the Roo prompt to see how Roo advises the currently-uninstalled add-ons which provide the “welcome property” command. If you really want to see the httppgp:// infrastructure in operation, try untrusting my PGP key (pgp untrust –keyId 00B5050F) and then try installing the welcome add-on (osgi obr start –bundleSymbolicName org.springframework.samples.roo.welcome).
1.1.0 Roadmap

Despite all the neat new features in Roo 1.1.0.M2, we’ve also been very busy preparing other features which didn’t make it into the Milestone 2 release.

One feature many people are keenly waiting for is incremental database reverse engineering. This feature request now has over 113 votes and the implementation already supports Java compilation unit lifecycle management, incremental field maintenance, composite primary keys and most relationship types (1:M, M:M, 1:1). We anticipate this feature will be included in Roo 1.1.0.M3, but if you want to live on the bleeding edge, you can experiment by building Roo from Git.

Some other interesting features we’ve been working on include an Op4J add-on, a very nice automatic Git add-on, and some web embedding commands. The Op4J add-on allows you to dramatically reduce the amount of code you need to write, without loosing the type safety, code assist and performance benefits of Java. The automatic Git add-on turns each Roo command you execute into an individual Git commit, which is fantastic for viewing what Roo is doing and being able to selectively rollback etc. The web embedding commands are very nice and allow you to incorporate resources like YouTube videos, SlideShare presentations, Google Maps, Flikr photos and similar media into your web views with just one Roo command (in all there are 15 different resource types currently supported, covering everything from photo sharing to finance updates and everything in between).

If you’re curious about our release dates, you can track them by visiting http://tinyurl.com/rooroadmap. Of course these dates are amended as our development progresses (and dependent projects similarly amended their dates), but they give you a good indication.
Other Community News

A few other interesting announcements for the Roo community:

There is now a dedicated Spring Roo podcast at http://roopodcast.com/, already with two audio interviews
Manning are publishing a Spring Roo in Action book, which is already available via the early access program (with the first chapter being free - there's even a limited-time 40% discount if you use code "ju1540")
SpringOne 2GX will be featuring a number of Spring Roo sessions, so if you're in North America (or even further away!) why not come along and hear about Roo directly from the people who wrote it
There will also be Roo coverage at other major conferences like JavaOne and Devoxx later this year
You can always hear the latest Roo news by following @SpringRoo and the engineering team (Ben, Alan, Stefan) on Twitter (if you Tweet about Roo, please include @SpringRoo in your tweets so people can search for them)

We hope you enjoy this new release! Please let us know what you think via @SpringRoo or the community forums.
comments powered by Disqus

translate:
翻译:

Suite 2.3.3.M2,它提供了与这个新的Spring Roo版本的最新集成。对于生产使用,我们建议您继续使用SpringRoo1.0.2,尽管我们知道很多人也很乐意使用Roo1.1.0开发版本。
有什么新消息?
那么,新的SpringRoo1.1.0里程碑2中包括了什么?嗯,自从里程碑1以来有140个修复、改进和增强。一些亮点包括:
自里程碑1以来,性能提高了三倍
升级到Spring Framework 3.0.3、GWT 2.1.0.M2、AspectJ 1.6.10.M1、OpenJPA 2.0.0、Log4J 1.2.16等
更好的GWT支持,例如消除GWT 2.1“bikeshed”JAR
大大改进了Windows启动脚本
改进了shell的可用性,例如不区分大小写的选项匹配
一个新的“web mvc视图”命令来简化mvc视图的创建
通过“web mvc安装语言”命令支持用户可定义的web区域设置
额外的按需数据功能
谷歌应用引擎集成测试支持
帮助您轻松创建简单、高级和国际化加载项的命令
许多附加基础设施改进(见下文)
更多附加的发现和管理功能
SpringRoo1.1.0.M2还提供了大量增强功能,为重要的附加发现和管理功能做准备。Roo团队高度致力于帮助为Roo构建一个充满活力的附加生态系统,这将使许多希望功能不包含在核心Roo发行版中的用户受益。
作为这项工作的一部分,Roo现在自动从我们的新存储库http://spring-Roo-repository.springsource.org/repository.xml下载OBR索引。作为一个Roo用户,您不太可能看到很多OBR基础设施(因为它只是工作!),但很高兴知道OBR为Roo提供了一种OSGi标准化的方法,以发现可用的附加组件、解决它们的依赖性、将它们下载到Roo环境并自动启动它们。这意味着Roo用户可以从一种行业优势、OSGi标准化的管理附加组件的方式中获益,而且随着越来越复杂的附加组件提供给Roo社区,我们不会遇到任何障碍。
Roo还通过将OBR元数据直接集成到shell命令解析中来扩展OBR功能。这意味着如果您键入的命令是当前卸载的加载项的一部分,Roo将自动向您建议哪些加载项可以提供该命令!我很高兴地承认,这个特别的功能是受我使用Ubuntu的启发而设计的,因为只要键入任意命令,系统就会通知您需要键入一行安装命令才能安装该命令,这是非常有用的。
虽然这个新的OBR支持和shell命令发现非常好,但我们也希望确保能够为Roo社区提供方便的附加托管。但要做到这一点,意味着我们需要仔细考虑安全问题。
我们通过在Roo 1.1.0.M2中添加大量PGP密钥管理功能来解决附加安全性问题。这些允许您准确地指出您信任哪些开发人员签署Roo将下载到您的计算机上的软件。Roo本身现在也是PGP在每个版本中签名的。为了支持这些功能,我们在Roo中引入了一个新的协议处理程序httppgp:。这告诉Roo一个给定的HTTP URL也有一个PGP装甲分离签名可用。

你可能感兴趣的:(springcloud,java)