Microsoft has recently released a new version of the Windows Azure Plugin for Eclipse with Java. The Eclipse plugin is an open source project, released under the Apache 2.0 license, which provides Java developers with an easy way to build and deploy web applications to Windows Azure. The project is funded by Microsoft and developed by Persistent Systems. This is the third release of the plugin, labeled June 2011 CTP (Community Technology Preview). The earlier releases are labeled March 2011 CTP and April 2011 CTP.
The Windows Azure Plugin helps Eclipse users deploy Java applications to Windows Azure, Microsoft's cloud platform. It adds a set of wizards and dialogs to Eclipse, which guide Java developers through the creation and configuration of Windows Azure projects. Other key features include utility scripts for downloading or unzipping files, shortcuts to deploy the project in the Windows Azure Compute Emulator, and UI for configuring Windows Azure roles. New to the June 2011 CTP is UI allowing remote access to Azure configuration for debugging purposes, the ability to create self-signed certificates, and schema validation and auto-complete for *.cscfg (Azure Service Configuration) and *.csdef (Azure Service Definition) files.
The plugin is built on top of the Ant-based tool called the Windows Azure Starter Kit for Java. The Starter Kit is a simple command line build tool that helps Java developers package and deploy their applications to Windows Azure. It uses Apache Ant as part of the build process, and includes an Ant extension that understands Window Azure configuration options. Existing Starter Kit projects are backwards compatible with the Eclipse plugin.
To get started, launch Eclipse and navigate to Help -> Install New Software, and there type in the URL to the Windows Azure Eclipse update of http://webdownload.persistent.co.in/windowsazureplugin4ej/. Select "Windows Azure Plugin for Eclipse with Java" and complete the installation process. Once installed, the plugin adds a Windows Azure perspective to Eclipse, and lets you create a Windows Azure project from scratch. A good video walk-through can be found on the MSDN Channel 9 blog.
Besides better tooling support for Ant and Eclipse, Microsoft has also created a set of Java SDKs. In partnership with Soyatec, Microsoft has created the Windows Azure SDK for Java Developers. The Windows Azure SDK enables Java developers to take advantage of Windows Azure Storage (Blobs, Queues, Tables) and provides helper classes for HTTP transport, REST and Error Management. Microsoft has also created AppFabric SDK for Java, an open source project that gives Java developers' access to the Windows Azure AppFabric Service Bus and Access Control Service. Note that in terms of connecting to the SQL Azure Database, Java applications can connect directly using JDBC. No special SDK is required.
Windows Azure is a cloud platform that is being pushed by Microsoft as a platform for multiple languages, and not just for the .NET framework. As an open platform, it offers choices to developers, allowing them to use multiples languages (.NET, PHP, Ruby, Python or Java) and development tools (Visual Studio or Eclipse). Windows Azure allows native code applications, supports standard Internet protocols (HTTP, XML, SOAP and REST), and allows external endpoints to worker roles, which enable non IIS applications to receive internet traffic. More information on Java and Azure can be found on the Windows Azure and Java interoperability page. Some alternatives to Windows Azure for deploying Java applications to the cloud are Amazon Elastic Beanstalk, Amazon EC2, VMware vFabric and Google App Engine for Java.