Sophia Parafina

Videos series: Modernizing Java Apps for IT Pros

Today we start releasing a new video series in Docker’s Modernize Traditional Apps (MTA) program, aimed at IT Pros who manage, maintain and deploy Java apps. The video series shows you how to move a Java EE 7 application written to run on Wildfly 3, move it to a Docker container and deploy it to a scalable, highly-available environment in the cloud – without any changes to the app.

This is a 5 part video series in Docker’s Modernize Traditional Apps (MTA) program, aimed at Java IT Pros. The video series shows you how to move a Java EE app on JBoss Wildfly to a Docker container and deploy it to a scalable, highly-available environment in the cloud – without any changes to the app.

Modernizing Java Apps

Part 1 introduces the series, explaining what is meant by “traditional” apps and the problems they present. Traditional apps are built to run on a server, rather than on a modern application platform. They have common traits, like being complex to manage and difficult to deploy. A portfolio of traditional applications tends to under-utilize its infrastructure, and over-utilize the humans who manage it. Docker Enterprise Edition (EE) fixes that, giving you a consistent way to package, release and manage all your apps, without having to re-write them.

Part 2 shows how easy it is to move traditional apps to Docker. I start with an Java EE application running on Wildfly, and package the entire monolithic application as a Docker image. Then I run the application in a container on my Macbook Pro. I do that without changing the app, and without needing to access the original source code.

Part 3 covers the upgrade workflow in Docker. I build a new version of the Docker image for my app, by migrating it to a Tomcat EE image. I also replace the presentation layer implemented with Java Server faces with a javascript client written in React. I show how to do this using maven and node.js images to build them without having those tool chains on your laptop. Docker allows you to split off parts of the application and update them with modern technology.  In this case, I make use of the application’s REST interface to start moving towards a microservices architecture that’s suited to deployment in a cloud architecture.

Part 4 shows how to share the application images through a registry, in this case Docker Hub. A registry allows you to share the image publically. In addition to sharing images, Docker Hub and Docker Trusted Registry support automating the build process. I’ll connect the github repository with the application source code to the repository and configure it build a new image every time code is pushed. Updated images of the application will always be available for deployment.

Part 5 shows how you can deploy and manage the application using Universal Control Plane and show you how security, administration and monitoring look in a production Docker environment.


For more information about Modernizing Traditional Applications:

, , , , , , ,

Sophia Parafina

Videos series: Modernizing Java Apps for IT Pros


Leave a Reply

Get the Latest Docker News by Email

Docker Weekly is a newsletter with the latest content on Docker and the agenda for the upcoming weeks.