Building application with Self-Contained Applications

Hi,

I'm currently exploring the new approach to building applications using Maven.

While going through the documentation, I encountered a few uncertainties. For instance, when I run the command:

mvn clean package -Pbundle

I could find the .zip files in the target directory that contain the Tomcat bundle ready for deployment. After executing the start-bonita, the portal is up and running – excellent work, Bonita!

However, the documentation mentions that this bundle uses the H2 database. This raises a few questions:

  1. How does this work on an already established Bonita server?

  2. Is there a way to automatically change the database.properties configuration to use another database?

  3. If there is a method to change the database connection, does this command automatically install any new Business Data Objects (BDO) or processes included in the project into the database?

Thanks,

Hi !

I’ll try to answer your interrogation:

How does this work on an already established Bonita server?

The migration from what we called “Platform mode” to “SCA” requires a project update using the latest Studio and to rebuild your project as an SCA (either using the Bundle packaging or the Docker image packaging)

Then, you should operate an update on your existing environments using the Update tool like for any other version update.

You can then re-apply the configuration from your old environment into your new SCA packaged bundle. (Content of the setup folder).

When starting your new app, an app version field will be written in the database, depending on the version of your project at the time you built it.

You will have to do proper version management of your project/app on your side to perform updates of your application.

Is there a way to automatically change the database.properties configuration to use another database ?

Do you mean at build time ? In that case, it is not offered out of the box by our tool chain (yet). But you may apply such automation in a CI job of your own on the generated bundle.

If there is a method to change the database connection, does this command automatically install any new Business Data Objects (BDO) or processes included in the project into the database?

BDM and Processes are installed at application startup (respecting some update strategies depending on the use case) independently of the configured data source.

HTH
Romain