Release Notes Version 3.2.x
Diese Seite ist ein Teil der IsyFact-Standards. Alle Inhalte der Seite, insbesondere Texte und Grafiken, sind urheberrechtlich geschützt. Alle urheberrechtlichen Nutzungs- und Verwertungsrechte liegen beim Bundesverwaltungsamt.
Die Nutzung ist unter den Lizenzbedingungen der Creative Commons Namensnennung 4.0 International gestattet.
Übersicht über die Änderungen
1. Allgemeine Änderungen
1.1. Umstellung der Dokumentation
- Online Dokumentation über Asciidoc / Antora
-
Die Bereitstellung der Dokumentation der IsyFact (Open Source) erfolgt nicht mehr über PDF Dokumente, sondern über die Online-Dokumentation. Als Werkzeug zur Generierung der Dokumentation wird das Produkt Antora eingesetzt.
- Vorgaben zur Dokumentation
-
Die Vorgaben zur Dokumentation für technische Autoren wurden ergänzt. Darüber hinaus werden Abbildungen sukzessive in editierbare SVGs gewandelt und in der Dokumentation abgelegt. Eine Beschreibung zum Vorgehen wurde ergänzt.
- Auszeichnung von Deprecations
-
Deprecations werden im Code und der Dokumentation kenntlich gemacht.
- Produktkatalog als Teil der Dokumentation
-
Der Produktkatalog wurde von Excel nach Asciidoc / CSV migriert und ist nun Teil dieser Dokumentation.
- Externe Links
-
Die Dokumentation verwendet keine Liste für externe Links mehr, sondern das URL-Makro von AsciiDoc.
- Glossar & Leitfaden Dokumentation
-
Das Glossar und der Leitfaden Dokumentation werden parallel zu den Releases der IsyFact gepflegt. Sie besitzen keine Version und sind damit über alle Releases hinweg gültig. Inhalte für spezifische Releases werden ausdrücklich ausgezeichnet.
1.2. Spring Boot
Spring Boot wurde auf Version 2.7.15 angehoben. Die Versionen sämtlicher Produkte werden ebenfalls von Spring verwaltet (s. https://docs.spring.io/spring-boot/docs/2.7.15/reference/html/dependency-versions.html).
1.3. Java
- Java Runtime
-
Die Java Runtime Environment wurde auf Version 17 gehoben. Es ist aber weiterhin mit Version 8 zu kompilieren (Language Level).
- Java Vendor
-
Der Java Vendor wurde geändert auf Eclipse Temurin satt Oracle RedHat.
1.4. REST als Nachfolger der HTTPInvoker-Technologie
- REST Schnittstellen
-
Sowohl interne als auch externe REST-Schnittstellen sind ab sofort einheitlich nach dem REST-Konzept zu realisieren.
- Spring HTTPInvoker deprecated
-
Die Verwendung von HTTPInvoker Schnittstellen gilt als deprecated und wird mit einem nachfolgenden Release entfernt.
- Metadaten im HTTP-Header statt im Datensatz/Aufrufkontext
-
Metadaten sind über HTTP-Header zur realisieren. Eine Verwendung von Metadaten über HTTPInvoker und Aufrufkontext gilt als deprecated und wird mit einem nachfolgenden Release entfernt.
- REST-Baustein als http-Invoker Nachfolger
-
Der REST-Baustein wird als Nachfolger des HTTPInvoker-Bausteins (isy-serviceapi-core) veröffentlicht.
1.5. Suse Linux Enterprise Server (SLES)
Der Standard schreibt nun statt eines Betriebssystems diejenigen Produkte vor, die zum Bau und zum Betrieb der Anwendungen nötig sind.
- Suse Linux Enterprise Server (SLES) entfernt
-
Das Betriebssystem wurde aus dem Produktkatalog und der Dokumentation entfernt.
- Eclipse Temurin als JVM aufgenommen
-
siehe Java
2. Referenzarchitektur
2.1. Software-technische Sicht
- Datenzugriff
-
Für die Überführung von persistenten Entitäten in Geschäftsobjekte sollen keine gesonderten Schnittstellenobjekte mehr genutzt werden. Die Komponente Datenzugriff übergibt persistente Entitäten an den Anwendungskern. Der Anwendungskern darf keine persistenten Entitäten mehr herausgeben, auch nicht zwischen seinen Fachkomponenten. Entsprechende Ausnahmen wurden gestrichen.
3. Isyfact Bausteine
3.1. Baustein Sicherheit deprecated
Der Baustein Sicherheit und damit die Verwendung des Aufrufkontextes zur Authentifizierung ist ab IsyFact-Version 3.0 als deprecated markiert und wird mit einem folgenden Release entfernt. Als Nachfolger zum Thema Sicherheit gibt es mit IsyFact-Version 3.0 den Baustein Security.
3.2. Neuer Baustein Security
Das Konzept zum Schutz der Daten und IT-Systeme vor unberechtigter Nutzung wurde überarbeitet und ist nun im neuen Baustein Security beschrieben. Er ist der Nachfolger des Bausteins Sicherheit, der mit IsyFact-Version 3.0 deprecated ist.
- Ziel
-
Nutzung von Standardfähigkeiten der eingesetzten Produkte und Reduzierung der Eigenentwicklung.
Folgende Änderungen ergeben sich:
- OAuth2.0
-
Im neuen Baustein Security wird das Protokoll OAuth2.0 verwendet, um ein Single Sign On (SSO) zur Authentifizierung und Autorisierung des Nutzers gegenüber einem zentralen IAM-System umzusetzen. Das neue Konzept des Bausteins Security beschreibt die Verwendung von OAuth2.0.
- Ablösung des Sicherheits-Transportobjekts 'AufrufKontext'
-
Im neuen Baustein Security werden die sicherheitsrelevanten Daten, statt wie bisher im IsyFact-eigenen Transportobjekt 'AufrufKontext', nun im 'SecurityContext' des Spring-Frameworks und bei Aufrufen von Nachbarsystemen als JWT-Access-Token im Http-Header transportiert.
- Ablösung von sicherheitsrelevanten IsyFact-Annotationen
-
Die von Spring Security bereitgestellte Annotation
@secured
löst die Annotation@gesichert
ab und ist analog dazu zu verwenden.
3.3. Baustein Überwachung
3.3.1. Neue Endpoints in Baustein Überwachung
- Liveness, Readiness und Availability zur Überwachung
-
Liveness und Readiness bieten ein feingranulares Monitoring der health eines Systems. Diese Endpoints stehen zusätzlich zu den vorhandenen Health-Endpoints zur Verfügung und sind im Konzept des Bausteins Überwachung definiert. Die Nutzungsvorgaben des Bausteins Überwachung wurden um Implementierungshinweise erweitert. Availability wird als erweiterte Überwachungsmetrik aufbauend auf Liveness und Readiness Probes definiert und Umsetzungsempfehlungen gegeben.
- Änderungen an Nachbarsystemchecks und Loadbalancer
-
Aktuell bauen Nachbarsystemchecks und Loadbalancer auf die bisherigen Health-Checks. Diese fachlichen Möglichkeiten funktionieren auch mit Liveness und Readiness Probes. Damit sind differenzierte Reaktionen auf Fehler in den Systemen möglich.
3.3.2. Refactoring der ServiceStatistik
Die Klasse ServiceStatistik
ist nun ein Interface und ermöglicht es, Klassen zum Sammeln von Metriken zu erstellen.
Alle ServiceStatistik
implementierenden Beans werden automatisch der Micrometer-Registry hinzugefügt.
Details finden sich in den Nutzungsvorgaben des Bausteins Überwachung.
3.4. Baustein Task Scheduling
- Umstellung auf Spring Boot
-
Das Task Scheduling wurde auf Spring Boot umgestellt und hat Auswirkungen auf den Baustein Konfiguration und den Baustein Überwachung.
Verwendung des Bausteins isy-security zur Authentifizierung: Für die Authentifizierung nutzt der Baustein Task Scheduling die Schnittstelle zur Authentifizierung aus dem Baustein Security. Die bisherige Art der Authentifizierung des Tasks als 'technischer Nutzer' (mit Nutzername und Passwort) wird perspektivisch durch eine Authentifizierung als 'Client' (mit Client-ID und Client-Secret, vergeben vom IAM-System) abgelöst. Für eine weiche Migration bietet die Konfiguration von Tasks dazu die Möglichkeit, alternativ die Authentifizierungs-Credentials Nutzername und Passwort zusätzlich zu Client-ID und Client-Secret zu setzen um vorübergehend den Resource Owner Password Flow zu nutzen.
3.5. Baustein Batchrahmen
Verwendung des Bausteins isy-security zur Authentifizierung: Für die Authentifizierung nutzt der Batchrahmen die Schnittstelle zur Authentifizierung aus dem Baustein Security. Die bisherige Art der Authentifizierung des Tasks als 'technischer Nutzer' (mit Nutzername und Passwort) wird perspektivisch durch eine Authentifizierung als 'Client' (mit Client-ID und Client-Secret, vergeben vom IAM-System) abgelöst. Für eine weiche Migration bietet die Konfiguration von Batches dazu die Möglichkeit, alternativ die Authentifizierungs-Credentials Nutzername und Passwort zusätzlich zu Client-ID und Client-Secret zu setzen um vorübergehend den Resource Owner Password Flow zu nutzen.
- Breaking Change: Methode
getAuthenticationCredentials
entfernt -
Die Konfiguration von
benutzer
,passwort
undbhknz
erfolgt über isy-security ClientRegistrations. Batches müssen nur noch eineoauth2ClientRegistrationId
zur Authentifizierung bereitstellen. Die MethodegetAuthenticationCredentials
derBatchAusfuehrungsBean
wurde entfernt.
3.6. Baustein Sonderzeichen
- Sonderzeichen Transformator
-
Es wurde ein Sonderzeichen Transformator eingeführt um Zeichenketten, welche aus normativen Buchstaben (Datentyp C) der DIN SPEC 91379 bestehen, auf die Grundbuchstaben A-Z abzubilden. Für unterschiedliche Anwendungsfälle kann es erforderlich sein, die in Namen enthaltenden Buchstaben auf die Grundbuchstaben A-Z abzubilden. Dies ist bspw. der Fall in der maschinenlesbaren Zone (MRZ) amtlicher Reisedokumente, für die der Standard [ICAO 9303-3] einschlägig ist, da nur diese Grundbuchstaben für die Repräsentation von Namen zur Verfügung stehen. Wenn Datensätze und Suchanfragen unter Anwendung der Suchform normalisiert werden, ist es auch möglich, Namen trotz unterschiedlicher Schreibweisen zu identifizieren.
- String-Latin-1.1 Transformatoren sind nun deprecated
-
Der Zeichensatz für String Latin 1.1 wurde korrigiert. Dies kann zu Kompatibilitätsproblemen in der Kommunikation mit Anwendungen führen, die den unkorrigierten Zeichensatz verwenden (IsyFact-Versionen kleiner als IF 3).
- Breaking Change: Getter eingeführt
-
Die Klassen
stringlatin1_1/core/transformation/ZeichenKategorie.java
unddinspec91379/transformation/ZeichenKategorie.java
bieten für den Abruf aller Möglichkeiten nun einengetter
anstelle einerpublic static Variable
an.
Außerdem wurden die fehlenden Zeichen 0110 und 0111 zum Mapping hinzugefügt.
3.7. Baustein Persistence
In isy-persistence
gibt es nun eine Autokonfiguration mit initialisierbarer Datenbank.
Für die Konfiguration der DataSource
wurde zu den DataSourceProperties
von Spring Boot gewechselt.
- Breaking Change: Property
DataSource
-
Der Konfigurationsschlüssel für die
DataSource
heißt nunisy.persistence.datasource
stattisy.persistence.oracle.datasource
.
5. Entfernt
6. Produktkatalog
Es gab einige Updates im Produktkatalog. Diese können der Änderungshistorie entnommen werden.