PaaS and Java EE has a kind of love hate relationship – the easy way to deploy PaaS for various Cloud Solution is using Java EE applications over IaaS. We gone through a detailed article on Platform as a Service (PaaS) as well as a guide for Installing WordPress on Red Hat OpenShift. Red Hat’s Open Shift, which was developed following the acquisition of Makara company in late 2010, and it was absolutely one of the first PaaS focused on Java Enterprise Edition. Love for PaaS and Java EE for the companies is for a reason – easy to deploy and manage. Hate is due to a big factor – basically all PaaS with Java EE looks or at least offers kind of same usage, making the competition non-unique, recall our guide on App Fog.
PaaS and Java EE : Introduction
Among the services this PaaS and Java EE model is Red Hat’s Open Shift and as said above it was one of the first PaaS focused on Java EE. Together with OpenShift, there various companies who has joined this PaaS and Java EE match, including the bigger players like IBM, Oracle, VMware, Google and Amazon and now the offer is becoming more competitive and non-unique. At the same time the open nature of Java EE led to several specific implementations of application servers. If you use one of these you will have to pay attention to issues of PaaS and vendor Lock-In, partially described in our article and especially this is related to the Google platform as the IaaS providers are not Rackspace or HP, but Google’s own platform.
PaaS and Java EE : An Overview of Different Cloud Solutions
However, it is basically not an destructive criticism on the topic of PaaS and Java EE. But a kind of showcase of Cloud Karma.
Oracle Java Cloud Service (PaaS)
One of the major Java EE PaaS offerings currently given on the enterprise market, it supports most of the standard Java EE such as JSP, JSF, Servlets, EJB, and HPA. The platform documentation suggests that the server infrastructure is built based on the standard Weblogic 11g.
IBM Java EE PaaS
Offered as part of IBM SmartCloud Application Services, the building block of the application environment of the PaaS platform is built on the foundation of the WebSphere platform. A very similar approach has been adopted for the Private Cloud PaaS platform from IBM called “Pure Application System”. IBM SmartCloud Application Services works to exploit the IBM SmartCloud Foundation, IBM Workload Deployer such as IBM Rational Lifecycle Management Collaboration Bundle as a starting point, and virtual images pre-configured from WebSphere to offer services platform hosted off premise.
Red Hat OpenShift PaaS
OpenShift allows you to create, deploy and manage applications in the cloud, providing disk space, CPU, memory, network connectivity and an Apache or Jboss server. OpenShift supports applications in Java EE 6, Ruby, Node.JS, PHP, Perl and Python has support for distributed middleware components such as Jboss, MongoDB, MySQL, PostgreSQL, and development tools such as Maven, Jenkins and Eclipse. Now WordPress, Joomla! has been added too.
VMware Cloud Foundry
Cloud Foundry supports the following application development framework: Spring, Ruby on Rails, Ruby and Sinatra, Node.js. This application is designed specifically for an application server, but it can be very good for a new development if the application uses the existing Java EE features such as EJB, JPA.
Google App Engine for Java
With App Engine, you can build web applications using standard Java technologies and run Google’s scalable infrastructure. The Java environment provides a Java 6 JVM, a Java Servlets, and support for standard interfaces to the App Engine datastore and its services, such as JDO, JPA, JavaMail and Jcache. App Engine uses the standard Java Servlet web application. This means that you can provide your servlet classes, Java Server Page, static files and data files, along with the web.xml file, which is the deployment descriptor and other configuration files in a directory structure WAR. App Engine serves requests by invoking the servlet according to the web.xml file. However the major issue is, you need to modify the code to run on other normal PaaS or just a server.
Amazon Web Services Elastic Beanstalk
Elastic Beanstalk provides support for. NET, PHP, Python and Java of course. To deploy Java applications using AWS Elastic Beanstalk you can create your own applications with any IDE or text editor, enter the code to be deployed in a standard WAR file, upload your WAR files to Elastic Beanstalk using the AWS Management Console, the AWS Toolkit for Eclipse, web service APIs or the command line interface and then deploy your application. Elastic Beanstalk will take care of managing the supply with a load balancer and the distribution of the WAR file to one or more Amazon EC2 instances running the Apache Tomcat application server. However, Amazon needs a credit card verified account.