Deploy Java desktop applications to the cloud

Cloud is one of the latest buzzwords to enter the vocabulary of marketing departments and paper architects. If you don’t have a strategy to move your applications to the cloud, you are going to be left in the dust. Or so they say.

But behind all the hype there is a real value in adopting the cloud. Using the platforms like Amazon EC2, Google AppEngine or Windows Azure allows you to focus on solving the business problems, not infrastructure problems. And with the latest pricing even the hardware pricing can be better than what you’d get in a home-grown data center.

But what about companies that built desktop Java applications? Can they leverage the cloud platforms? The answer is "not unless they rewrite their applications to be web based". Google AppEngine requires coding against it’s own set of APIs which makes it practically unfit for existing applications. Similarly Windows Azure is targeted for .Net applications. Amazon EC2 offers the most freedom because you get a virtual server, but even with EC2 your application has to be deployed as a WAR.

If you have a Java desktop application that does it’s job and is not easy to rewrite as a web application, you can still take advantage of the cloud. AjaxSwing is a web deployment platform that automatically converts Java Swing screens to HTML pages at runtime. No modifications are required to Swing applications – drop the jars into AjaxSwing, package it as a WAR and deploy it to Amazon EC2. The users will be able to point the browser to the cloud URL and see the user interface in the browser without even needing to have a JRE installed.

The same code base can run as a GUI desktop application and as browser-based web application so users have a choice. Developers well versed with Swing can continue building world-class Web 2.0 applications without tinkering with AJAX, JavaScript and CSS. AjaxSwing is the shortest path for Java desktop applications to the cloud and a must-see before considering any rewrites.

More About AjaxSwing

<< back to Solutions