Today Red Hat announced the alpha release of Red Hat OpenShift Application Runtimes (RHOAR). This is the first of many articles on the subject that will be published on the JBoss Middleware blog.

So what is RHOAR?

RHOAR provides application developers with a variety of application runtimes running on the OpenShift Container Platform. Specifically, the following application runtimes will be included in RHOAR:

  • Red Hat JBoss Enterprise Application Platform (EAP) - existing Java EE / Spring apps.
  • WildFly Swarm running MicroProfile - Java EE centric MSA
  • Spring Boot / Cloud - Spring centric MSA
  • Vert.x - greenfield reactive Java
  • Node.js - greenfield reactive JavaScript

Before I dive into the runtimes RHOAR includes, it is important to note that all of the runtimes will be supported (when RHOAR is released as a subscription) on the Red Hat OpenShift Container Platform (OCP). This is important as developers need to know that regardless of what runtime, or combination of runtimes, they will be supported, running on an industry leading cloud environment. A cloud environment available for public, private, or hybrid use. Further, Red Hat intends to offer a way to quickly get started developing with each runtime through a browser accessed utility to create runtime projects, a git repository for source code control, linking that repository to a CI/CD pipeline running OCP, and more!

Why did Red Hat feel the need to create RHOAR?

Put simply, the Java application development community demands more than a Java EE application development platform. Prior to RHOAR, Red Hat provided JBoss EAP as a slim, fast, cloud ready, Java EE platform for Java application development. Many Red Hat subscribers rely on JBoss EAP for new and existing production ready applications. However, our subscribers are always asking for more innovation. Red Hat has participated in, and nurtured multiple communities that help answer the call for application innovation.

WildFly Swarm is one such community project that offers an innovative approach to packaging and running Java EE applications by packaging them with just enough of the server runtime to "java -jar" an application. Both slim packaging via Swarm, and smart module loading in JBoss EAP result in small, fast, cloud ready runtimes that have access features included in the Java EE specification.

With the growing popularity of microservices, some Java application projects have found themselves in need of only a small subset of the total Java EE specification capabilities. Both JBoss EAP and WildFly Swarm offer platforms to create and deploy microservices. However, there lingered in the Java development community a sense of need for something more formal and transportable for microservices across Java platforms. This need was the catalyst for MicroProfile.

MicroProfile is a baseline platform definition that optimizes Enterprise Java for a microservices architecture and delivers application portability across multiple MicroProfile runtimes. Initial functionality is based on is JAX-RS, CDI, and JSON-P. But perhaps most exciting is that the Java  community is taking an active role in the MicroProfile definition and roadmap. In fact Red Hat is actively working with companies like IBM, Tomtribe, Payara, HazelCast, Fujitsu, and others on the Microprofile project. RHOAR will support MicroProfile based microservices running on WildFly Swarm.

What about non-Java EE frameworks?

What about SpringBoot in particular? I am glad to be able to write that Red Hat is going to be offering in RHOAR a  mix of certification and support of technologies related to SpringBoot. Yes, you read that right... The reality is that while we can, and should, debate the merit of different Java frameworks, developers are using SpringBoot to create applications. Red Hat will now offer those developers support & certification to use SpringBoot in conjunction with select technologies and products.

Speaking of Java frameworks, what about reactive programming? RHOAR has developer's covered there as well with support for the Vert.x project. Vert.x is an Eclipse project that provides a tool-kit for building reactive applications running on the Java virtual machine. It is event driven and non blocking. That means applications created with it can handle a lot of concurrency using a small number of kernel threads capable of scaling up with minimal hardware. Did I mention it is polyglot? You can use Vert.x with multiple languages including Java, JavaScript, Groovy, Ruby, Ceylon, Scala and Kotlin. Vert.x doesn't preach about what language is best — you choose the languages you want based on the task at hand and the skill-set of your team.

Last, but certainly not least, is RHOAR support for node.js. For those who may not be familiar, node.js is an open-source, cross-platform JavaScript runtime environment for executing JavaScript code server-side. JavaScript exploded in popularity for browser side scripting, and it was natural for it to eventually expand to the server side as well. Will support for node.js in RHOAR stop the debates on using Java or JavaScript for server side processing? No. But Red Hat will be there to support you regardless of your choice.

As you can tell, RHOAR is something completely new and different from Red Hat. A collection of different application runtimes ready to run on the OpenShift Container Platform instead of a single product runtime such as JBoss EAP or Red Hat Fuse. Additional blog articles will appear in the future digging into the details of Red Hat OpenShift Application Runtimes. Are you excited by the announcement? Lets us know via comment and tweets. We want to hear you #RHOAR!