Over a million developers have joined DZone.

Docker How To For JBoss Integration & BPM Projects

· Cloud Zone

Build fast, scale big with MongoDB Atlas, a hosted service for the leading NoSQL database on AWS. Try it now! Brought to you in partnership with MongoDB.

(This article was co-authored with Andrew Block, Senior MW Consultant in NA for Red Hat)

One of the fastest ways to get up to speed with JBoss Integration & BPM middleware is to check out the sample projects hosted on JBoss Demo Central.

There you can find example applications that can demonstrate the use of concepts such as business rules, business processes, integration and so much more.

These demo projects showcase an array of products ranging from JBoss Data Grid, JBoss Fuse, JBoss EAP, JBoss BRMS, JBoss BPM Suite and more.

In addition, each project can also be deployed in multiple ways and in different environments.

This amount of flexibility gives you a lot of choice in how you might want to explore the possibilities available to you with JBoss Integration & BPM solutions.

If we look at the JBoss BRMS & JBoss BPM Suite projects you have no less than three choices in how you can explore them:

  1. automated installation on your local environment
  2. 1-click deployment to the OpenShift xPaaS Cloud (bpmPaas)
  3. deployment to a Docker container

Docker background

While an automated installation to a local environment has been a constant in each of the example applications for some time, a recently implemented feature provided in most applications is the ability to build an entire demo environment into a Docker image and deploy to a Docker container.

This provides the developer the ability to tap into many of the benefits Docker provides such as rapid application deployment and portability across machines.

It is left to the reader to install Docker, but once it is installed and configured in your local environment, you are ready to build and run one of the projects from JBoss Demo Central in Docker.

A full walk through of these steps is featured in this video:

Quick guide

First, navigate to the JBoss Demo Central website and locate a project with a Docker installation option that you would like to try out.

After selecting the project, you are brought to the GitHub repository. Download and unzip or clone the repository to your to your local machine.

With the source code now available on your local machine, build the Docker image representing the demo environment. This environment typically includes a JBoss middleware product and an example application.

Each Docker image that is created utilizes a common parent image. This image contains many of the software development tools required such as Java, Git and Maven. Since they are created in Docker, the developer does not need to install and configure these tools on their machine.

Once the image has been built, a new container can be run from the newly created image initializing the demo project environment. The README file contained in each repository provides the next steps on how to complete the objectives of the demo along with additional information on preparing, building and running the application within Docker.

Creating a demo environment within Docker is quick and easy.

Be sure to check the JBoss Demo Central site frequently to experience the latest ways you can master JBoss Integration & BPM middleware.

Now it's easier than ever to get started with MongoDB, the database that allows startups and enterprises alike to rapidly build planet-scale apps. Introducing MongoDB Atlas, the official hosted service for the database on AWS. Try it now! Brought to you in partnership with MongoDB.


Published at DZone with permission of Eric D. Schabell, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}