Posts Tagged 'Java Cloud Computing'

Heroku For Java

Java developers have had a number of options for deploying applications to the Cloud, including Amazon’s Elastic Beanstalk and the Google App engine amongst others. Recently, Heroku has released a service that enables Java to be run on their Cloud platform.

Heroku was originally a Ruby on Rails Platform as a Service (PaaS) which was acquired by around a year ago. Since then, the platform has continued to develop at a rapid pace and Java is now the fourth language officially supported on Heroku. One of the interesting and unique features of Heroku is its approach to deployment tools. The toolset programmers use is typically highly dependent on the programming language used. Ruby developers use say Capistrano for deployment, Python developers may use Fabric. Java Web applications are packaged as war files to be deployed to an application server. Heroku, with the launch of the Celadon Cedar stack, claim to have developed the polygot toolset bringing normalization and unification across languages Ruby, Node.js, Clojure and now Java.

There is a sublety and elegance in what Heroku have achieved and continue to develop, in that a uniform development and deployment process as well as application monitoring process means that selecting the best programming language for a particular task does not require a change in the complete toolset. The benefits of the platform extend to not only the recognised ones of reduced administration, scalability etc but also now the flexibility in programming language choice that a consistency in tools across a wide variety of programming languages provides.

Chris Czarnecki

Developing Java Applications for Google App Engine

For anybody building and deploying Java Web applications, whether internal business applications or public facing applications for general usage, hosting the application is a primary consideration. Google App Engine (GAE) provides a hosting environment that is potentially suitable for both types of applications. Before choosing GAE as the deployment environment a number of decisions, both technical and commercial must be made.

From a technical view, key questions include are what version of Java Standard Edition (JSE) is supported?, is all of enterprise Java supported (JEE)?, are there any special configuration files required ? and many others too. Business considerations include what is cost of the service, what is the support available, the reliability, vendor lock-in etc.

GAE runtime environment uses Java 6 so supports developing applications using Java 5 or 6. The runtime environment has some restrictions which enable it to provide scaling and reliability. A GAE application must not :

  • Write to the filesystem- Google provides a datastore as an alternative
  • Open a socket – Google provides a URLFetch service as an alternative
  • Spawn a new thread

In addition to these high level restrictions then Google publish a white list of the available Java classes from Java SE that can be used. From enterprise Java GAE supports the full Servlet and JSP API’s enabling developers to write applications using Frameworks built on these technologies, such as Spring MVC, Struts etc.

Whilst initially appearing somewhat restrictive, GAE does provide a large number of features and facilities for developers to not only host but also build scalable Java Web applications. I will detail these in further posts. Understanding the limitations/restrictions of Cloud Computing providers is vital when considering their adoption as well as the definite benefits they can bring. If you would like to know more about GAE and other Cloud Computing providers such as Amazon EC2 and Azure, why not consider attending the Learning Tree Cloud Computing Course.


Learning Tree Logo

Cloud Computing Training

Learning Tree offers over 210 IT training and Management courses, including Cloud Computing training.

Enter your e-mail address to follow this blog and receive notifications of new posts by e-mail.

Join 53 other followers

Follow Learning Tree on Twitter


Do you need a customized Cloud training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Live, online training
.NET Blog

%d bloggers like this: