Maven

The Frank!Framework is a Java webapplication that integrates other applications. The Frank!Framework needs to be configured with XML files that describe how messages are received, transformed and sent to their target systems. Chapter Getting Started explained how to write these configuration files. The configurations were executed with WeAreFrank!’s Frank!Runner, which was useful during development. The Frank!Runner was not designed however to deploy Frank configurations to a production environment.

Maven has been developed to build Java webapplications. The Frank!Framework is a Java webapplication. You can use Maven to package the Frank!Framework and one configuration into a single executable file. That file has extension .war. It can be executed by an application server like Apache Tomcat, WildFly, JBoss EAP or WebSphere. Maven projects can easily be tested and deployed within continuous delivery pipelines using for example Jenkins, GitLab or GitHub actions.

A basic understanding of Maven is needed before it can be leveraged in Frank projects successfully. This introduction appears in subsections Java basics, Maven basics, Execute jar and Maven webapp. Subsections Basic webapplication with Frank!Framework, Adding front-end code and Larva explain how to use Maven within a Frank development project. By the end of subsection Larva, you will have a Maven project that you can use as a template for your own Frank project. Here is the download.

The project setup of Larva has some drawbacks. These can be addressed by using the Frank!Runner, which can work with Frank projects structured as a Maven project. This is demonstrated in example “Frank2Example4” of the Frank!Runner. This is explained in more detail in subsection Using the Frank!Runner.