Spring Roo brings brings a whole new level of productivity to building Java applications. From the Spring Roo Reference Guide:

"Spring Roo is an easy-to-use productivity tool for rapidly building enterprise applications in the Java programming language. It allows you to build high-quality, high-performance, lock-in-free enterprise applications in just minutes. Best of all, Roo works alongside your existing Java knowledge, skills and experience. You probably won't need to learn anything new to use Roo, as there's no new language or runtime platform needed. You simply program in your normal Java way and Roo just works, sitting in the background taking care of the things you don't want to worry about."

>> How would you introduce yourself and your job to a non-technical person?

Every time I’ve tried explaining my job to my mother it hasn’t been a success. In the end what she did grasp was that I work with computers. In this answer I’ll try to be as clear as I possibly can in the hopes of a better result.

I was born as a developer, and from the tender age of 12 I began my first steps with Basic trying to create my own video games. Though they weren’t very popular, I continued to work in the fascinating programming world for development’s sake. This was until I met the Amiga 500 BBS and created an elementary terminal program to download new files from my favorite BBS.

In 1996 I began I got bitten by the Internet bug and it was love at first site.

My first approach to HTML development for the web occurred just as Flash Player (version 2) was coming out and becoming increasingly popular. I was fascinated straight away by the potential of creating more rich and effective sites and applications and got straight to work on getting to know more about ActionScript and Flash Player. My knowledge of Adobe’s (formerly Macromedia) technology grew when I became a Macromedia consultant for Italy in 2001, where I toured Italy between events and business meetings to promote the use of Flash, Flash Media Server and Flex.

After over ten years of experience in the field of application development with Flash/Flex/AIR/Flash Media Server, especially in the enterprise context (banking, financial and so on), I created my own company, Comtaste (www.comtaste.com/en), in which I am CTO. Now my role is to supervise Comtaste’s development team, find new clients and projects around the world, and deal with project management and cost estimation models.

I am a professional speaker, participating in major international conferences on Flash Platform, and an author of several books on Flash , Flex and AIR (Flex 4 Cookbook, AIR Cookbook , Professional Flash Catalyst , The Essential Guide to AIR with Flash CS4, Flex Solutions: Essential Techniques for Flex 3 developers).

Today, the actual developing part of the job takes up a marginal portion of my time, but I keep busy with the example applications for books that I write and talks I give during conferences, events and community meetings.

Technology isn’t my only passion. Sport has always been a big part of my life and, although most people don’t know and I tend to hide it, I’m a professional Latin American dancer and an advanced diver.

To unplug and relax from my quite stressful and frenetic job, I like to cook and taste fine wines.

If one day I wanted to change industry I have some shortcuts on standby: I’m a licensed chef in one of the most prestigious International Culinary Schools and a Sommelier with a diploma from the Italian Sommeliers Association, part of the W.S.A, ‘World Sommelier Association’.

This is the slides of the presentation I had at the Spring event titled :

Spring and Flex integration for developing Enterprise RIAs

SpringSource announced Spring BlazeDS Integration, a new open source project to provide tight integration between Spring and Adobe BlazeDS, Adobe’s open source server-based Java remoting and Web messaging technology.

This open source project will make it easy for Java and Spring developers to create enterprise-class rich Internet applications (RIAs) using Adobe Flex software, a cornerstone of the Adobe Flash Platform, and Spring, the de facto standard for enterprise Java.

In fact SpringSource and Adobe started a partnership with the goal of making easy the integration between Spring and BlazeDS. Child of this partnership is the Spring BlazeDS Integration project, which allows you to integrate BlazeDS with robust server-side Spring services.

In this 4-day bootcamp you learn how to use the Spring Framework to create well-designed, testable business applications in an agile manner.Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in a highly interactive, intensely hands-on setting. The Core Spring course not only focuses on explaining Spring features and how to use them, but also on fundamental architectural issues.

Only today I've discovered that Goolge added support to Java for its App Engine. This is a great news for the Java community. From the Google announcement:

This release includes an early look at our Java runtime, integration with Google Web Toolkit, and a Google Plugin for Eclipse, giving you an end-to-end Java solution for AJAX web applications. Our support for the Java language is still under development and we're eager to get your help and input.

Unfortunately at this stage there are several things you can't do using APP engine with Java. I found this interesting list on byteonic's blog:

1. Cannot write to the filesystem. Must use Data Store for persistence.

2. Cannot open a socket or access another host directly.

3. Cannot spawn a sub-process or thread.

4. Cannot make other kinds of system calls.

5. Cannot create a new java.lang.ThreadGroup nor a new java.lang.Thread. However, operations against the current thread, such as Thread.currentThread().dumpStack() is allowed.

6. The features of the java.lang.System class that do not apply to App Engine are disabled.

7. The System methods such as: exit(), gc(), runFinalization() and runFinalizersOnExit() do nothing.

8. Cannot directly invoke JNI code

9. Application is allowed full, unrestricted, reflective access to its own and JRE classes. However, An application cannot reflect against any other classes not belonging to itself, and it can not use the setAccessible() method to circumvent these restrictions