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
Keine Kommentare vorhanden
Keine Kommentare vorhanden