Konfiguration des Middleware Connectors - Finance 2025.1.3

Konfiguration des Middleware Connectors - Finance 2025.1.3

Vorwort

Der Middleware Connector (MWC) ist ein Dienst, der die Kommunikation zwischen verschiedenen Anwendungen, Systemen oder Technologien ermöglicht.
Er fungiert als Schnittstelle, die es unterschiedlichen Programmen ermöglicht, miteinander zu kommunizieren und Daten auszutauschen, selbst wenn diese auf verteilten Plattformen oder mit verschiedenen Technologien arbeiten.

Er wird eingesetzt, um die Integration verschiedener Softwareanwendungen im Unternehmensumfeld zu erleichtern, indem er die Interoperabilität zwischen ihnen sicherstellt.

Zurzeit wird der MWC für die Anbindung von JobRouter (per SQL-Zugriff) genutzt.

Voraussetzungen

Erfolgte Installation des MiddleWare Connectors.

Einrichten der Jobs via WebClient

Die Einrichtung wird nachfolgend beschrieben am Beispiel der Finance-JobRouter-Schnittstelle (Connect2JR).

Auf dem Server, auf dem der Middleware Connector installiert wurde, lässt sich die Konfigurations-Seite nach Eingabe des Ports, der bei der Installation eingegeben wurde, im Webbrowser öffnen. Initial wird dort eine leere Liste von Jobs angezeigt, mit der Möglichkeit, neue Jobs zu erstellen.

Klicken Sie auf Neuer Job, um einen neuen Job zu erstellen und anschließend auf Bearbeiten, um ihn zu konfigurieren:

Bei einem Job handelt es sich um zeitgesteuerte Datentransfer-Anweisung. Dafür muss konfiguriert werden, von wo Daten gelesen werden (Quelle) und wohin diese geschrieben werden sollen (Ziel). Als mögliche Datenhaltungen kommen aktuell HTTP APIs sowie SQL Server-Datenbanken infrage. Es werden bereits einige konfigurierte Datenhaltungen ausgeliefert, die jeweils im Feld Datenhaltung für Quelle und Ziel ausgewählt werden:

Es wird empfohlen die drei folgenden Jobs wie folgt anzulegen:

Job Nr. 1: Export

Beschreibung: Übertragung der Stammdaten aus Finance in die SQL-Datenbank.

  1. Quelle: Datenhaltung FINExport, zusätzliche Informationen sind im Kapitel Einrichtungen zu HTTP-APIs (Datenhaltungen beginnend mit FIN) beschrieben.

  2. Ziel: Datenhaltung JRExport, die zusätzliche Einrichtung ist im Kapitel Einrichtungen zu SQL-Datenbanken (Datenhaltungen beginnend mit JR) beschrieben.

Nach erfolgter Einrichtung den Job speichern und mit der Aktion "Duplizieren" den zweiten Job anlegen. Den neu angelegten Job über "Bearbeiten" wie folgt anpassen:

Job Nr. 2: BK_Status und Upload

Beschreibung: Übertragung der Statusupdates vom BK_Status und optional die Übertragung der weiteren Rechnungs- und Kontierungsdaten wenn der Upload-Schritt im REBU-Import verwendet wird.

Im duplizierten Job muss jeweils für Quelle und Ziel die Datenhaltung angepasst werden. Je nach verwendeten Umfang (REBU, RABU, etc.) der Schnittstelle, weicht die auszuwählende Datenhaltung ab. Zur Auswahl stehen die Datenhaltungen:

  • JRRebuOhneExport und FINRebuOhneExport: Rechnungseingangsbuch

  • JRRebuRabuOhneExport und FINRebuRabuOhneExport: Rechnungseingangsbuch und Rechnungsausgangsbuch

  • JRRebuRabuKabuOhneExport und FINRebuRabuKabuOhneExport:  Rechnungseingangsbuch, Rechnungsausgangsbuch und Kassenbuch

  • JRRebuRabuKabuUrlaubOhneExport und FINRebuRabuKabuOhneExport: Rechnungseingangsbuch, Rechnungsausgangsbuch, Kassenbuch und Urlaubsanträge

Die endgültige Auswahl der Datenhaltungen sieht dann wie folgt aus:

  1. Quelle: Datenhaltung FIN***OhneExport

  2. Ziel: Datenhaltung JR***OhneExport

Nach erfolgter Einrichtung den Job speichern und mit der Aktion "Duplizieren" den dritten Job anlegen. Den neu angelegten Job über "Bearbeiten" wie folgt anpassen:

Job Nr. 3: Import

Beschreibung: Ermittlung und Übertragung der zu importierenden Datensätze.

Über die Pfeile zwischen Quelle und Ziel die Richtung tauschen, dass als Quelle die SQL-Datenbank verwendet wird und als Ziel die HTTP API.

Die endgültige Auswahl der Datenhaltungen sieht dann wie folgt aus:

  1. Quelle: Datenhaltung JR***OhneExport

  2. Ziel: Datenhaltung FIN***OhneExport

Einrichtungen zu HTTP-APIs (Datenhaltungen beginnend mit FIN)

Ermöglicht den Zugriff auf die von Finance per HTTP API veröffentlichten Daten (lesend und schreibend). Für die Konfiguration ist die Eingabe der API-Basisadresse (URI) erforderlich sowie die notwendigen Zugangsdaten.

  • Datenhaltung: FIN***

  • URI: https://Webserver:OData-Port/Mittelschicht/api/nevaris/financeworkflow/v2.0/companies(ID des Mandanten). Die ID des Mandanten kann über die Seitenüberprüfung in der Mandantenübersicht oder alternativ über einen GET-Request des Endpunktes /companies der Finance API (https://Webserver:OData-Port/Mittelschicht/api/nevaris/finance/v2.0/companies) ermittelt werden. Damit die API "financeworkflow" vollständig initialisiert wird, ist das Öffnen der entsprechenden Einrichtung "Workflow Standorte" in Finance erforderlich.

  • Authentifizierung:

    • Basic:

      • Benutzername: Windows-Benutzername

      • Passwort: Webdienst-Zugriffschlüssel aus der Benutzerkarte des Benutzers für die Verbindung

    • NTLM

    • OAuth2.0:

      • Access Token URL: https://login.microsoftonline.com/Tenant ID/oauth2/v2.0/token

      • Client ID: Wählen Sie die Client ID (AIOAzureAppID) der Entra-Anwendung aus, die Sie angelegt haben (Einrichtung Azure AD-Anmeldung - ACS - Finance 2024.2#EntraIDOAuth2.0Anwendungen)

      • Client Secret: Tragen Sie den Geheimschlüssel (AIOAzureAppKeyValue) ein, den Sie bei der Einrichtung erhalten haben (Einrichtung Azure AD-Anmeldung - ACS - Finance 2024.2#Erl%C3%A4uterungdesSkriptes)

      • Scope: 

        • Der Scope setzt sich zusammen aus der Application ID URI der WebClient App-Registrierung, den Berechtigungen .default und offline_access:

          Beispiel: api://XXXXXX-XXXXXX-XXXXX-XXXXX/.default offline_access
          Die URI finden Sie in Ihrer AppProperties.json (Einrichtung Azure AD-Anmeldung - ACS - Finance 2024.2#Erl%C3%A4uterungdesSkriptes)

Einrichtungen zu SQL-Datenbanken (Datenhaltungen beginnend mit JR)

  • Datenhaltung: JR***

  • SQL-Server: Name des SQL-Servers inkl. Instanz

  • Datenbank: Name der Datenbank

  • Integrated Security: Aktivierung/Deaktivierung von Integrated Security

  • Benutzer: Angabe des SQL-Benutzers. In diesem Fall ist ein dbo-Benutzer erforderlich, da im Rahmen der Ausführung des Jobs für die Richtung Finance → JobRouter die Stammdatentabellen angelegt werden, sofern diese noch nicht angelegt sind.

  • Passwort: Passwort des SQL-Benutzers.

  • Weitere Argumente: Die genannten Felder bilden den Connection String für den SQL-Server, welcher bei Bedarf durch weitere Argumente erweitert werden kann.

In einigen Fällen wie z. B. abweichenden Tabellennamen vom Standard (Beispiel: REBU_JR statt REBUKOPF) kann es erforderlich, eigene Konfigurationen zu erstellen. Die Vorgehensweise wird im unten stehenden Kapitel Anpassung der Datenhaltungs-Konfiguration beschrieben.

Abgesehen von Quelle und Ziel kann noch der Name des Jobs festgelegt werden sowie (optional) eine Cron-Anweisung, die angibt, zu welchen Zeitpunkten der Job ausgeführt, das heißt ein Datentransfer von der Quelle zum Ziel stattfinden soll. Die Cron-Anweisung ist Sekunden-basiert, das heißt, die erste Zahl gibt an, zu welchen Sekunden-Werten der Job ausgeführt wird. Es folgen Minuten und Stunden. Die initial vorgeschlagene Anweisung 0 0 * * * ? bedeutet: Führe den Job genau zu jeder vollen Stunde aus. Eine detaillierte Beschreibung der Cron-Syntax findet sich hier.

Ein vollständig konfigurierter Job sieht zum Beispiel so aus: