Update auf DLE 2.2

Mit der DLE Version 2.2 wird die aktuelle Java-Version 21 unterstützt. Es muss bei der Installation eine zu Java 21 kompatible Java-Version installiert werden. Auch der zentrale Webserver der DLE-Installtion (Jetty) wird mit dieser Version auf die neueste stabile Version aktualisiert. Dadurch werden höhere Sicherheitsstandards und neuere Technologien unterstützt. Es werden mit dieser Version auch weitere Javabibliotheken auf die neueste verfügbare Version aktualisiert.

Wichtige Hinweise:

  • Die DLE 2.2 Aktualisierung kann nicht rückgängig gemacht werden.

  • Diese Anleitung bezieht sich auf eine beispielhaft installierte DLE unter C:\DLE (Windows) oder /opt/dle/ (Linux). Passen Sie gegebenenfalls die Pfade an.

 

 

1. Vorbereitung

1.1 Voraussetzungen

  1. Installierte DLE

    1. Vor einem Update auf DLE 2.2 sollte mindestens auf DLE Version 2.1.2 aktualisiert und die volle Funktionalität geprüft worden sein.

  2. Dateien

    1. Datei update_DLE_V2.1_V2.2.zip (Download VF Developers Portal)
    2. Datei update_DLE_v2.2.0...zip (Download VF Developers Portal)
    3. JDK 21

1.2 Installiertes JDK ermitteln

Windows

  1. C:\DLE\java\bin\java -version

Linux

  1. /opt/DLE/java/bin/java -version (alternativ im bin-Verzeichnis mit ./java -version)

 

1.3 Passwörter vergeben

Wenn der Security Service vor dem Update nicht in der Session-Config aktiviert ist, müssen Sie nach dem Aktivieren, die Passwörter für Ihre administrativen Benutzerkonten einmalig neu setzen. Dadurch vermeiden Sie, dass Probleme auftreten nach dem Update beim Einloggen.

1.4 (optional) DLE-Daten sichern

Wir empfehlen eine Datensicherung vor der Aktualisierung. Diese sollte die DLE-Datenbank sowie die DLE-Anwendungsdateien beinhalten.

1.5 (optional) Alte Brickrevisionen löschen

Siehe dle.vision-flow.at/technische-details/technik/dle-java-api/reorganisation-von-bricks/

1.6 DLE-Server stoppen

Deaktivieren Sie Dienste, welche DLE-Server überwachen und automatisch starten.

Windows mit Windowsdienst "dleservice"

  1. DLE-Server herunterfahren
  2. Windowsdienst (üblicherweise "DLE_PROD") beenden

Windows & Linux

  1. DLE Serveradministration
  2. "Shutdown Server"
  3. "Shutdown"

1.7 Andere Benutzer abmelden

Abhängig vom Betriebssystem sollten Sie andere Benutzerkonten auf dem betroffenen DLE-Server-Computer abmelden, um gesperrte Ressourcen zu verhindern.

Windows: Taskmanager > Benutzer > andere "Abmelden"

 

 

2. Ausführung Pre-Update Installationspaket

ACHTUNG: Dieser Schritt muss noch mit Java-Version 8 ausgeführt werden.

Dieser Vorgang muss nur einmalig ausgeführt werden.

Dieser Vorgang stellt sicher, dass die DLE-Datenbank aktualisiert wird. Die Verbindungskoordinaten in der DLESessionConfig.xml-Datei für den defaultConnector müssen für die DLE-Installation das Ändern von Datenbank-Tabellen/Views erlauben. D.h. der Datenbankbenutzer braucht ALTER/CREATE-Rechte. Ist dies nicht möglich, dann muss die Datenbankaktualisierung manuell ausgeführt werden.

2.1 Bereitstellen

Kopieren Sie die Datei update_DLE_V2.1_V2.2.zip nach DLE\install\updates.

2.2 Ausführen des Pre-Update Pakets

Führen Sie folgende Kommandos in der Kommandozeile (Shell) aus.

Windows

Ausführen > cmd > Rechtsklick > Als Administrator ausführen

 

cd C:\DLE\scripts
..\java\bin\java -Ddle.start.debug=true -jar ..\dlestart.jar -update

Linux

 

cd /opt/DLE/scripts
../java/bin/java -Ddle.start.debug=true -jar ../dlestart.jar -update

3. Aktualisierung JDK 21

3.1 JDK aktualisieren

DLE 2.1 erfordert JDK 21. Aktualisieren Sie Ihr DLE JDK im Verzeichnis DLE\java.

Sichern Sie das aktuelle Java-Verzeichnis (z. B. als Java_old) und kopieren Sie den inhalt von DLE\java_old\jre\lib\security nach DLE\java\lib\security im aktualisierten Java-21-Verzeichnis.

Wir empfehlen die allerneueste JDK-Patchversion, da diese die beste Sicherheit und Leistung bietet.

3.1.1 Corretto JDK 21 (empfohlen)

Download: https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html

Extrahieren unter Linux:

Shell tar -zxvf amazon-corretto...tar.gz

Shell tar -xvf amazon-corretto...tar

3.1.2 Oracle JDK 21

Download: www.oracle.com/java/technologies/downloads/

3.1.3 OpenJDK 21

Download: openjdk.java.net

3.2 JDBC-Datenbanktreiber aktualisieren

Abhängig von Ihrer Datenbankversion müssen Sie gegebenenfalls die JDBC-Datenbanktreiber aktualisieren, falls diese nicht zwischen Java 8 (DLE 2.1) und Java 21 (DLE 2.2) kompatibel sind. Dies betrifft u.a.:

 

Datenbank JDK 8 Treiber JDK 21 Treiber Anmerkung
Microsoft SQL Server sqljdbc42.jar mssql-jdbc-12.8.1.jre11.jar  
MySQL mysql-connector-java-5.1.48.jar mysql-connector-java-5.1.48.jar  
Oracle ojdbc8-19.8.0.0.jar ojdbc17.jar  
       

 

 

4. Startup-Parameter kontrollieren/konfigurieren

Mit DLE-Version 2.2 wird die standardmäßig mit dem DLE-Class-Loader gestartet. (siehe dazu: Start der DLE - Abschnitt DLE-Class-Loader)

Dies führt dazu, dass gewisse Parameter aus der startup.xml-Datei in die Startskripte für den DLE-Dienst verlagert werden müssen (startserver.bat bzw. startserver.sh).
Dies betrifft zum Beispiel -Xmx und -Xms Parameter.

5. Aktualisierung DLE 2.2 Anwendung

Eine Aktualisierung auf die aktuelle DLE 2.2 Version erfolgt mittels bereitgestelltem DLE-Update-ZIP.

Bereitstellen

Kopieren Sie die neueste Datei update_DLE_v2.2.X.XXX_YYYYMMDD.zip nach DLE\install\updates.

Installieren

Installieren Sie die DLE 2.2 Aktualisierung.

Windows

  • Ausführen > cmd > Rechtsklick > Als Administrator ausführen
cd DLE\scripts
..\java\bin\java -Ddle.start.debug=true -jar ..\dlestart.jar -update

 

Linux

 

cd DLE/scripts
../java/bin/java -Ddle.start.debug=true -jar ../dlestart.jar -update

6. Optionale Maßnahmen

Die folgenden Maßnahmen haben keinen unmittelbaren Bezug zum Aktualisierungsvorgang der DLE 2.2. Wir empfehlen dennoch, die folgenden Maßnahmen zu prüfen.

6.1 Maximal zugesicherter Arbeitsspeicher

Wir empfehlen, als Start-Argument für den DLE/Java-Prozess den maximal zugesicherten Arbeitsspeicher auf mindestens 2 GB zu erhöhen.

-DXmx2G

6.2 FileDirectories erweitern auf DLE-Installationspfad

DLE 2.1 bietet neue Funktionen und Assistenten, welche Schreibzugriff auf das DLE-Installationsverzeichnis erfordern. Wir empfehlen, den Schreibzugriff auf das DLE-Installationsverzeichnis zu erweitern. Der erste Parameter sollte "~/temp" sein. "~" entspricht dem DLE-Instllationsverzeichnis.

<Property name="FileDirectories" value="~/temp;~/;~"/>

6.3 MaxWorker erhöhen

Empfehlung ab Version 2.2.0.011:

Dieser Wert muss abhängig von durchschnittlicher Bricklaufzeit und Art der in Bricks verrichteter Aufgaben gesetzt werden. Wichtig ist, dass dieser Wert die maximal zulässigen Datenbankverbindungen um mindestens 10 unterschreitet. Werden viele Bricks mit Zugriffen auf Drittsysteme eingesetzt (z.B. lang laufende DB-Abfragen, HTTP/FTP/Email-Abfragen aus Bricks), dann kann dieser Wert höher gewählt werden, als wenn hauptsächlich Berechnungsaufgaben abgearbeitet werden.

Empfehlung bis Version 2.2.0.010:

Wir empfehlen, die maximalen Anzahl der DLE-internen Worker in DLE/server/Serverconfig.xml auf die Anzahl der zeitgleich angemeldeten Anwender plus die Anzahl der Queues - typischerweise drei - plus einer Reserve von fünf, zu setzen. Dieser Wert ist abhängig von der Belastung.

Empfohlener Wert, wenn Sie bis zu 20 Mitarbeiter im Intranet haben:

<Property name="MaxWorkers" value="30" />

Empfohlener Wert, wenn Sie öffentlich verfügbare Webapps betreiben:

<Property name="MaxWorkers" value="100" />

6.4 Security Service aktivieren

Wir empfehlen, den DLE Security Service zu aktivieren. Dieser erfordert die Authentifizierung von DLE-Benutzern mit Kennwort. Sie sollten administrativen Benutzerkonten die Benutzergruppe "DLE Admin" zuweisen.

        <Service name="SecurityService" class="at.visionflow.dle.engine.security.DLESecurityService">
            <Properties>
                <Property name="ByConflictForbidden" value="True" />
                <Property name="NotDefinedRightsAllowed" value="False" />
                <Property name="WithoutSecurity" value="False" />
                <Property name="PublishDLEEnvironment" value="True" />
            </Properties>
        </Service>

Vor dem Update müssen Sie die Passwörter für Ihre administrative Benutzerkonten einmalig neu setzen. Dadurch vermeiden Sie, dass es Probleme auftreten nach dem Update beim Einloggen.

6.5 Logger Service deaktivieren

Wir empfehlen, den DLE Logger Service - nicht zu verwechseln mit dem DLE System Logger Service - zu deaktivieren. Sie können das betreffend XML-Element auskommentieren oder entfernen.

         <Service name="LoggerService" class="at.visionflow.dle.engine.logging.DLELog4jLoggerService">
            <Properties>
                <Property name="level" value="warn" />
            </Properties>
        </Service>

6.6 "Testsystem"-Flag in Session-Config

In der Session-Config kann das Property <Property name="TestSystem" value="true" /> gesetzt werden, welches man die Systeme (z.b. Test- und Produktivsystem) unterscheiden kann.

 

 

 

 

7. Abschluss

Die DLE-Softwareaktualisierung ist abgeschlossen. Starten Sie den DLE-Server wieder im regulären Betrieb.

7.1 DLE-Autostartdienst reaktivieren

Windows mit Windowsdienst "dleservice":

  1. Windowsdienste öffnen
  2. Dienst "DLE_PROD" (o.ä.) starten

Windows ohne Windowsdienst "dleservice":

  1. C:\DLE\scripts\startserver.bat

Linux mit "systemctl":

  1. cd /opt/dle/scripts
  2. systemctl start dle

Linux via "nohup":

  1. cd /opt/dle/scripts
  2. nohup ./startserver.sh &

7.2 Metadatenvalidierung

Führen Sie in der DLE Online IDE den Menüpunkt Werkzeuge > Metadatenvalidierung aus. Wählen Sie das Paket DLE und kontrollieren Sie, ob die Datenbankaktualisierung fehlerfrei war.

7.3 Browsercache

In manchen Fällen gibt es Browsercache-Probleme nach einer DLE Softwareaktualisierung. Drücken Sie in diesem Fall STRG+SHIFT+R (Chrome, Firefox, Edge) oder STRG+F5 (Internet Explorer), um den Browsercache erzwungen zu aktualisieren.

7.4 Pakete aktualisieren

Bestimmte DLE-Pakete sind zwischen DLE 2.1 und 2.2 inkompatibel. Diese müssen erneut installiert werden.

TBD

Paket Kompatibel? Empfohlene Aktion
CBR nein Paket deinstallieren (löschen Sie das Verzeichnis DLE\packages\CBR)
DLECHART ja  
DLEGEN ja  
DPE ja  
DTMS ja  
DVIEW nein Paket erneut installieren
DWA ja  
EDI ja  
FLEETBOARD3 ja  
MONITORING ja  
OFFICE_INTEGRATION ja  
TRULIOO ja  
VFXFORM ja  
VFXOES ja  
VFXPDF ja  
VFXWPS ja Ab der Version 1.8.5 müssen Sie jene Bricks, welches das Kommando "VFXWPS Portal" beinhalten, neu kompilieren
WEB ja  
WEBMOBILE ja  

 

 

 

Probleme & Lösungen

Fehlermeldung beim Starten des update_DLE_V2.1_V2.2.zip-Updates

java.lang.NullPointerException: Cannot invoke "String.length()" because "jar" is null

Diese Fehlermeldung wird angezeigt, wenn die DLE für das Ausführen dieser Zip-Datei mit Java 21 statt Java 8 ausgeführt wurde.

 

Fehlermeldung beim Starten der DLE nach den Update
java.io.IOException: BC JKS store is read-only and only supports certificate entries

Dieser Fehler tritt auf, wenn versucht wird, einen Keystore im BouncyCastle-JKS-Format zu laden, der nur lesbar ist und keine privaten Schlüssel unterstützt.

Java (ab Version 9+) ist bei der Validierung strenger als Java 8 und verweigert den Start des Webservers (z. B. Jetty), wenn kein gültiger Keystore mit privatem Schlüssel bereitsteht.

Lösung: Keystore in PKCS12 Umwandeln