Direkt zum Hauptinhalt

Systemarchitektur

Übersicht der Hauptkomponenten

┌─────────────────────────────────────────────────────────────────────────┐
│                         MesoWorkerService                                │
│                    (.NET 9 Hintergrunddienst)                           │
└─────────────────────────────────────────────────────────────────────────┘
                                    │
                    ┌───────────────┼───────────────┬───────────────┐
                    │               │               │               │
                    ▼               ▼               ▼               ▼
        ┌───────────────┐  ┌────────────────┐  ┌──────────────────┐  ┌──────────────────┐
        │ Mail-Dienst   │  │  Workflow-     │  │  Termin-         │  │  Überwachungs-   │
        │ (MailWorker)  │  │  Erzeugung     │  │  synchronisation │  │  dienst          │
        │               │  │ (OrderLine)    │  │ (Appointment)    │  │ (NoRuleWarning)  │
        └───────────────┘  └────────────────┘  └──────────────────┘  └──────────────────┘
                │                   │                    │                    │
                │                   │                    │                    │
                ▼                   ▼                    ▼                    ▼
        ┌───────────────────────────────────────────────────────┐  ┌─────────────────────┐
        │            Mesonic WinLine Datenbanken                 │  │  MS Graph API       │
        │  • CWLSYSTEM (Systemdatenbank)                        │  │  (Exchange/Outlook) │
        │  • Mandantendatenbanken                               │  └─────────────────────┘
        └───────────────────────────────────────────────────────┘
                                    │
                                    ▼
                        ┌───────────────────────┐
                        │  Anwendungsdatenbank  │
                        │  (MesoWorkerDb)       │
                        │  • Konfiguration      │
                        │  • Protokollierung    │
                        │  • Mail-Journal       │
                        │  • Termin-Journal     │
                        └───────────────────────┘


┌─────────────────────────────────────────────────────────────────────────┐
│                    Administrationsoberflächen                            │
├─────────────────────────────────────────────────────────────────────────┤
│  • Blazor Web-UI (Browser-basiert, Port 5000)                          │
│  • Windows Desktop-Client (MesoWorker.Win.exe)                          │
└─────────────────────────────────────────────────────────────────────────┘

Komponenten im Detail

1. Mail-Dienst (MailWorkerJob)

Funktion: Automatischer E-Mail-Versand basierend auf Workflow-Ereignissen

Workflow:

CRM-Fall in WinLine
        ↓
Regel-Prüfung (Filter & Bedingungen)
        ↓
Empfänger-Ermittlung (Hierarchisches System)
        ↓
Mail-Erstellung (Template + Anhänge)
        ↓
Versand über SMTP
        ↓
Protokollierung im Mail-Journal

Ausführung: Alle 30 Sekunden (konfigurierbar)

2. Workflow-Erzeugung (OrderLineWorkerJob)

Funktion: Automatische CRM-Fall-Erstellung aus Bestelldateizeilen

Workflow:

Bestelldatei-Zeilen in WinLine
        ↓
Filter-Prüfung (Kriterien)
        ↓
Duplikats-Prüfung (Journal)
        ↓
CRM-Fall-Erzeugung
        ↓
Protokollierung

Ausführung: Alle 5 Minuten (konfigurierbar)

3. Überwachungsdienst (NoRuleWarningJob)

Funktion: Warnung bei Workflows ohne E-Mail-Versand trotz aktiver Regeln

Workflow:

Workflows mit aktiven Regeln
        ↓
Prüfung Zeitraum & Grace Period
        ↓
Vergleich mit Mail-Journal
        ↓
Fehlende Mails identifizieren
        ↓
Warnungs-E-Mail an Admins
        ↓
Duplikats-Schutz (Journal)

Ausführung: Täglich um 8:00 Uhr (konfigurierbar)

4. Terminsynchronisation (AppointmentWorkerJob)

Funktion: Automatische Erstellung von Kalender-Terminen aus CRM-Einträgen über MS Graph API

Workflow:

CRM-Einträge (Workflows) in WinLine
        ↓
Filter-Prüfung (Kriterien)
        ↓
Datumsfeld-Ermittlung (Start/Ende)
        ↓
Empfänger-Ermittlung (Benutzer/Gruppen/XRM)
        ↓
Termin-Inhalt (Betreff/Body mit Platzhaltern)
        ↓
Termin-Erstellung über MS Graph API
        ↓
Protokollierung im Termin-Journal
        ↓
Optional: Rücksynchronisation von Änderungen

Ausführung: Alle 10 Minuten (konfigurierbar)

Datenfluss

┌──────────────────┐
│  WinLine CRM     │──┐
│  (Workflows)     │  │
└──────────────────┘  │
                       │    ┌─────────────────────┐
┌──────────────────┐  ├───→│  MesoWorkerService  │
│  WinLine Belege  │  │    │  (Jobs)             │
│  (Bestelldatei)  │──┘    └─────────────────────┘
└──────────────────┘              │
                                   │
                    ┌──────────────┼──────────────┬──────────────┐
                    │              │              │              │
                    ▼              ▼              ▼              ▼
           ┌──────────────┐  ┌─────────┐  ┌────────────┐  ┌─────────────┐
           │  SMTP-Server │  │ WinLine │  │  Anwendung │  │  MS Graph   │
           │  (E-Mails)   │  │   DB    │  │     DB     │  │  API        │
           └──────────────┘  └─────────┘  └────────────┘  │(Exchange)   │
                                                           └─────────────┘

Technologie-Stack

  • .NET 9: Hauptframework
  • DevExpress XAF: UI-Framework für Administrationsoberflächen
  • Quartz.NET: Job-Scheduling
  • Mesonic WinLine SDK: Datenbankzugriff
  • MimeKit/MailKit: E-Mail-Verarbeitung
  • Serilog: Protokollierung

Deployment-Optionen

Option 1: Windows-Dienst

  • Lokale Installation auf Windows Server
  • Direkter Datenbankzugriff
  • .NET 9 Runtime erforderlich

Option 2: Container (Docker/Portainer)

  • Plattformunabhängig
  • Isolierte Umgebung
  • Keine lokale Runtime-Installation nötig
  • Zwei Images: Service + Blazor UI