...
...
...
...
...
...
...
...
...
...
Table of Contents |
---|
Einleitung
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.
Installation
1. Führen Sie das SetupMwc.exe aus.
...
8. Die eigentlichen Programmdateien liegen unter diesem Pfad.
...
9. Die Konfigurationsdatei für die Kopier-Jobs zwischen den verschiedenen Datenbanken (beispielsweise einer Finance-Datenbank und einer JobRouter-Datenbank) findet sich unter folgendem Pfad (appsettings.json). Zusätzlich werden dort Log-Dateien zum Austausch der Daten (mwc*.txt) angelegt.
...
10. Unter den Windows-Diensten findet sich ein neuer Dienst, der die Weboberfläche hostet und die Kopierjobs verwaltet.
...
Weiter geht es mit der Job-Einrichtung.
...
Der MWC bietet eine einfache Kommandozeilen-basierte Benutzerverwaltung. Im Installationsverzeichnis befindet sich dafür das Programm Mwc.exe, mit dem unter anderem ein neuer Benutzer angelegt werden kann:
...
Die Benutzer werden in der Datei %PROGRAMDATA%\NEVARIS\MiddlewareConnector\users.json, die bei der ersten Anlage eines Benutzers initial erstellt wird. Sobald sie vorhanden ist, ist für den Zugriff auf die Web-Oberfläche die Eingabe von Zugangsdaten erforderlich:
...
Der Aufruf von .\mwc.exe (ohne Argumente) liefert eine Übersicht über die verfügbaren Befehle:
...
Update
Wenn eine neue Version des MWCs bereit steht, folgen Sie bitte diesem Leitfaden.
Führen Sie das neue SetupMwc.exe aus.
...
2. Klicken Sie auf "NEVARIS aktualisieren".
...
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:
...
Beschreibung: Übertragung der Stammdaten aus Finance in die SQL-Datenbank.
Quelle: Datenhaltung FINExport, zusätzliche Informationen sind im Kapitel Einrichtungen zu HTTP-APIs (Datenhaltungen beginnend mit FIN) beschrieben.
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:
...
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:
Quelle: Datenhaltung FIN***OhneExport
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:
...
Die endgültige Auswahl der Datenhaltungen sieht dann wie folgt aus:
Quelle: Datenhaltung JR***OhneExport
Ziel: Datenhaltung FIN***OhneExport
Anchor | ||||
---|---|---|---|---|
|
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.1#EntraIDOAuth2.0Anwendungen)
Client Secret: Tragen Sie den Geheimschlüssel (AIOAzureAppKeyValue) ein, den Sie bei der Einrichtung erhalten
habenhaben (Einrichtung Azure AD-Anmeldung - ACS - Finance 2024.1#Erl%C3%A4uterungdesSkriptes)
Scope:
Der Scope setzt sich zusammen aus der Application ID URI der WebClient App-Registrierung, den den Berechtigungen .default und offline_access:
Beispiel: api://XXXXXX-XXXXXX-XXXXX-XXXXX/.default offline offline_access
Die URI finden Sie in Ihrer AppProperties.json (Einrichtung Azure AD-Anmeldung - ACS - Finance 2024.1#Erl%C3%A4uterungdesSkriptes)
Anchor | ||||
---|---|---|---|---|
|
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.
Info |
---|
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. |
...
Ein vollständig konfigurierter Job sieht zum Beispiel so aus:
...
Abgesehen von der Möglichkeit, Jobs zu erstellen und zu bearbeiten, gibt es noch weitere Funktionen:
Löschen: Löscht einen Job nach einer Sicherheitsabfrage.
Duplizieren: Erstellt eine Kopie eines Jobs unter neuem Namen.
Tipp: Häufig möchte man zusätzlich zu einem bestehenden Job einen weiteren Job erstellen, der Daten in die entgegengesetzte Richtung (das heißt vom Ziel in die Quelle) transferiert. Dies kann durch Duplizieren des Jobs und anschließendem Vertauschen von Quelle und Ziel (mithilfe des Buttons ⇆) erreicht werden.Ausführen: Startet den Datentransfer unabhängig von der Cron-Anweisung.
Stoppen: Bricht die Ausführung eines Datentransfers ab.
Aktivieren/Deaktivieren eines Jobs: Standardmäßig ist ein Job aktiv, d.h. er wird gemäß der per Cron-Anweisung definierten Zeitplanung periodisch ausgeführt. Durch Entfernen des Aktiv-Häkchens wird diese Zeitplanung deaktiviert. Der Job kann aber trotzdem per Ausführen-Funktion explizit angestoßen werden.
Aktivieren/Deaktivieren der gesamten Job-Verarbeitung: Wenn dieses Häkchen entfernt wird, wird kein Job mehr automatisch gestartet. Ein explizites Ausführen einzelner Jobs ist weiterhin möglich.
Job-Konfiguration per appsettings.json
Die über die Web-Oberfläche erfolgte Konfiguration der Jobs wird in der Datei %PROGRAMDATA%\NEVARIS\MiddlewareConnector\appsettings.json abgespeichert. Der Inhalt sieht z.B. auszugsweise so aus und kann auch von Hand bearbeitet werden:
...
Anpassen der Basisadresse (URL mit Port)
In der Datei %PROGRAMDATA%\NEVARIS\MiddlewareConnector\appsettings.json ist neben der Job-Konfiguration auch der URL hinterlegt, über den die Web-Oberfläche erreichbar ist. In diese fließt der im Setup eingegeben Port ein, z.B.:
...
Ein nachträgliches Ändern des URLs ist möglich und erfordert einen Neustart des NEVARIS MiddlewareConnector-Diensts:
...
Die Angabe mehrerer URLs ist möglich (per Semikolon getrennt, z.B.: "Urls": "http://localhost:5210;https://localhost:7180").
Anchor | ||||
---|---|---|---|---|
|
Der MWC wird bereits vorgefertigten Konfigurationen ausgeliefert. Diese Konfigurationen liegen im Programmverzeichnis. Außerdem befindet sich im Programmverzeichnis die Datei appsettings.json, in der die Konfigurationsdateien eingebunden werden:
...
Zum Anpassen der Konfiguration sollten diese Dateien nicht modifiziert werden, da sie Teil der Installation sind. Es ist aber möglich, Inhalte der ausgelieferten appsettings.json-Datei zu überschreiben, indem man in der oben genannten %PROGRAMDATA%\NEVARIS\MiddlewareConnector\appsettings.json den relevanten Abschnitt neu definiert, z.B:
...
Die hier referenzierten Dateien my-configuration-finance.json und my-configuration-jobrouter.json werden in %PROGRAMDATA%\NEVARIS\MiddlewareConnector erwartet. Sie können durch Kopieren und Anpassen der ausgelieferten configuration-finance.json und configuration-jobrouter.json entstanden sein.
...