MES Inside
MES Inside gibt Einblick in Betrieb, Fehler, Performance und Nutzung von Anwendungen. Die Plattform wird beim Kunden betrieben, sammelt Telemetrie aus alten und neuen .NET-Anwendungen und darf niemals selbst zum Ausfallgrund einer Fachanwendung werden.
Dokumentationsstatus: Beschreibungen sind als Verfügbar, In Arbeit oder Geplant zu verstehen. Eine in Architektur, Pflichtenheft oder Roadmap beschriebene Funktion ist nicht automatisch bereits implementiert. Verbindlich sind der Status und die Abnahme im Meilensteinplan.
Erster vertikaler Schnitt
- Der Client erfasst ein strukturiertes Ereignis.
- Das Ereignis wird lokal in eine begrenzte Spool-Datei geschrieben.
- Ein In-Process-Uploader oder optionaler Agent überträgt geschlossene Dateien als idempotente Batches.
- Die API bestätigt die dauerhafte Annahme.
- Erst nach Bestätigung löscht der Agent die lokale Datei.
- Web ermöglicht Suche, Diagnose und Administration.
Projekte
| Projekt | Aufgabe |
|---|---|
MES.Inside.Contracts |
Versionsstabile Ereignis- und API-Verträge |
MES.Inside.Client |
Kleine Integration und lokale Spool |
MES.Inside.Agent |
Batch-Upload, Retry und lokale Konfiguration |
MES.Inside.Api |
Sichere, validierte und idempotente Annahme |
MES.Inside.Data |
Persistenz, Abfragen, Retention und Migrationen |
MES.Inside.Web |
Suche, Dashboards, Alerting und Administration |
Client und Contracts zielen auf netstandard2.0, damit ältere
.NET-Framework-/WebForms-Anwendungen angebunden werden können. Server, Agent
und Web verwenden .NET 10.
Verbindliche Client-Zielplattformen:
| Komponente | Target Framework |
|---|---|
MES.Inside.Contracts |
netstandard2.0 |
MES.Inside.Configuration |
netstandard2.0 |
MES.Inside.Client |
netstandard2.0 |
| WebForms-Adapter | net48 |
| ASP.NET-Core-Adapter | net8.0 |
Der gemeinsame Kern darf nur Abhängigkeiten verwenden, die
netstandard2.0 unterstützen. Dadurch bleibt er mit .NET Framework 4.8 und
.NET 8 kompatibel. Die Adapter kapseln ausschließlich den unterschiedlichen
Web-Lifecycle (Global.asax/ASP.NET gegenüber DI und IHostedService).
MES.Inside.Data verwendet Entity Framework Core nach dem Code-First-Prinzip.
SQL Server ist der zuerst unterstützte und getestete Provider. Domänenmodell
und DbContext bleiben providerneutral, damit weitere EF-Core-Provider
ergänzt werden können.
Die Website besitzt zwei klar getrennte Flächen:
- einen öffentlichen Produkt-, Dokumentations- und Downloadbereich;
- eine authentisierte Betriebsoberfläche für Logs, Traces, Metriken, Alerting, Maintenance und Administration.
Unverhandelbare Grundsätze
- Keine synchronen Netzwerk- oder Datenbankzugriffe für Telemetrie im Request.
- Logs, Traces und Metriken sind unterschiedliche Signale.
- Fehler und langsame Operationen werden bevorzugt; normale Traces gesampelt.
- Keine Passwörter, Tokens, Cookies oder vollständigen Form-/Session-Dumps.
- Ereignis- und Batch-IDs verhindern Doppelzählung bei Wiederholungen.
- Spool und Datenbank besitzen feste Größen- und Aufbewahrungsgrenzen.
- Security-Regeln starten im
Observe-Modus. - On-Premises-Betrieb ist ohne permanente Verbindung zu MES möglich.
- Ein Mandant kann seine Daten und Konfigurationen vollständig exportieren und auf einer anderen MES-Inside-Installation wieder importieren.
Weitere Grundlagen:
- Entwicklungsmanifest
- Architektur
- MVP und Roadmap
- Verbindlicher Meilensteinplan
- Späterer Backlog
- Konfigurationsdokumentation
- Lastenheft
- Pflichtenheft
- Abnahmematrix
- Sicherheit und Datenschutz
- Administrator- und Notfallzugang
- Datenbank-Upgrades
- Projektbezogene API-Zugänge
- Datenexport und Serverwechsel
- KI-unterstützte Integration für Codex und Claude
- NuGet-Pakete und offizieller Feed
- NuGet-Pakete aktualisieren und veröffentlichen
- Hosted Pilot
- Tarife und Credits
- B2B-AGB-Arbeitsentwurf
- AVV-Arbeitsentwurf
- Technische und organisatorische Maßnahmen
- Datenschutzerklärung MES Inside
- Datenschutzhinweis-Vorlage für Kunden
- .NET-8-Clientpilot
- Testwebs für .NET 8 und .NET Framework 4.8
- M1-Abnahme: vollständiger Datenweg
- Website und Veröffentlichung
- Fehler-Fingerprints und Fehlergruppen
- Architekturentscheidungen