Following PDC09 last fall, we announced support for running Java and Tomcat in Windows Azure, but this doesn’t mean Tomcat is the only Java application container supported in Windows Azure In fact, the approach basically consists of creating a Java Runtime (JRE) and any Java package that can be instantiated via the command line (instead of needing to install into the OS) This Java application can then be packaged into a Worker Role application, and then deployed into Windows Azure
If you’re looking for an alternative deployment approach, you should consider using Jetty As Microsoft Architect David Chou explains in his recent blog post Run Java with Jetty in Windows Azure, Jetty is a Java-based, open source Web Server which provides an HTTP server and Servlet container capable of serving static and dynamic content either from a standalone or embedded instantiations Jetty is used by many popular projects, including the Apache Geronimo JavaEE compliant application server, BEA WebLogic Event Server, Google App Engine and Web Toolkit plug-in for Eclipse, Google Android, RedHat JBoss and others
The Jetty project provides:
- Asynchronous HTTP Server
- Standard based Servlet Container
- Web Sockets server
- Asynchronous HTTP Client
- OSGi, JNDI, JMX, JASPI, AJP support
To further explain exactly how to get started, as well as the differences between using Jetty and other tools for developing applications for Windows Azure, be sure to read David’s post You can also check out the following resources to help you get started or answer any questions
- Windows Azure Tomcat Solution Accelerator
- Interoperability Bridges and Labs Center’s Windows Azure SDK for Java
- Steve Marx PDC 2009 Session, Building Java Applications with Windows Aure
- John Gillmor’s blog post, Domino’s Demonstrates Tomcat Site on Windows Azure