Update-Anleitung (GTC-Version 22.09.xx)

Im Folgenden erhalten Sie eine detaillierte Anleitung, wie Sie beim Update der Software GlobalTaxCenter (GTC) vorgehen sollten. Bitte halten Sie die unten angegebene Reihenfolge bei der Aktualisierung ein. Eine andere Reihenfolge kann zu einem fehlerhaften Systemverhalten nach der Aktualisierung führen.

Mit diesem Updates werden einige grundlegende Anpassungen in der GTC-Konfiguration vorgenommen, die die zukünftigen Updates vereinfachen. Zudem setzt diese GTC-Version nun Java 17 voraus.


1) Vorbereitungen

1.1) Systemvoraussetzungen prüfen

Bevor Sie mit dem Update beginnen, überprüfen Sie bitte, ob Applikations- und Datenbankserver noch die Mindestanforderungen erfüllen. Das Wichtigste in Kürze:

  • Das verwendete DBMS darf nicht älter als 5 Jahre sein. Sofern Sie MSSQL einsetzen, müssen Sie mindestens die Version 2017 verwenden.
  • Der Tomcat-Server muss in der Version 9.0.x (mit Java 17) betrieben werden.

Java 17

Mit diesem Release haben wir das GTC von Java 8 auf Java 17 umgestellt. Bitte stellen Sie daher sicher, dass ihr Tomcat 9 mit Java 17 läuft. Eine Anleitung, wie Java 17 installiert wird, können Sie über diesen Link abrufen.

Wenn die Java-Installation durchgeführt wurde, können Sie mit dem GTC-Update fortfahren.

1.2) Web Application Server stoppen

  1. Stoppen Sie den Web Application Server (z.B. Tomcat) wie gewohnt über die Kommandozeile oder den Dienste-Manager.
  2. Löschen Sie den Inhalt des Verzeichnisses „work“ der Tomcat-Installation.

1.3) Datenbank-Backup durchführen

Sie sollten zuerst ein Datenbank-Backup erstellen, welches wiederhergestellt (Rollback) werden kann, falls die Aktualisierung fehlschlagen sollte. Informationen, wie dies durchgeführt werden kann, entnehmen Sie bitte dem Benutzerhandbuch Ihres Datenbank-Management-Systems.

1.4) Altes Deployment sichern

  1. Im Unterverzeichnis "\webapps" des Web Application Server finden Sie das bisher installierte Deployment (i.d.R. mit dem Namen "\gtc" oder auch "\ROOT").
  2. Benennen Sie dieses Verzeichnis bzw. die "war"-Datei um (z.B. in "\gtc_<version>_alt") und verschieben es anschließend in ein Verzeichnis außerhalb des "\webapps"-Verzeichnisses. Das gesicherte Deployment darf auf keinem Fall im "\webapps"-Verzeichnis verbleiben. Dies würde im späteren Verlauf der Aktualisierung zu schwerwiegenden Fehlern führen.

Nachdem die Vorbereitungen abgeschlossen wurden, können mit der Aktualisierung fortfahren.

1.5) Download das Auslieferungspakets

Laden Sie über den Link, der Ihnen in der Bereitstellung-Mail mitgeteilt wurde, das Installationspaket herunter. Legen Sie es in einem temporären Ordner ab. Das Deployment-Paket stellen wir Ihnen als war-Datei zur Verfügung.

Sollte es notwendig sein, Inhalte im Paket anzupassen, muss die Datei vorher mit 7-zip entpackt werden. Alternativ benennen Sie die Datei gtc.war in gtc.zip um, dann können Sie den Windows-Explorer dafür verwenden.

1.6) Tomcat auf Java 17 umstellen

Im Dokument Upgrade von Java8 auf Java17 ist beschrieben, wie Java 17 installiert und dem Tomcat 9 bekannt gemacht wird. 

Zusätzlich sind dem Tomcat mit der Anwendung "tomcat9w.exe" im Tomcat/bin-Verzeichnis die folgenden Java-Startparameter hinzuzufügen:

--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED

Kein Tomcat 10

Bitte beachten Sie, dass der Tomcat 10 (aufgrund der Mindestvoraussetzung der Servlet 5.0 API) nicht verwendet werden kann.

1.7) Datenbanktreiber im Tomcat hinterlegen

Aus lizenzrechtlichen Gründen darf AMANA die JDBC-Treiber für MySQL, Microsoft SQL Server und Oracle nicht im GTC-Deployment mit ausliefern.

1. Bitte laden Sie den Treiber, der laut Herstellerangaben zu Ihrer Datenbankversion und Java 17 passt, beim Hersteller herunter. 

2. Hinterlegen Sie den Treiber im Verzeichnis "<Tomcat-Root>/lib".

1.8) SAPJCO aktualisieren (optional für Systeme mit einer RfC-Anbindung an SAP)

Das GTC arbeitet mit einer neuen SAPJCO-Version. Erkundigen Sie sich ggf. bei der Fachabteilung, ob in Ihrem Unternehmen RfC-Schnittstellen im GTC verwendet werden. Sofern dies der Fall ist, müssen Sie die folgenden Schritte durchführen.

  1. Laden Sie von der SAP-Support-Seite den passenden Connector für Ihr System herunter.
  2. Tauschen Sie, falls vorhanden, die Datei  "sapjco3{*}.jar" aus dem Verzeichnis "<Tomcat-root>/lib" mit der heruntergeladenen "sapjco3{*}.jar" aus. Ist keine "sapjco3{*}.jar" vorhanden, genügt es die neue Datei einzufügen.
  3. Entfernen Sie die alte "sapjco.dll". Diese kann in verschiedenen Verzeichnissen liegen, meistens im "system32"-Verzeichnis von Windows.
  4. Fügen Sie die neue "sapjco.dll" in das Verzeichnis "<Tomcat-root>/bin" ein.

1.9) Kerberos-SSO aktualisieren

Sofern in Ihrer Installation Single-Sign-On mit Kerberos umgesetzt wurde, müssen Sie Anpassungen vornehmen.

Mit Java 17 wird schwache Kerberos-Authentifizierung nicht mehr offiziell unterstützt. Detaillierte Informationen zur Konfiguration haben wir in diesem Kapitel zusammengetragen.

Kerberos-SSO unter Java 17

1.10) Konfiguration der Datenbankverbindung im GTC

Zentral im Tomcat (JNDI)

Oracle und JNDI (betrifft nur die Versionen bis 22.09.02)

Verwenden Sie keine JNDI-Verbindung, falls Sie eine Oracle-Datenbank im Einsatz haben. Sobald JNDI auch für Oracle freigegeben ist, informieren wir Sie.

Konfigurieren Sie die Datenbank-Verbindung wie bisher innerhalb des GTC-Deployments (nächstes Kapitel).

Ab Version 22.09.03 kann die JNDI-Verbindung auch für Oracle-Datenbanken verwendet werden.

Das bisherige Standard-Deployment des GTC sah vor, dass die Datenbankverbindung bei jeder GTC-Auslieferung in der zur Datenbank passenden repository-Datei kundenspezifisch angepasst wurde. Dieser Prozess ist nun dahingehend vereinfacht, dass das Standard-Deployment mit der JNDI-Datasource "gtcdatasource" konfiguriert ist. Hierzu muss kundenseitig einmalig pro Tomcat die Datei context.xml im Tomcat/conf-Verzeichnis erweitert werden, indem die JNDI-Datasource dort innerhalb des context-Tags definiert wird. Die Verwendung der JNDI-Konfiguration hat den Vorteil, dass die Datenbank-Verbindung nicht mehr innerhalb des GTC-Deployments angepasst werden muss.

"Resource"-Eintrag in Oracle
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver"
        maxTotal="20" maxIdle="10" maxWaitMillis="-1" name="jdbc/gtcdatasource" username="root" password="test" 
        type="javax.sql.DataSource" url="jdbc:oracle:thin:@hostname:1521/gtc" 
/>


Bei Verwendung des Microsoft SQL-Servers sind hierbei Angaben zur Verschlüsselung (encrypt) und zur Vertrauenswürdigkeit (trustServerCertificate) des Server-Zertifikats zu machen:

"Resource"-Eintrag in MSSQL
<Resource	auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"     
            maxTotal="20" maxIdle="10" maxWaitMillis="-1" name="jdbc/gtcdatasource" username="root" password="test" 
			type="javax.sql.DataSource" url="jdbc:sqlserver://hostname:1433;DatabaseName=...;encrypt=...;trustServerCertificate=..." 
/>

Im Falle des Microsoft SQL-Servers empfiehlt AMANA zudem eine Installation mit Integrated Security, bei der keine Angaben zu Username und Password in der context.xml hinterlegt werden müssen. Für die Datenbankverbindung wird stattdessen der Account verwendet, unter dem der Tomcat-Dienst ausgeführt wird.

Innerhalb des GTC-Deployments

Anstelle einer JNDI-Datasource kann die Datenbankverbindung wie bisher in der zur Datenbank passenden repository-Datei konfiguriert werden.

Bitte beachten Sie, dass in diesem Fall in jedem Deployment sowohl die Datei "repository_mssql.xml", "repository_mysql.xml" oder "repository_oracle.xml" als auch die Datei "repository.xml" angepasst werden müssen. Lesen Sie im Abschnitt "Deployment aktualisieren" die Details dazu.

2) Deployment aktualisieren

Automatische Aktualisierung

Es ist auch möglich, von AMANA ein Powershell-Script zur automatischen Aktualisierung des GTC zu erhalten. Der ausführende User muss Administrationsberechtigung besitzen.

Kopieren Sie das neue Deployment in das Unterverzeichnis "\webapps", also "<Installationsverzeichnis Tomcat>\webapps\".

Sofern Sie Anpassungen (web.xml, ApplicationConfig.properties oder Datenbank-Verbindung) im GTC-Deployment vornehmen müssen, entpacken Sie das WAR-Archiv mit 7-zip.


Nur im Fall, das keine JNDI-Verbindung verwendet wird:

Analog zur bisher installierten GTC-Version, muss dem neuen Deployment bekannt gemacht werden, mit welcher Art von Datenbank es sich verbinden soll. Dazu wird in der zentralen "..\webapps\<gtc-root>\WEB_INF\classes\repository.xml"-Datei ein Verweis auf die richtige Datenbank (MySql, Oracle, MS SQL) angelegt. Danach müssen die Verbindungsparameter in der jeweiligen repository_<xyz>.xml aktualisiert werden. Im einzelnen:

Hinweis zum Kopieren von Konfigurationsdateien

Kopieren Sie nicht einfach die repository.xml-Dateien aus dem alten GTC-Deployment in das neue Deployment. Dies kann zu Fehlern führen, da sich der Inhalt der repository-Dateien mit der Zeit leicht verändern kann.

  1. Anpassen der Datei "<gtc-root>\WEB_INF\classes\repository.xml":
    Hier teilen Sie dem GTC mit, mit welcher Art von Datenbank es sich verbinden soll. Suchen Sie die Zeile: <!ENTITY datasource SYSTEM "repository_mysql.xml"> und ersetzen Sie den Begriff "mysql" ggf. entsprechend Ihrer Datenbankart. Haben Sie Oracle im Einsatz verwenden Sie „oracle“. Verwenden Sie eine MS SQL-Datenbank schreiben Sie „mssql“ (z.B. <!ENTITY datasource SYSTEM "repository_mssql.xml">).
  2. Übertragen Sie die Verbindungseinstellungen aus der "repository_mysql.xml", "repository_oracle.xml" oder "repository_mssql.xml" aus der vorherigen Sicherung in das Verzeichnis "<gtc-root>\WEB-INF\classes\" in die gleichnamige Datei des neuen Deployments.


Falls weitere Anpassungen am Deployment bekannt sind (z.B. in der Datei "web.xml"), übertragen Sie diese bitte auch durch Editieren der jeweiligen Datei.

3) Datenbank aktualisieren

Es stehen zwei Varianten für die Aktualisierung der Datenbank zur Verfügung.

Im Standard erhalten Sie ein Auslieferungspaket ohne Datenbankskripte mit eingestellter automatischer Datenbank-Aktualisierung (Flyway).

Optional haben Sie die Möglichkeit die Aktualisierung der Datenbank manuell durch Skripte durchführen zu lassen. Die Skripte werden wir Ihnen auf Anfrage bereitstellen. Wir benötigen dafür die Versionsnummer des bereits installierten GTC. Im Abschnitt 3.2 wird darauf näher eingegangen.

3.1) Automatisches Update der Datenbank

Stellen Sie unbedingt sicher, dass eine aktuelle Sicherung der Datenbank verfügbar ist und diese im Bedarf wieder eingespielt werden kann (siehe Abschnitt 1.4).

Zur Aktualisierung der Datenbank sind keine weiteren Schritte notwendig. Beim Start der Anwendung unter Punkt 4) wird das Update der Datenbank automatisch durchgeführt.

Achtung!

Die Applikation aktualisiert ohne weitere Abfrage die Datenbank. Bitte prüfen Sie danach unbedingt die Logdatei "gtc_dbMigration.log" auf Fehler.

Im Erfolgsfall wird dies im Log durch folgende Meldung angezeigt:

2021-09-16 14:39:43 [INFO ] ###################### Migration successful ######################
2021-09-16 14:39:43 [INFO ] ScriptLocationPath: C:\Tomcat 9.0_GTC\webapps\ROOT\migration/sql
2021-09-16 14:39:43 [INFO ] ConfigLocationPath: C:\Tomcat 9.0_GTC\webapps\ROOT\migration/flywayConfig.properties
2021-09-16 14:39:43 [INFO ] CSVPlaceholderPath: C:\Tomcat 9.0_GTC\webapps\ROOT\migration/FlywayPlaceholders.csv
2021-09-16 14:39:44 [INFO ] ############################################
2021-09-16 14:39:44 [INFO ] Current version: 20210705100000021_Insert TAUTORUNJOB MigrateUserDialogPresentation
2021-09-16 14:39:44 [INFO ] Pending Scripts: No pending scripts
2021-09-16 14:39:44 [INFO ] ############################################

3.2) Manuelles Update der Datenbank

Berechtigungen

Verwenden Sie zum Ausführen der Datenbankskripte einen Datenbankbenutzer, der volle Berechtigungen für das Datenbankschema hat. Andernfalls kann es vorkommen, dass Datenbanktabellen nicht korrekt erstellt oder aktualisiert werden können oder dass das GTC zur Laufzeit nicht korrekt auf die Tabellen zugreifen kann.

Überprüfen Sie auf jeden Fall die Ergebnisse in den Protokolldateien, um festzustellen, ob es irgendwelche Anomalien gab. Sollten Sie einen Fehler feststellen, wenden Sie sich bitte an unsere Hotline.


Wenn Sie die manuelle Aktualisierung nutzen, führen Sie bitte folgende Schritte aus:

  1. Starten Sie das DBMS ihres Datenbank-Servers und wählen sie das Datenbank-Schema aus, das zur GTC-Applikation gehört.
  2. Führen Sie die mitgelieferten SQL-Update-Skripte in Sortierreihenfolge der Dateinamen bzw. Versionen auf diesem Schema aus. Nutzen Sie einen Benutzer, der volle Rechte auf der Datenbank hat.
    Beispiel:
    • 01_MSSQL_xyz_abc.sql
    • 02_Insert_Reporting_MSSQL.sql
    • usw.

4) Finale Schritte

  1. Starten Sie den Web Application Server wie gewohnt über die Kommandozeile oder den Dienste-Manager. Beim Server-Start werden nun u. U. das Update der Datenbank und Autorun-Jobs durchgeführt. Diese sind Teil der Aktualisierung und müssen erfolgreich ausgeführt werden.
    Brechen Sie den Server-Start also nicht ab, auch wenn das Starten länger als gewöhnlich dauert. Kontaktieren Sie im Zweifelsfalle die Hotline.
  2. Nach dem Start des Servers testen Sie den Zugriff auf das GlobalTaxCenter oder informieren Sie Ihre zuständige Fachabteilung, um den Zugriff testen zu lassen, falls Sie selbst keine Zugangsdaten für das GTC haben.
  3. Wechseln Sie (oder ein berechtigter Vertreter) im Bereich Stammdaten in den Dialog Administration und dort in den Reiter Log und öffnen Sie die Datei "gtc_autorun.log". Prüfen Sie, ob die Autorun-Jobs erfolgreich durchgelaufen sind oder ob Fehlermeldungen angezeigt werden. Im Fehlerfall wenden Sie sich bitte an die Hotline - GlobalTaxCenter Suite und schicken die Log-Dateien "gtc_autorun.log" und „gtc_system.log“ mit.
  4. Falls nach der Aktualisierung Fehler in der Webapplikation auftreten, kontaktieren Sie bitte ebenfalls die Hotline - GlobalTaxCenter Suite und senden die Log-Dateien mit.

5) Transfer in andere Instanzen

Wenn Sie mit mehreren Instanzen (Entwicklung, Test, Integration, Produktion, ...) arbeiten, beachten Sie bitte, dass in jeder Instanz die oben genannten Schritte in der gleichen Art und Weise durchgeführt werden müssen.

Beispiel (nur relevant, sofern Sie die Datenbank-Updates weiterhin manuell durchführen):

  1. In der Test- und Produktivumgebung ist das GTC in der Version 22.00.01 installiert.
  2. Sie aktualisieren nun die Testumgebung mit der Version 22.00.03.
  3. Ein paar Wochen später bekommen Sie ein neues Auslieferungspaket bereitgestellt und aktualisieren die Testumgebung. Diese hat nun die Version 22.00.07.
  4. Die Produktivumgebung läuft immer noch mit der Version 22.00.01.
  5. Sie erhalten von der Fachabteilung die Freigabe, das Produktivsystem auf Version 22.00.07 zu aktualisieren.
  6. Sie müssen in jedem Fall im ersten Schritt die Skripte der Version 22.00.03 einspielen, bevor Sie mit der Installation der Version 22.00.07 fortfahren. Nur so können Sie verhindern, dass ein Schiefstand in der Datenbank entsteht.

6) TransferClient-Installation und Einbindung ins GTC (optional)

Sofern mit dem GTC (Modul Tax Return) auch elektronische Versendungen an die Finanzverwaltung durchgeführt werden, muss in regelmäßigen Abständen das Modul TransferClient (TC) aktualisiert werden, da hierüber die Versendungen durchgeführt werden.

Haben Sie das GTC-Modul Tax Return erworben, beinhaltet die Auslieferungsmail auch immer das Installationspaket für das Modul TransferClient. Jedoch ändert sich nicht zwangsläufig mit jeder GTC-Bereitstellung auch die TC-Version. Um unnötige Aufwände auf Ihrer Seite zu vermeiden, prüfen Sie daher bitte vor dem Update, ob sich die bereits installierte TC-Version und die in der Mail bereitgestellte Version unterscheiden. Die Versionsnummer (=Dateiversion) der installierten TC-Version können Sie in den Eigenschaften der Datei TransferClient.exe einsehen:

Unterscheiden sich die beiden TC-Versionen, installieren Sie neue TC-Version bitte mit Hilfe der hier verlinkten Anleitung. Bei der Installation notieren Sie bitte die Web-Service-URL, da diese später im GTC-Administrationsbereich hinterlegt bzw. aktualisiert werden muss.

Aufgrund technischer Vorgaben durch die Finanzverwaltung, ist ab circa Mitte April eines jeden Jahres die aktuellste ERiC-Version der Finanzverwaltung zu verwenden (Mindestversionserhöhung). Anderenfalls wird ab diesem Zeitpunkt die Annahme der Steuererklärung seitens der Finanzverwaltung verweigert.

Damit weiterhin Steuererklärungen (auch für ältere Veranlagungszeiträume relevant) mit dem GTC versendet werden können, müssen rechtzeitig vor der Mindestversionserhöhung das GTC und das dazugehörige Versendungs-Modul TransferClient aktualisiert werden.


Für die Konfiguration der TC-Verbindung im GTC müssen die nachfolgend genannten Schritte durchgeführt werden. Für die Konfiguration sind Editier-Berechtigungen für die Bereich Stammdaten / Administration notwendig.

  1. Web Service zum TransferClient aktivieren
  2. Einrichten des Proxys zwischen GTC und TransferClient (optional)
  3. Testen der Verbindung zum TransferClient
  4. Einrichten des Proxys zwischen TransferClient und Finanzverwaltung (optional)

6.1) Web Service zum TransferClient aktivieren

Damit der Elster-Versand als Web Service verfügbar ist, muss folgende Konfiguration vorgenommen werden. Auf der Administrations-Seite wird die Verbindung zum TC ergänzt. (Der TC muss als Web Service gestartet sein.)
Es wird eine neue Verbindung der Kategorie "WebService" eingerichtet. Der Name muss "eric" heißen (auf Groß- und Kleinschreibung achten). 

"Host" und "Port" müssen passend zur durchgeführten TC-Installation eingegeben werden. Sofern die Web Service URL des TC nicht auf "eric" endet, muss der letzte Teil der URL (z.B. eric29) in der Verbindung in das Feld Parameter 1 eingegeben werden.

KategorieWebService
Nameeric
Host<http://ipOderDns>
Port<Port>
Parameter 1<"eric...">

6.2) Proxy zwischen GTC und TransferClient (optional)

Der Proxy wird als separater Verbindungsparameter auf der Administrationsseite gepflegt.

KategorieExternes System
NameatcProxy
Host<http://ipOderDns>
Port<Port>
Benutzer<UserName>
Passwort<Password>

6.3) Verbindungstest zum TransferClient

Nun kann die Verbindung zum TC durch Klick auf das Zahnrad-Symbol (vorne in der Zeile) getestet werden. Es wird anschließend eine Meldung ausgegeben, ob der Test erfolgreich war oder nicht.

Mit diesem Test wird nur die Verbindung zum TC getestet. Es kann immer noch passieren, dass der TC selbst keine Verbindung zur Finanzverwaltung aufbauen kann. Dafür sind ggf. ein Proxy zu konfigurieren oder Ports freizugeben (siehe TC-Anleitung).

Bekannte Fehlermeldungen und deren Lösung sind in einem gesonderten Kapitel dokumentiert.

6.4) Proxy zwischen TransferClient und Finanzverwaltung (optional)

Der Proxy wird als separater Verbindungsparameter auf der Administrationsseite gepflegt.

KategorieExternes System
NameericProxy
Host<http://ipOderDns>
Port<Port>
Benutzer<UserName>
Passwort<Password>
Parameter 1<"Any"/"Basic"/"Digest"/"DigestIE"/"GSS"/"NTLM">