Thanks to Luis Sala, I was alerted tonight to one of the really big rumors working its way through the "cloud-o-sphere". Apparently, it was officially stated that Google AppEngine will be supporting Java, and (via Rhino) JavaScript at a recent Google event in India, with an official launch coming as soon as this week (that last part is pure rumor, however). I haven't seen any hints of an announcement party as of yet, but it seems the Google staff are already talking about it, and feeding the rumor mill.
This is big for many, many reasons, not the least of which is the challenge that Google must face in supporting a language that is so challenged at running in a modular fashion. I will be extremely curious to see if the announcement includes OSGi (or, god help us, JSR-277) as a way to mitigate the difficulties in "mashing up" different applications, services and libraries in the same VM. Alternatively, like the Python implementation of AppEngine, it could just be that a restrictive set of Google libraries will be required, which in turn dictate which versions of core common libraries are used in any given application. The former would allow for a wider variety of applications, but the latter is far more likely, in my opinion.
Will any old Java-compatible library not considered "common" be importable, I wonder? How will they achieve the same balance of control and flexibility they achieved with Python? Somehow, I don't find myself concerned that the end product will have any serious bugs, just that there will be hidden restrictions that most Java developers will find annoying at first.
At the very least, I think we can anticipate that the Java architecture on AppEngine will closely align with the Python architecture, meaning all data access will be BigTable, etc. So the same pros and cons will apply to AppEngine whether you use Java, JavaScript or Python. Which still leaves an amazingly large market for Google to grab in the PaaS space.
Hey, Google, if you do have a launch party, I would certainly love an invitation...