Leitfaden für die Migration der AEP.B2B von Java 8 auf Java 25
Hinweis: Dieser Leitfaden beschreibt die derzeit bekannten Unterschiede und notwendigen Anpassungen bei einer Migration der AEP.B2B von Java 8 auf Java 25. Weitere Hinweise werden mit neuen Erkenntnissen und Produktversionen ergänzt. Für eine konkrete Migrationsplanung oder Fragen zu Ihrer individuellen Umgebung unterstützen wir Sie gerne.

Themenübersicht

Bei einer Migration auf die Java-25-Version sind derzeit insbesondere folgende Themen zu beachten:

  • Java 25, Tomcat 10 und Keycloak-Integration
  • Aktualisierung externer Bibliotheken (z. B. JDBC-Treiber oder SAP JCo)
  • Aktualisierung von Contents
  • Adobe AIR Client und Flex-Adapter
  • Searchlayer-Konfiguration
  • Contributions und kundeneigene Erweiterungen

Weitere Themen werden mit zukünftigen Produktversionen und neuen Erkenntnissen ergänzt.

Java 25, Tomcat 10 und Keycloak-Integration

Hintergrund

Die Java-25-Version der AEP.B2B setzt eine aktualisierte Laufzeitumgebung auf Basis von Java 25 und *Tomcat 10 voraus.

Im Zuge dieser Umstellung wird auch die bisherige Keycloak-Integration über den Tomcat-Keycloak-Adapter abgelöst. Die Authentifizierung erfolgt künftig über Spring Security. Der bisher verwendete Keycloak-Adapter für Tomcat 9 wird unter Tomcat 10 nicht mehr unterstützt.

Die Java-25-Version der AEP.B2B wird als Docker-Image auf Basis von Tomcat 10 ausgeliefert.

Auswirkungen

Mit der Migration auf die Java-25-Version ändern sich die technischen Voraussetzungen für den Betrieb der AEP.B2B.

  • Die AEP.B2B setzt künftig Java 25 als Laufzeitumgebung voraus.
  • Die Anwendung wird auf Tomcat 10 betrieben. Bestehende Installationen auf Tomcat 8.5 oder Tomcat 9 müssen entsprechend aktualisiert werden.
  • Die bisherige Keycloak-Integration über den Tomcat-Keycloak-Adapter wird nicht mehr unterstützt. Die Authentifizierung erfolgt künftig über Spring Security.

Für Kunden, die die von Arvato Systems bereitgestellten Docker-Container verwenden, sind diese Änderungen bereits berücksichtigt. Die Container enthalten die erforderliche Java- und Tomcat-Version.

Kunden mit einer eigenen Tomcat-Installation müssen ihre Laufzeitumgebung entsprechend anpassen. Hierzu gehören insbesondere:

  • Installation einer Java-25-Laufzeitumgebung
  • Aktualisierung der Tomcat-Installation auf Tomcat 10
  • Überprüfung und Anpassung bestehender Tomcat-Konfigurationen (z. B. b2bbp-engine.xml)

Anpassung der Tomcat-Konfiguration

In Tomcat 9 wurde die Keycloak-Integration über ein Valve und einen Parameter in der Kontext-Datei konfiguriert. Diese Einträge werden in Tomcat 10 nicht mehr unterstützt und führen dazu, dass der Server nicht startet.

Die Keycloak-bezogenen Valve- und Parameter-Einträge müssen entfernt oder auskommentiert werden.

Beispiel: Aktualisierte b2bbp-engine.xml

Nachfolgend ein Beispiel der aktualisierten Kontext-Konfiguration, in der die nicht mehr unterstützten Keycloak-Einträge auskommentiert wurden:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/b2bbp-engine"
         reloadable="true"
         crossContext="true">
   <Resource name="jdbc/b2bbp"
             type="javax.sql.DataSource"
             factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
             ...  
             />

<!--
    <Valve className="org.keycloak.adapters.tomcat.KeycloakAuthenticatorValve"/>

    <Parameter name="keycloak.config.file"
               value="/usr/local/tomcat/conf/keycloak.json"
               override="false"/>
-->

</Context>

Im Inneren der B2B Docker-Container wird die Keycloak-Konfiguration nun über Spring Security bereitgestellt. Die Keycloak-Adapter-Konfiguration in der b2bbp-engine.xml ist daher nicht mehr erforderlich. How Keycloak works with Spring Security

Aktualisierung externer Bibliotheken

Hintergrund

Einige Bibliotheken werden aus lizenzrechtlichen oder produktspezifischen Gründen nicht zusammen mit der AEP.B2B ausgeliefert, sondern kundenseitig bereitgestellt und in die Laufzeitumgebung eingebunden.

Im Rahmen der Migration auf Java 25 sollte geprüft werden, ob diese Bibliotheken mit der neuen Java-Version kompatibel sind. Ältere Bibliotheksversionen unterstützen Java 25 unter Umständen nicht oder nur eingeschränkt.

Auswirkungen

Insbesondere Installationen mit zusätzlich eingebundenen Bibliotheken oder herstellerspezifischen Konnektoren können betroffen sein.

Dies betrifft beispielsweise:

  • JDBC-Treiber (z. B. PostgreSQL, Oracle oder Microsoft SQL Server)
  • SAP Java Connector (SAP JCo)
  • Bibliotheken zur Anbindung von Archivsystemen (z. B. nscale)
  • weitere kundenseitig eingebundene Bibliotheken oder Konnektoren

Erforderliche Anpassungen

Prüfen Sie alle kundenseitig bereitgestellten Bibliotheken auf ihre Kompatibilität mit Java 25.

Hierzu empfiehlt sich folgendes Vorgehen:

  1. Ermitteln Sie alle zusätzlich eingebundenen Bibliotheken.
  2. Prüfen Sie beim jeweiligen Hersteller, ob eine Java-25-kompatible Version verfügbar ist.
  3. Aktualisieren Sie die Bibliotheken gegebenenfalls auf eine unterstützte Version.
  4. Testen Sie anschließend die betroffenen Funktionen (z. B. Datenbankzugriffe oder SAP-Kommunikation).

Überprüfung

Nach der Aktualisierung sollten insbesondere die von den externen Bibliotheken bereitgestellten Funktionen überprüft werden.

Dies betrifft beispielsweise:

  • Aufbau der Datenbankverbindung
  • Kommunikation mit SAP-Systemen
  • Anbindung von Archivsystemen
  • Funktion weiterer kundenspezifischer Integrationen
  • Anwendungsprotokolle auf Warnungen oder Fehlermeldungen prüfen
Verwenden Sie ausschließlich Bibliotheksversionen, die vom jeweiligen Hersteller für Java 25 freigegeben sind.

Aktualisierung von Contents

Hintergrund

Über die Contents werden zusätzliche Erweiterungen und Komponenten in die AEP.B2B eingebunden.

Im Rahmen der Migration auf Java 25 sollten die eingesetzten Contents überprüft und gegebenenfalls auf eine kompatible Version aktualisiert werden.

Dies betrifft insbesondere:

  • ValidationContent
  • CXF-WebServices (z. B. der WebService zur Befüllung des Systemweichen-Indexes)

Auswirkungen

Werden veraltete Contents nach der Migration weiterverwendet, kann dies zu Einschränkungen bei der Validierung oder der Bereitstellung von WebServices führen.

Ob eine Aktualisierung erforderlich ist, hängt von den in Ihrer Installation eingesetzten Contents ab.

Erforderliche Anpassungen

Prüfen Sie, welche Contents in Ihrer Installation eingesetzt werden.

Für betroffene Contents sollten die zur eingesetzten AEP.B2B-Version passenden Versionen installiert werden.

Dies betrifft insbesondere:

  • ValidationContent
  • CXF-WebServices

Die aktuellen Versionen stehen im Download-Portal zur Verfügung und können anschließend wie gewohnt über die Administration der AEP.B2B importiert werden.

Überprüfung

Nach der Aktualisierung sollten insbesondere folgende Punkte überprüft werden:

  • Validationen werden erfolgreich ausgeführt.
  • Bereitgestellte CXF-WebServices stehen weiterhin zur Verfügung.
  • Die Kommunikation über die eingesetzten WebServices funktioniert fehlerfrei.

Adobe AIR Client und Flex-Adapter

Hintergrund

Die bisherige Flex-basierte Benutzeroberfläche (Adobe AIR Client) ist nicht mehr Bestandteil der Java-25-Version der AEP.B2B.

Die zugrunde liegenden Technologien Adobe Flash und Adobe AIR werden nicht mehr unterstützt und entsprechen nicht mehr den aktuellen Sicherheits- und Technologieanforderungen. Aus diesem Grund wird der Adobe AIR Client nicht mehr als Teil der AEP.B2B ausgeliefert.

Auswirkungen

Die folgenden Hinweise sind nur relevant, wenn Ihre Installation den Adobe AIR Client verwendet.

Dies betrifft beispielsweise Kunden, die den Adobe AIR Client für das CCM-Monitoring oder andere Flex-basierte Funktionen einsetzen.

Ohne zusätzliche Maßnahmen steht der Adobe AIR Client nach der Migration auf die Java-25-Version nicht mehr zur Verfügung.

Erforderliche Anpassungen

Für den Weiterbetrieb des Adobe AIR Clients stellt Arvato Systems einen separaten B2B-Flex-Adapter-Microservice bereit.

Dieser Microservice wird zusätzlich zur AEP.B2B installiert und übernimmt die Kommunikation zwischen dem bestehenden Adobe AIR Client und der Java-25-Version der AEP.B2B.

Dadurch kann der Adobe AIR Client mit seinem bisherigen Funktionsumfang weiterhin verwendet werden.

Überprüfung

Nach der Installation des Flex-Adapter-Microservice sollten insbesondere folgende Punkte überprüft werden:

  • Verbindung des Adobe AIR Clients zur AEP.B2B
  • Anmeldung am Adobe AIR Client
  • Funktion der verwendeten Monitoring- und Administrationsfunktionen (z. B. CCM)
  • Prüfung der Anwendungsprotokolle auf Kommunikationsfehler

Searchlayer-Konfiguration

Hintergrund

Die folgenden Hinweise sind nur für Installationen relevant, die Solr als Searchlayer verwenden.

Kunden, die weiterhin den Lucene-basierten Searchlayer einsetzen, sind von den nachfolgenden Änderungen nicht betroffen.

Mit der Java-25-Version wurde die Solr-Anbindung auf SolrCloud umgestellt. Dadurch kommuniziert die AEP.B2B nicht mehr direkt mit einem Solr-Knoten, sondern mit dem zugehörigen ZooKeeper-Cluster.

Auswirkungen

Installationen mit Solr als Searchlayer müssen ihre Searchlayer-Konfiguration anpassen.

Die bisherige Konfiguration verwies direkt auf einen Solr-Server. Mit SolrCloud muss stattdessen die Verbindung zum ZooKeeper-Cluster konfiguriert werden.

Erforderliche Anpassungen

Passen Sie die Extension SEARCH_LAYER_CONFIGURATION entsprechend an.

Die Eigenschaft

SOLR_URLS

muss künftig auf den ZooKeeper-Cluster statt auf den Solr-Server zeigen.

Beispiel

 SEARCH_SYSTEM_VENDOR=SOLR
 SEARCH_TYPES=FULLTEXT,SYSTEMSPLIT_METERINGPOINT,SYSTEMSPLIT_RESPONSE,ARCHIVE

-SOLR_URLS=http://solr1:8983/solr
+SOLR_URLS=zoo1:2181

 FULLTEXT_SOLR_COLLECTION=fulltext
 SYSTEMSPLIT_METERINGPOINT_SOLR_COLLECTION=systemsplit_meteringpoint
 SYSTEMSPLIT_RESPONSE_SOLR_COLLECTION=systemsplit_response
 ARCHIVE_SOLR_COLLECTION=archive

2181 ist der Standard-Port von ZooKeeper. Der tatsächlich verwendete Hostname und Port richten sich nach Ihrer Infrastruktur.

Überprüfung

Prüfen Sie nach der Anpassung insbesondere:

  • Der Searchlayer startet fehlerfrei.
  • Suchanfragen liefern weiterhin Ergebnisse.
  • Im Anwendungsprotokoll werden keine Verbindungsfehler zum ZooKeeper-Cluster protokolliert.

Contributions und kundeneigene Erweiterungen

Hintergrund

Im Rahmen der Java 25 / Jakarta EE Migration wurden Klassen mit Dritt-Copyright (d.h. Copyright, das nicht bei Arvato Systems oder Next Level Integration liegt) aus der B2B Shell (aep-b2b-monolith-shell) und dem B2B Core (aep-b2b) entfernt. Diese Klassen wurden in ein separates Open-Source-Repository ausgelagert: aep-b2b-contributions.

Die fertig gebauten Contribution-JAR-Dateien stehen im Download Portal zum Download bereit unter Private/aep/b2b/aep-b2b-contributions/.

Wenn Ihre B2B-Installation eine der ausgelagerten Contribution-Klassen verwendet (z.B. org.gdf.z1compliancecheck.services.MailService, org.e4u.zugferd., org.b2bbp.runtime.secunet.), müssen Sie die Contribution-JARs wie unten beschrieben zu Ihrem B2B-Container hinzufügen.

Auswirkungen

Die folgenden Hinweise sind nur relevant, wenn Ihre Installation Contribution-Klassen verwendet.

Ob Sie betroffen sind, können Sie anhand Ihrer kundenspezifischen Konfiguration prüfen. Kontrollieren Sie insbesondere eigene

  • Actions
  • Services
  • ChannelDistributions

Werden dort Klassen verwendet, deren Paketname nicht zu den Standardpaketen der AEP.B2B gehört (org.b2bbp.*, com.nextlevel.*, com.b2bbp.*), sollten diese im Rahmen der Migration überprüft werden.

Sind entsprechende Contribution-Klassen im Einsatz, muss die zugehörigen Contribution-JARs zusätzlich zur AEP.B2B in die Installation integriert werden.

View Me   Edit Me