Voraussetzungen
MLE basiert auf Spring Boot und setzt Java in Version 17 oder höher voraus. Ein Java-Applikationsserver ist nicht notwendig.
Sample Application starten
MLE wird mit einer Beispielanwendung (Maven-Modul de.faktorzehn.mle:mle-core-sample
) ausgeliefert, die als Vorlage für kundenspezifische Implementierungen verwendet werden kann.
Die Beispielanwendung kann mit java -jar -Dspring.profiles.active=liquibase mle-core-sample.jar
gestartet werden.
Nach erfolgreichem Start ist Swagger-UI mit den verfügbaren REST-Services unter http://localhost:8080/mle/swagger-ui
verfügbar,
die Benutzeroberfläche unter http://localhost:8080/mle/ui
.
In der Beispielanwendung wird eine dateibasierte H2-Datenbank verwendet, die in der Datei ~/mleDS
gespeichert wird.
Customizing
Ändern von Spring Property-Werten
Die einfachste Form der Anpassung besteht darin, lediglich Spring Property-Werte zu ändern, beispielsweise die Datenbank-Verbindungsparameter. Siehe dazu Kapitel Customizing/Properties.
Sample Application ersetzen
Als Grundlage für jegliche Anpassungen, welche über das einfache Ändern von Property-Werten hinaus gehen, muss
die Sample Application projektspezifisch ersetzt werden. Dazu wird üblicherweise der Source Code des Moduls mle-core-sample
in eine projektspezifische Kopie übertragen.
Domänenmodell erweitern
Das Domänenmodell von MLE ist mit Faktor-IPS modelliert und besteht aus dem Vertragsteil MajorLossEvent
. Dieser kann durch Vererbung erweitert werden.
Die Changelog-Datei für Liquibase des Domänenmodells befindet sich mit dem Namen coreChangelog.xml
im Verzeichnis liquibase
der jar-Datei des Maven-Moduls de.faktorzehn.mle:mle-core-business
.
Geschäftslogik erweitern
Durch Spring Beans lässt sich die Geschäftslogik von MLE austauschen oder erweitern. Die Beans sind in den Spring-Konfigurationsklassen MleCoreBusinessAutoConfiguration
und MleCoreExtMappingAutoConfiguration
mit ConditionalOnMissingBean
auto-konfiguriert. D.h. jede kundenspezifisch definierte Bean ersetzt automatisch ihr Pendant des MLE-Standards. Darüber hinaus definiert MleSampleApplication
weitere Configurations wie die SampleAutoConfiguration
, WebClientConfiguration
, sowie die IRuntimeRepository
-Bean mit den Beispielwerten für MajorLossEventType
(siehe MleSampleRuntimeRepositoryLookup
).
Kundenspezifische MajorLossEventTypen definieren
Die Werte von MajorLossEventType
lassen sich über einen IPS-Enum-Inhalt definieren, der über eine IRuntimeRepository
-Bean zur Verfügung gestellt wird. Dies ist beispielhaft im Maven-Modul de.faktorzehn.mle:mle-core-sample
umgesetzt.
REST-Services erweitern
Die von MLE angebotenen REST-Services sind im MleController
des Maven-Moduls de.faktorzehn.mle:mle-core-extservices
definiert. Die dazugehörigen DTOs und Mapper befinden sich in de.faktorzehn.mle:mle-core-extapi
bzw. de.faktorzehn.mle:mle-core-extmapping
.