...and don't forget Nasa's Java SDK, World Wind, which is specifically designed for this type of data. One of the first projecs I worked on, in order to learn Java, was a simple project using world wind. It's a really fun tool.
Hey very cool! I work as a contractor within the NASA Earthdata team and I'm always finding interesting things like this as I learn more about the program. NASA is a great steward of what I think is some of the most important data we have about our planet. Much of it is publicly available, but not many people know about it.
http://worldwind.arc.nasa.gov/java/