In some cases it's too much. Java Web Start is a good example of how one of the RIA concerns, mainly deployment, has worked its way into Java in a nice way. It provides, Web-style, simple, low-cost deployment for full-fledged applications. But J2SE is a big thing; it's a large set of technologies and as it is today, it doesn't offer the simplified development model that a lot of RIA developers are looking for to create these sorts of things. And it also doesn't offer the footprint-friendly, or network-friendly container model for the kind of runtime we expect RIAs to be hosted within. So I think within the Java world, some J2ME profile might actually be a little bit more appropriate or more in line at least with what I'm thinking of as an RIA client runtime in that it's a little bit friendlier to footprint, particularly if it could do something like dynamic service downloading like a lot of server containers today can do. If you could dynamically download the services on a as-needed basis to dynamically piece together an application client container in the same way that some server application containers can piece together, then that might make a little bit more sense than downloading an entire virtual machine.