In this blog post we will learn to configure Progress Rollbase on JBOSS EAP. Rollbase is a low-code platform that helps create all sorts of applications at an unprecedented speed and efficiency. Rollbase can run on JBOSS Domain and Standalone operative modes. This feature is only available on private cloud starting Rollbase v4.3.
Setting up JBOSS EAP
You can download JBOSS EAP by visiting the official download page. Before you start with the setup, please make sure you have looked at the required pre-requisites. For the sake of this blog, we will use JBOSS 6.3.0 EAP zip file. Unzip the file into your desired directory and let’s call it JBOSS_HOME.
Getting Rollbase Artefacts
As a first step, you must obtain the Rollbase artefacts:
This zip file contains all the necessary libraries for the platform to function. This file would also comprise a module.xml. We will discuss about the file little later in this blog.
This zip file contains all the necessary web archives which comprise the platform. There should 8 .war files – master, prod1, rest, router, search, storage, webapi and workflow. These are the applications we would be deploying on JBOSS EAP.
This zip file contains all the necessary configuration and resource files for the platform to function.
Configuring Rollbase libraries as a static Module in JBOSS EAP
Starting JBOSS EAP 6.0 the class loading approach has been significantly modified. It now uses a new modular class loading system for controlling the paths of deployed applications.
In order to use the Rollbase libraries, we will now see how to configure a static module in JBOSS EAP.
- Create a directory structure “rb/lib/main” under “JBOSS_HOME/modules”. Let’s call “JBOSS_HOME/modules/rb/lib/main” as ROLLBASE_LIBS.
- Unzip the contents of lib.zip artefact into ROLLBASE_LIBS folder. Make a note of the module.xml that is now available in this folder among other .jar files.
In case of standalone mode, go to
edit standalone.xml and look for “<subsystem xmlns=”urn:jboss:domain:ee:1.2″>”Add the static module reference i.e.XHTML123<global-modules><module name="rb.lib" slot="main"/></global-modules>
In case of domain mode, go to
- edit domain.xml and look for “<subsystem xmlns=”urn:jboss:domain:ee:1.2″>”
- add the static module (mentioned above).Please note that there will be multiple occurrences of the subsystem tag and this text should be added to all. Finally, your subsystem configuration should look like this:
XHTML12345678<subsystem xmlns="urn:jboss:domain:ee:1.2"><global-modules><module name="rb.lib" slot="main"/></global-modules><spec-descriptor-property-replacement>false</spec-descriptor-property-replacement><jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement><annotation-property-replacement>false</annotation-property-replacement></subsystem>
With these three simple steps we have configured all the required Rollbase libraries as a static module in JBOSS. These libraries can now be used by the deployed applications.
Setting up Rollbase configuration files in JBOSS EAP
As a next step, let’s drop the platforms configuration files in their right location.
In case of standalone mode, go to “JBOSS_HOME/standalone” and unzip the rollbase.zip archive. In case of a domain mode, do the same for each of the servers i.e. “JBOSS_HOME/domain/servers/<server_name>”. In case the “servers” folder is not available, please run the “domain.bat” from “JBOSS_HOME/bin”.
You will have to set defaults for properties in these configurations. Please refer to Rollbase documentation on how to do this.
Adding libraries to the static module
JBOSS relies on the module.xml to load the required resources for the applications. There may be scenarios when you would need to add your own .jar resource as a dependency. We will look at how to do it in this section.
Let’s look at a use case where there is a need to add a mysql jdbc driver to the ROLLBASE_LIBS as dependency.
- Add mysql-connector.jar to the ROLLBASE_LIBS folder.
- Edit “ROLLBASE_LIBS/module.xml” and add an entry for this .jar as shown below:
Deploying Rollbase Applications on JBOSS EAP
Before proceeding with the deployment, please make sure a management user has been created in JBOSS EAP. This can be done by running the add-user.bat/sh from “JBOSS_HOME/bin”.
We are now all set to start the application deployment.
Now, run the appropriate .bat file to start the JBOSS application server,
- “JBOSS_HOME/bin/standalone.bat” for the Standalone operating mode (or)
- “JBOSS_HOME/bin/domain.bat” for the Domain operative mode.
Once the JBOSS application server has started, go to management console (usually <hostname>:9990). When prompted for credentials, enter the management user credentials.
On successful login,
- go to Runtime tab and
- click on “Manage Deployments”
to start adding the wars. After the wars are uploaded, deploy them using “Assign” in domain mode & “En/Disable” in standalone mode.
Once the wars are deployed successfully, you are all set to start using Rollbase. Type in the following url in the browser and voila.
By now, we have learnt how to deploy Rollbase on JBOSS EAP. The setup has been carefully designed to be a fairly simple process. The same approach can be followed to setup Rollbase on Wildfly. Also known as JBOSS AS, it is a community version of JBOSS. Please note that this is not yet officially supported by Rollbase.