Use Case

Multi File Transfer auf BPMN: eigene Synchronisationslogik über Clouds und Speicher hinweg, mit Inhaltsprüfung

Eigene Synchronisationslogik über Clouds und Speicher als BPMN-Prozess: Routen und Regeln für Ihre Aufgaben, Optionen zur Prüfung auf Viren und Datenabfluss.

Ausgabe für die Geschäftsführung

Das Problem

Mitarbeiter des Unternehmens und externe Partner müssen Dateien sicher austauschen. Jeder von ihnen nutzt womöglich eine andere Cloud- und Speichertechnologie: S3-kompatibel, FTP, HTTP und so weiter. Deshalb müssen Dateien zwischen unterschiedlichen Speichern synchronisiert werden, im Einklang mit den Sicherheitsanforderungen des Unternehmens.

Was sich ändert

Am Beispiel von SharePoint und SFTPGo:

  1. Ein SharePoint-Administrator pflegt die Routen in einer Liste — welche Bibliothek in welchen SFTPGo-Ordner geht und zurück — und kann eine Route pausieren und reaktivieren; ohne Codeänderungen.
  2. Eine Dateiänderung oder ein geplanter Zyklus startet den Prozess; er liest die Änderungen seitenweise und plant einen Transfer pro Datei und Route.
  3. Jeder Transfer ermittelt das Ziel, liest die Quelle, lädt an einen temporären Ort hoch und finalisiert erst dann unter dem endgültigen Namen — am Ziel bleibt keine halb geschriebene Datei zurück.
  4. Die Leseposition rückt erst vor, wenn jeder Transfer abgeschlossen ist, sodass nichts übersprungen wird.
  5. Nach einem Neustart werden abgeschlossene Dateien nicht erneut übertragen, und ein zweiter Host übernimmt die Arbeit.
  6. Der Prozess wiederholt fehlgeschlagene Transfers automatisch. Eine Datei, deren Vertraulichkeitskennzeichnung den Transfer verbietet, geht in die Quarantäne, die ein externer Service über ICAP (Internet Content Adaptation Protocol) kontrolliert, und erreicht nie die Partnerzone; der SFTPGo-Administrator legt die ICAP-Prüfung als Bedingung für die Veröffentlichung fest.

Was es bringt

  • Eigene Synchronisationslogik: verschiedene Clouds und Speicher, Routen und Regeln für Ihre Aufgaben, in einem BPMN-Prozess statt in Skripten für jedes Portal.
  • Optionen zur Inhaltsprüfung: Eine Datei wird auf Viren und Abfluss personenbezogener Daten geprüft, bevor sie ihr Ziel erreicht.
  • Ein Transferprotokoll für jede Datei, keine halb geschriebenen Dateien; abgeschlossene Dateien werden nach einem Neustart nicht erneut übertragen.

Was MEF.DEV einbringt

MEF.DEV BPMN Low-code auf der Enablement & Monetization Platform: versionierte Prozesse mit Wiederholungen und Wiederherstellung, angebunden an Microsoft Graph und SFTPGo.

Architect edition — Multi File Transfer auf BPMN

Platz in der Architektur

Der Transfer läuft als versionierte BPMN-Prozesse in MEF.DEV BPMN Low-code auf der Enablement & Monetization Platform, nicht als separate Anwendung. Die Prozesse erben die ODA-Ausrichtung der Plattform: API-Funktionen entsprechen der Rolle von ODA-Komponenten, und Kubernetes mit GitOps-Delivery ist die Betriebsumgebung. Der Vertrag jedes Prozesses ist seine typisierte Grenze.

Komponenten

  • Routenliste Eine SharePoint-Liste mit Quellpfad, Zielpfad, Modus der Erstbefüllung und Aktiv-Kennzeichen. Ein SharePoint-Administrator pflegt sie; die Plattform liest sie zu Beginn eines Zyklus, vergleicht sie mit dem gespeicherten Snapshot und schreibt den Status.
  • Zyklusprozess transfer_files bedient ein Drive für einen Zyklus.
  • Dateiprozess transfer_file überträgt eine Datei in vier typisierten Operationen.
  • Backend-Plugin Führt die Operationen gegen Microsoft Graph und SFTPGo aus.
  • Task-Worker Nimmt unvollendete Arbeit nach einem Ausfall wieder auf.

Verträge

  • DriveWorkModel Eingabe eines Zyklus: Drive-Schlüssel, gespeicherte Position (DeltaLink), zu bedienende Routen und Routengedächtnis.
  • FileTransferModel Eingabe eines Transfers: operationId, Quelltransport und -pfad, Zieltransport und -pfad, endgültiger Name.
  • OperationResult Status mit Fehlercode, Korrelationskennung und retryAfterSeconds. Eine Ablehnung wie FinalNameConflict kommt als Ergebnis zurück, und der Aufrufer entscheidet anhand des Status.
  • Zyklusergebnisse COMMITTED, NOT_COMMITTED, NO_DELTA_LINK und im Debug-Modus PLANNED_ONLY.
  • Anmeldedaten Der Wert eines Access Token überschreitet die BPMN-Grenze nicht: Das Credential wird auf den Verbindungskontext angewendet. Die Anwendung nutzt Sites.Selected mit Admin Consent.

Ablauf eines Zyklus

  1. Eine Benachrichtigung signalisiert nur eine Änderung. Der Zyklus liest die Änderungen über Microsoft Graph seitenweise ab der gespeicherten Position.
  2. Eine spätere Änderung einer Datei ersetzt die frühere, daher wird eine Datei pro Route und Zyklus höchstens einmal übertragen.
  3. Der Zyklus plant einen Transfer pro Datei und Route und ruft für jeden nacheinander transfer_file auf.
  4. Jeder Transfer ermittelt das Ziel, liest die Quelle, lädt an einen temporären Ort hoch und finalisiert unter dem endgültigen Namen. Erst in diesem letzten Schritt wird die Datei am Ziel sichtbar.
  5. Die neue Position wird zusammen mit dem Routengedächtnis erst festgeschrieben, wenn jeder Transfer abgeschlossen ist; andernfalls beginnt der nächste Zyklus erneut ab der alten Position.

Wiederherstellung

  • Der Zustand jedes Aufrufs wird gespeichert: Nach einem Neustart werden abgeschlossene Dateien nicht erneut übertragen, und der unterbrochene Schritt läuft von Anfang an erneut.
  • Ein Worker nimmt die unvollendete Aufgabe auf und setzt dieselbe Hauptinstanz fort; ein zweiter Host übernimmt, nachdem der erste angehalten hat.
  • Ein Neustart setzt Bytes nicht ab einem Offset fort, und eine Operation nach dem letzten gespeicherten Zustand kann sich wiederholen.

Integrationspunkte

  • Microsoft 365 Ausgehendes HTTPS zu Microsoft Graph über einen Forward Proxy mit Allowlist; ein eingehender HTTPS-Endpunkt auf dem Reverse Proxy in der DMZ (Demilitarized Zone) für Benachrichtigungen.
  • SFTPGo Für jede Route legt der SFTPGo-Administrator die Zonen staging, published und quarantine fest, ein technisches Konto, eine Upload-Event-Regel in Richtung Message Broker und eine ICAP-Prüfung als Bedingung für die Veröffentlichung. Partner sehen nur published.
  • Plattform Ein Message Broker, eine Datenbank für Transferjournal, Cursor und Subscriptions sowie ein Scheduler für die Erneuerung der Subscriptions und einen täglichen Kontrollzyklus.

Menschen behalten die Kontrolle

Der SharePoint-Administrator verantwortet die Routen und pausiert oder reaktiviert sie. Der Prozess wiederholt fehlgeschlagene Transfers automatisch, und ein externer Service kontrolliert die Quarantäne über ICAP.

Grenzen

  • Eine Route ist unidirektional; die Gegenrichtung ist eine separate Route mit separaten Ordnern.
  • Löschungen werden nicht übertragen, und eine umbenannte Datei gilt als neu.
  • Berechtigungen, Versionshistorie und SharePoint-Metadaten werden nicht übertragen.
  • Die Reihenfolge zwischen Dateien bleibt nicht erhalten; der Modus der Erstbefüllung wird beim Anlegen einer Route festgelegt.

Lösungsumfang

Der Umfang der oben genannten Quarantäne- und Kontrollzyklen wird im Projekt vereinbart.

Technische Details auf platform.mef.dev →

Für alle Leser gleich

TM Forum ODA · Open API

TM Forum ODA und Open APIs

MEF.DEV stellt TM Forum Open APIs bereit, folgt den ODA-Prinzipien und ist im TM Forum ODA Component Directory eingetragen.

BSL 1.1

Lizenz

Business Source License 1.1: kostenlos für den internen Produktiveinsatz; Enterprise Modules per Lizenzschlüssel; jede Version wird nach vier Jahren zu Apache 2.0.

EU · on-premises · Cloud

Sicherheit, Daten und Rechtsraum

EU-Unternehmen; Deployment in Ihrer Infrastruktur, Anmeldung über Standard-SSO; Entwicklung, Umsetzung und Support unter einem Qualitätssystem nach ISO 9001:2015.

ISO 9001:2015

Zertifizierte Entwicklung und Sicherheit

WideCoup Convergent BSS und MEF.DEV werden unter einem Qualitätsmanagementsystem nach ISO 9001:2015 entwickelt, eingeführt und betreut; MEF.DEV bestand ein unabhängiges Sicherheitsaudit und einen Penetrationstest.

Zertifikate und Audit →

Dokumentanfrage

 

Die Benachrichtigungen gehören zum Material: So bleibt es kostenlos. Jede Benachrichtigung enthält einen Abmeldelink.

Mit dem Absenden dieses Formulars akzeptieren Sie die Datenschutzerklärung, Nutzungsbedingungen und funktionale und Analyse-Cookies.