primedocs ist eine mehrschichtige Plattform aus mehreren Server-Diensten, einer zentralen Authentifizierung, mehreren Datenbanken und verschiedenen Clients (Touchpoints). Die folgende Übersicht zeigt, wie diese Komponenten zusammenspielen und welche Rolle jede einzelne übernimmt.

Clients (Touchpoints)
| Komponente | Rolle |
|---|
| primedocs Web (React Web App) | Haupt-UI ausserhalb von Office. Kommuniziert über die Web API mit dem Server. |
| Office Web Add-Ins (Office.js) | In-Office-Integration für Word, Excel, PowerPoint und Outlook — im Browser, auf macOS und Windows. |
| primedocs Desktop (WPF Windows Client) | Windows-Client mit lokalem Offline-Cache (ESENT) und Address-/Data-Providern. Meldet sich per OIDC am Identity Server an und synchronisiert über den Sync-Service. |
| Office COM Add-Ins (VSTO) | Legacy-Integration in Office unter Windows; wird durch die Web Add-Ins abgelöst. |
| Web-Admin | Web-Oberfläche für die Verwaltung von Datenquellen, Vorlagen, Benutzern und Rechten. |
Server-Komponenten (primedocs Server Apps)
| Komponente | Rolle |
|---|
Web API (PrimeDocs.Web.WebApi) | Versionierte REST-Schnittstelle — zentrale HTTP-API für die Web-Touchpoints und für Drittsysteme. Ohne Breaking Changes versioniert. |
Sync-Service (PrimeDocs.Service.Host) | Synchronisiert Daten für den Desktop-Client (Offline-Cache). Die Abwärtskompatibilität ist zwingend. |
| Data Service | Liefert Adress- und Stammdaten über die konfigurierten Address Provider an Client und Server. |
| Document Creation Server (DCS) | Serverseitige Dokumentgenerierung — erzeugt Dokumente ohne Client-Beteiligung, z. B. aus Drittsystemen über die Connect-Schnittstelle. |
| JobHost | Führt Hintergrundjobs aus: Provisionierung/Synchronisierung, Import/Export, geplante Aufgaben. |
| Document Engine | Generierungs-Pipeline (Chain of Responsibility) für Word, Excel, PowerPoint und Outlook. Läuft sowohl serverseitig als auch im Client. Siehe Dokumentgenerierung. |
Authentifizierung
| Komponente | Rolle |
|---|
Identity Server (IdS) (PrimeDocs.IdentityServer.CustomerHost) | Zentrale Authentifizierung über OIDC/OAuth 2.0 und JWT. Bindet externe Identitätsquellen (Microsoft Entra ID, Active Directory, Microsoft 365) an. Alle Clients und Server-Dienste authentifizieren sich gegen den IdS. |
Datenbanken (SQL Server)
primedocs unterscheidet zwischen mandantenspezifischen und instanzweiten Daten:
| Datenbank | Inhalt |
|---|
Datasource-Datenbank (PrimeDocsContext) | Pro Datasource (Mandant) eine Instanz: Vorlagen, Snippets, Benutzer, Profile, Organisationseinheiten und Rechte. |
Operations-Datenbank (OperationContext) | Instanzweite Daten: Tokens, Logging sowie SCIM-Provisionierungsdaten (Benutzer, Gruppen, Requests). Umfasst auch den Identity-Server-Store (Konfiguration und Persisted Grants) — physisch dieselbe Datenbank, mit getrennter Migrationsverwaltung. |
Datenquellen und Synchronisierung
| Komponente | Rolle |
|---|
| Address Provider (AP) | Pluggable Datenquellen für Adress- und Stammdaten (LDAP, CRM, SharePoint, HTTP, SQL, u. a.) über die Select-Schnittstelle. |
| Benutzer-Synchronisierung | Provisionierung der Benutzer aus AD, SQL oder eigenen Quellen — über LDAP/SQL/HTTP sowie SCIM. |
Externe Systeme (LOB-Apps)
Drittsysteme — Win32-Anwendungen, Office-Add-Ins oder beliebige Dienste — binden primedocs über zwei Wege an: die Connect-Schnittstelle (XML-basiert, zur Automatisierung der Dokumentgenerierung) und die Web API (REST). Ergänzend steht der SharePoint Connector zur Verfügung. Der Zugriff ist plattformübergreifend möglich (Browser, Windows, macOS, Android).
In diesem Abschnitt