Today Redhat (previous CloudAve coverage), the North Carolina based Open Source software company, announced that their PaaS platform, OpenShift (previous CloudAve coverage), will support Java Enterprise Edition (Java EE) 6. OpenShift is the first PaaS provider to offer support for Java EE 6 and it is powered by Redhat’s JBoss Application server. This is yet another act by a PaaS player as they move towards a future dominated by PaaS.
Why is Java EE 6 exciting?
One of the biggest criticism of Java EE is that it is bloatware. Even more so, “Java is complex” thinking is widespread among the developer community except those who are emotionally wedded to Java. The complexity faced by the developers is one of the big reasons why developers flocked to modern day languages like Ruby, Python, etc.. In short, the feeling among many in the developer community is that Java EE was over-engineered and it put off many next-gen developers. Even among the enterprise users, the bloat (Application Servers having unwanted enterprise capabilities) was a big problem from both the developer perspective as well as IT resource management perspective. Frameworks like Spring jumped in and solved the problem to a certain extent. In a way, Java EE 6 picks up from where Spring left off and tries to offer a more simplified framework for Java programming to meet the modern day needs. Java EE 6 not only adds significant new functionalities but also adds significant usability improvements.
Some of the interesting features of Java EE 6 are:
- The introduction of Profiles to eliminate the unwanted bloat. With this, one gets only the environment that is needed for the app and nothing else. The introduction of Web Profiles offers a lightweight Java EE platform for web applications. It is expected that this will stem the flow of developers towards modern web focussed programming languages
- Context and Dependency Injection (CDI) is a technology that marries the transaction heavy enterprise tier with presentation focussed web tier so that a web application can interact with the persistent data more effectively
- Annotations can be used to define web components. For example, @WebServlet can be used for servlets and so on.
- Significantly lower memory footprints making Java EE 6 to be used in multi-tenant environments
Check out this article for a more technical comparison between Java EE 5 and Java EE 6.
OpenShift and Java EE 6
Redhat has been deeply involved in the development of Java EE 6. They were the specification leads on CDI and Bean validation. They have also contributed significantly to other JSRs (Java Specification Requests). Clearly, they see the role of Jave EE 6 on both OpenShift and JBoss Enterprise Application Platform (due early next year) strategies. The support for EE 6 on OpenShift is the first shot at the competing Java PaaS players including CloudFoundry, Cumulogic, CloudBees, etc. as they are the first PaaS provider adding Java EE 6 support.
OpenShift Java EE 6 support is based on JBoss Application Server 7, an open source JBoss Community project. The combination of OpenShift with JBoss application server now allows Java EE to be more easily scaled, managed and monitored in the cloud. By delivering JBoss in OpenShift, developers can take advantage of Java EE 6, a standards based lightweight modern programming framework running on top of multiple clouds. JBoss Application Server 7 is integrated in both OpenShift Express and OpenShift Flex. However, Express edition will only support Web profile while the Flex edition (whenever it is released) will support full profile.
OpenShift is one of the versatile PaaS solutions in the market. It’s front end is supported on web browsers, mobile web, iOS and Android. OpenShift supports multiple programming language, at present supporting Java (most frameworks), Python, Perl, Ruby, PHP. On the backend, OpenShift supports MySQL, MongoDB, Memcached, Membase and libraries like Deltacloud, Simplecloud and jClouds.
How does OpenShift compare with CloudFoundry?
Coming from two of the bigger players in the open source, multi-language, multi-cloud platform services space (Microsoft and Google are other two big ones in PaaS space but they are a different breed of PaaS), OpenShift and CloudFoundry (previous CloudAve coverage) are competing head on with each other. It will be interesting to make a comparison between them. While I would love to keep a detailed comparison to some future research report, I will touch upon this briefly in this post.
Both OpenShift and Cloud Foundry offer:
- Multiple programming framework support
- Multiple Cloud Support
- Open Source
- Both hosted and on-premise support (OpenShift will offer this in the future)
- Both doesn’t offer a web based IDE
However, there are some differences between the two PaaS offerings. For a start, I will recommend you to watch the video where Derek Collison from VMware and David Blado from Redhat talk about their respective PaaS offerings.
Some of the differences that come to my mind are:
- CloudFoundry, at present, only supports Spring framework whereas OpenShift supports multiple Java frameworks
- CloudFoundry, at present, doesn’t have a management layer built-in whereas OpenShift, because of its Makara roots, offers an integrated management solution
- CloudFoundry offers MicroCloud which a developer can install on his/her Laptop and have the same experience as their hosted version but OpenShift offers only a hosted version which can only be accessed with internet connection
- Redhat offers a complete stack including OS but VMware doesn’t offer one. However, as we move into a PaaS world, OS shouldn’t matter except for certain organizations wanting to have control under the hood
Redhat’s support for Java EE 6 is interesting and there are widespread expectations that it will stop developers from moving to modern language frameworks. Only time will tell if developers will find Java EE “cool” and, especially, if it will stop enterprises at the door before they start looking at modern programming frameworks like Ruby. The PaaS space is definitely heating up and the next two years will define where the space is headed in the long term.
- Enterprise Java upgrade geared to PaaS clouds (infoworld.com)
- Free Stuff: Java PaaS with CumuLogic (rickvanover.wordpress.com)
- 3 PaaS lessons from CloudBees’ funding (gigaom.com)
- Cumulogic Announces New Java-Based PaaS Management Tool (readwriteweb.com)
- Spring Framework founder: Java needs cloud accommodations (infoworld.com)
- PaaS Consolidation: DotCloud Buys DuoStack (readwriteweb.com)