Introduction
One of the most important governance issues during software developement process is versioning. It is important for security reason, but also to monitor the development process. This article gives an overview of how to version Simplifier apps and corresponding artifacts.
In general, versioning is a snapshot of software. A release can be seen as a tested stable version ready for distribution or deployment on production system.
When talking about versioning in Simplifier, it is important to keep in mind that Simplifier is a low code plattform. It is not a programming tool for writing source code. The big differences with regard to pure source-code versioning are:
- Low code features like UI Designer or Process Designer, which are based on meta data.
- Simplifier application development follows the approach of Continuous Integration and Continuous Deployment (CI/CD)
Due to this, Simplifier supports both versioning approaches:
- classic source-code versioning
- Application versioning, which covers both low-code aspects as the snapshot is built:
- across all components (source-code and meta data based), and
- at application level not at components level.
In the following, we will discuss both features, and how to use them.
Step 1 – Application Versioning
As already mentioned, due to the meta data-based features and the CI/CD approach, it makes sense to version whole applications including all components.
In Simplifier this can be done by:
1.1 App Releases
In Simplifier, you can build a history of app versions using the built-in release manager from the app properties (see Simplifier Documentation). Each release will automatically be available as Simplifier Transport (see Simplifier Documentation).
1.2 Packages/Transports
Simplifier Packages and Transports (see Simplifier Documentation) can be used to package artifacts.
While Packages are a list of artifacts, which are compiled at runtime each time an export is requested, Transports are fixed snapshots of the components.
So, beside App releases (see 1.1), you can use the history of created Transports for Application versioning as well.
In case you want to document the application versions with an external versioning tool, you can of couse push the exported Package or Transport files (.simplifier) to e.g., GitHub, using a Simplifier REST Connector (GitHub REST API).
Step 2 – Source-code Versioning
As a source-code based artifact Business Objects can be versioned with the build-in versioning system (see Simplifier Documentation).
Step 3 – Release Management
Besides building versions and releases of Simplifier applications and corresponding artifacts, Release Management also covers the aspects of app deployment. Based on a D-Q-P Landscape (see Simplifier Documentation), we recommend the following deployment workflow:
Using the roles and permissions capabilities of the Simplifier User Management (see Simplifier Documentation), you can set up an approval concept for releasing and transporting apps from DEV to PROD (see Simplifier Documentation), which implements all your governance requirements.