13. November 2011 um 17:24 Uhr
(
Die letzten drei Tage hatte ich eine Schulung über ~ Windows Azure ~, der Cloud von Microsoft.

Leider war die Schulung für .NET-Entwickler, so dass wir Java-Entwickler selber testen, ausprobieren und fluchen mussten, um uns ein lauffähiges Java-Projekt zu erstellen. Es gibt zwar einige Tutorials im Internet, aber keines davon lief bei mir. Und da ich ganze 1 1/2 Tage brauchte, um das Ding endlich zum Laufen zu bekommen, möchte ich Anderen, die sich damit rumärgern müssen, ein funktionsfähiges Projekt zur Verfügung stellen.
Das Ganze besteht aus zwei Projekten für Eclipse: einem normalen Java-Projekt mit einer ganz einfachen Hello World-JSP-Datei und zwei Servlets (eines für den Service Bus und eines mit einer Abfrage auf die SQL Azure-Datenbank) und einem Windows Azure-Projekt, dem das Java-Projekt als war-Datei hinzugefügt wurde.
~ Download Java-Projekt ~ Download Windows Azure-Projekt ~
Für das Java-Projekt werden folgende Jar-Dateien benötigt:
Damit die jar-Dateien mit in die war-Datei exportiert werden, diese einfach unter Deployment Assembly hinzufügen.

Das Java-Projekt basiert auf Tomcat. Da Java in Windows Azure nicht von Haus aus unterstütz wird, müssen sowohl die Java Runtime, als auch der Tomcat Server dem Azure-Projekt hinzugefügt werden.
Ladet euch die ~ Java Runtime 6 ~ und den ~ Apache Tomcat 7 ~ herunter. Erstellt euch jeweils eine zip-Datei (mit dem Namen „jre6.zip“ bzw. „tomcat7.zip“) in dem je der Ordner („jre6“ bzw. „tomcat7“) enthalten ist, in dem die Sourcen liegen, damit beim automatischen Auspacken in der Cloud die Dateien an der richtigen Stelle liegen. Natürlich könnt ihr die Dateien und Ordner auch anders benennen. Dazu müsst ihr einfach in der startup.cmd (unter „WorkerRole1/approot/util/startup.cmd“ im Azure-Projekt) die Namen entsprechend anpassen.
Diese Datei wird beim Starten eurer Applikation in der Cloud ausgeführt. In meinem Projekt wird hier die JRE und der Tomcat entpackt, die war-Datei in den entsprechenden Ordner im Tomcat kopiert, ein paar Variablen für den Tomcat gesetzt und dieser gestartet. Die war-Datei muss aus dem Java-Projekt exportiert und als „DynamicWebProject.war“ unter „WorkerRole1/approot/“ im Azure-Projekt abgelegt werden.
Viel Spaß beim Ausprobieren. Fragen einfach in die Kommentare schreiben. Ich hoffe, ich kann weiterhelfen. Leider habe ich kein laufendes Windows 7, so dass ich derzeit nichts nachtesten kann.
Zum Schluss noch ein paar hilfreiche Links:
Azure & Java:
http://java.interoperabilitybridges.com/cloud
Gute Tutorials:
1. http://java.interoperabilitybridges.com/articles/deploying-a-java-application-to-windows-azure-with-command-line-ant
2. https://msdn.microsoft.com/library/azure/hh694271.aspx#h2Section14
3. http://jdotnetservices.sourceforge.net/Content/Download.html
Windows Azure Storage SDK for Java 2.0.2:
http://marketplace.eclipse.org/node/1049
Windows Azure Eclipse Plugin:
http://java.interoperabilitybridges.com/articles/windows-azure-plugin-for-eclipse-with-java
Windows Azure Storage Explorer for Eclipse:
http://blogs.msdn.com/b/brian_swan/archive/2011/01/11/using-the-windows-azure-storage-explorer-in-eclipse.aspx
JAzure (Java API for Azure Storage Service):
http://jazure.codeplex.com
Tutorial für JAzure:
http://jazure.codeplex.com/wikipage?title=Tutorial