Einleitung
Eines der wichtigsten Governance-Themen während des Softwareentwicklungsprozesses ist die Versionierung.
Dies ist aus Sicherheitsgründen wichtig, aber auch um den Entwicklungsprozess zu überwachen .
Dieser Artikel bietet eine Übersicht über die Versionierung von Simplifier-Apps und entsprechenden Artefakten.
Im Allgemeinen handelt es sich bei der Versionierung um eine Momentaufnahme von Software.
Ein Release kann als eine getestete stabile Version angesehen werden, die bereit für die Verteilung oder den Einsatz auf dem Produktionssystem ist.
Wenn es um die Versionierung in Simplifier geht, ist es wichtig zu bedenken, dass Simplifier eine Low-Code-Plattform ist.
Es ist kein Programmierwerkzeug zum Schreiben von Quellcode.
Die großen Unterschiede in Bezug auf die reine Quellcode-Versionierung sind:
- Low-Code-Funktionen wie UI Designer oder Process Designer, die auf Metadaten basieren.
- Die Simplifier-Anwendungsentwicklung folgt dem Ansatz von Continuous Integration und Continuous Deployment (CI/CD)
Aus diesem Grund unterstützt Simplifier beide Versionierungsansätze:
- Klassische Versionierung von Quellcode
- Anwendungsversionierung, die beide Low-Code-Aspekte abdeckt, während der Snapshot erstellt wird:
- über alle Komponenten hinweg (quellcode- und metadatenbasiert) und
- auf Anwendungsebene, nicht auf Komponentenebene.
Im Folgenden gehen wir auf beide Funktionen und deren Verwendung ein.
Schritt 1 – Versionierung der Anwendung
Wie bereits erwähnt, ist es aufgrund der metadatenbasierten Features und des CI/CD-Ansatzes sinnvoll, ganze Anwendungen inklusive aller Komponenten zu versionieren.
In Simplifier kann dies wie folgt erfolgen:
1.1 App-Veröffentlichungen
In Simplifier können Sie mithilfe des integrierten Release-Managers aus den App-Eigenschaften eine Historie der App-Versionen erstellen (siehe Simplifier-Dokumentation).
Jedes Release wird automatisch als Simplifier Transport verfügbar sein (siehe Simplifier Dokumentation).
1.2 Pakete/Transporte
Simplifier-Pakete und -Transporte (siehe Simplifier-Dokumentation) können zum Verpacken von Artefakten verwendet werden.
Während Pakete eine Liste von Artefakten sind, die zur Laufzeit jedes Mal kompiliert werden, wenn ein Export angefordert wird, sind Transporte feste Momentaufnahmen der Komponenten.
So können Sie neben App-Releases (siehe 1.1) auch die Historie der erstellten Transporte für die Anwendungsversionierung verwenden.
Falls Sie die Anwendungsversionen mit einem externen Versionierungstool dokumentieren möchten, können Sie die exportierten Paket- oder Transportdateien (.simplifier) mit einem Simplifier REST Connector (GitHub REST API) z.B. auf GitHub pushen.
Schritt 2 – Versionierung des Quellcodes
Als quellcodebasiertes Artefakt können Business Objects mit dem eingebauten Versionierungssystem versioniert werden (siehe Simplifier-Dokumentation).
Schritt 3 – Release-Management
Neben dem Erstellen von Versionen und Releases von Simplifier-Anwendungen und entsprechenden Artefakten deckt das Release Management auch die Aspekte des App-Deployments ab.
Basierend auf einer D-Q-P-Landschaft (siehe Simplifier-Dokumentation) empfehlen wir den folgenden Bereitstellungs-Workflow:
- App-Entwicklung auf der DEV-Instanz
- Transport zur QA-Instanz
- Testen der App auf der QA-Instanz
- Transport zur PROD-Instanz
Mit Hilfe derFunktionen und Berechtigungen der Simplifier-Benutzerverwaltung (siehe Simplifier-Dokumentation) können Sie ein Genehmigungskonzept für die Freigabe und den Transport von Apps von DEV nach PROD einrichten (siehe Simplifier-Dokumentation), das alle Ihre Governance-Anforderungen umsetzt.