Systemarchitektur
Übersicht der Hauptkomponenten
┌─────────────────────────────────────────────────────────────────────────┐
│ MesoWorkerService │
│ (.NET 9 Hintergrunddienst) │
└─────────────────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌────────────────┐ ┌──────────────────┐
│ Mail-Dienst │ │ Workflow- │ │ Überwachungs- │
│ (MailWorker) │ │ Erzeugung │ │ dienst │
│ │ │ (OrderLine) │ │ (NoRuleWarning) │
└───────────────┘ └────────────────┘ └──────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌───────────────────────────────────────────────────────┐
│ Mesonic WinLine Datenbanken │
│ • CWLSYSTEM (Systemdatenbank) │
│ • Mandantendatenbanken │
└───────────────────────────────────────────────────────┘
│
▼
┌───────────────────────┐
│ Anwendungsdatenbank │
│ (MesoWorkerDb) │
│ • Konfiguration │
│ • Protokollierung │
│ • Mail-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)
Datenfluss
┌──────────────────┐
│ WinLine CRM │──┐
│ (Workflows) │ │
└──────────────────┘ │
│ ┌─────────────────────┐
┌──────────────────┐ ├───→│ MesoWorkerService │
│ WinLine Belege │ │ │ (Jobs) │
│ (Bestelldatei) │──┘ └─────────────────────┘
└──────────────────┘ │
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌─────────┐ ┌────────────┐
│ SMTP-Server │ │ WinLine │ │ Anwendung │
│ (E-Mails) │ │ DB │ │ DB │
└──────────────┘ └─────────┘ └────────────┘
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