Architektur-Überblick
Datenbankbindungen/Support
- Oracle
- Microsoft-SQL-Server
Installer
- Basierend auf izPack (Java)
- Bündelt alle Komponenten
Update/Migration
- DB-Updates basieren auf Migrationspaketen
- Ein Python-basiertes Migrations-Framework ist im Server enthalten
Python
- Wird als Skriptsprache in der gesamten Anwendung verwendet.
- Gebündelte Versionen von CPython (nativer Server) und IronPython (GUI-Client)
- API bietet Zugriff auf Server- und Client-Funktionen [Links]
YAJSW - Yet Another Java Service Wrapper
- Stellt Daemon- und Init-Skripte unter Linux oder Dienste unter Windows
- Ruft Java-Server auf, Monitoring
Monitoring
- Prüft die DB-Verfügbarkeit
- Prüft die Serververfügbarkeit
- Web-basierte Schnittstelle (Jetty)
Java Server (Standalone)
- Bietet eine DB-Schnittstelle über Hibernate/JDBC
- Stellt eine minimalistische REST-Schnittstelle für das Monitoring bereit.
- Kommuniziert mit nativen Serverkomponenten mittels Protokoll-Puffern durch eine (lokale) Netzwerkbuchse
- Logging über slf4j, mit logback als Backend
- Ruft den nativen Server auf
Nativer Server (Piggyback)
- Akzeptiert eingehende Client-Verbindungen
- Ruft den per-session-Prozess auf
- Stellt die Verbindung zum Java-Server her
- Kommuniziert mit dem Client mittels XML-Protokoll durch eine Netzwerkbuchse
Client
- Stellt die Verbindung zum nativen Server her
- Entweder GUI oder Headless
- GUI kann entweder vorinstalliert oder per ClickOnce bereitgestellt werden
Authentifizierungsschemata
- Interaktiv (Benutzername/Passwort)
- Kerberos
- Single-Sign-On mittels CredentialManager