This is indeed a considerable investment.
See http://code.google.com/intl/nl/appengine/docs/java/overview.html for an overview.
The GAE (GoogleAppEngine) had been designed for massive scalability, so you can never rely on anything stored on one host.
Some things to consider:
- you need a GAE Eclipse plugin for development
- you cannot write to the filesystem
- cannot open sockets or access other hosts directly (have to use Google' s URLFetch service, which is limited to port 80/443)
- no access to system calls
- cannot create threads
- cannot use java.util.Timer
- you cannot determine the system's hostname
- there is a JRE Class white list : http://code.google.com/intl/nl/appengine/docs/java/jrewhitelist.html
- storing data should be done with JDO
- I don't know if there are any licensing issues (you have to include Google Code in the build)
- for logging, you have to use java.util.logging (Google implemented version probably)
I really like the concept....if you build from scratch, but porting JSPWiki is quite a challenge.
For example, not being able to write files is such a restriction, we might overcome it for just JSPWiki, but how about all the libraries we are using (log4j, lucene, priha) ?