System-Anforderungen BISO
English Version
BISO ist eine klassische 3-tier Web-Applikation, bestehend aus einem Single-Page JavaScript-Frontend, PHP-App-Server und PostgreSQL-Datenbank.
Die Applikation besteht aus den folgenden 3 Komponenten:
- Client-Applikation:
- JavaScript-SPA
- läuft im Browser der Benutzer
- Applikationsserver:
- PHP-Applikation
- Apache HTTP-Server mit PHP-Modul als Webserver
- Persistenz:
- PostgreSQL-Datenbank für relationale Applikationsdaten
- (optional) PostgreSQL-Datenbank für Change-Logging
- Filesystem-Volume, als Mount auf dem Applikationsserver
Der Applikationsserver kann sowohl als native Installation direkt auf einem Linux-/Windows-System installiert werden, oder als Docker-Container / Kubernetes-Installation betrieben werden.
native Server-Installation
Applikationsserver
- Linux-Server mit Apache Web-Server bevorzugt, Windows-Server und/oder IIS wird auch unterstützt, aber nicht empfohlen.
- 64-bit-System
- Mind. 4GB RAM
- Mind. 2GB Disk Space, je nach anfallenden / gespeicherten Nutzerdaten. Daumenpeilung: pro Beratungsfall ca. 10MB Speicherplatz
- Mind. Dual-Core
- Apache HTTP Server >= 2.4 inkl. mod_rewrite, mod_deflate, mod_headers, .htaccess-Support
- PHP >= 8.3, als Apache-Modul oder FastCGI-Prozess (empfohlen)
- PHP Modules:
- fileinfo
- ftp
- gd
- intl
- json
- mb_string
- soap
- pdo
- pdo-pgsql
- opcache
- openssl
- xml
- zip
- Java JRE >= 11-kompatible Java-Runtime (PDF-Erstellung mit Apache FOP)
- SMTP-Server für Mail-Versand
- (optional) Mail-SMS-Gateway für SMS-Versand
Datenbank-Server
- Linux-Server mit PostgreSQL-Server bevorzugt, Windows-Server wird ebenfalls unterstützt (Abhängig von PostgreSQL-Verfügbarkeit)
- 64-bit-System
- Mind. 4GB RAM, 8GB empfohlen
- Mind. 2GB Disk space, je nach Datenaufkommen entsprechend mehr einplanen.
- Mind. Dual-Core
- PostgreSQL-Server >= 14.0
Betrieb als Docker-Container
Wir liefern den BISO-App-Server auf Wunsch als OCI-Container-Image. Für den Betrieb ist folgendes erforderlich:
- eine OCI-Runtime (z.B. Docker, Podman, containerd etc.)
- ein Data-Volume für persistente File-Daten, siehe oben
- Netzwerk-Port-Freigaben für HTTP(S)-TCP-Ports
Wir liefern das Applikationsserver-Image als Docker-Image. Der PostgreSQL-Server kann extern bereitgestellt, oder
ebenfalls als Container konfiguriert werden.
Zu beachten:
Aktuell ist BISO nicht für skalierte Umgebungen gedacht: Es ist nur für eine einzelne Instanz geeignet.
Betrieb in einer Kubernetes-Umgebung
Der BISO-Applikationsserver kann ebenso auf einer Kubernetes-Umgebung betrieben werden. Aktuell unterstützen wir einen Single-Instance-Betrieb (noch nicht horizontal skalierbar, nur 1 App-Pod) auf Kubernetes-Umgebungen, welche folgende Anforderungen unterstützen:
- Deployment als Pod mit Init- und App-Container
- Ingress-Controller für http(s)-Service-Publikation
- persistent volume für Datenhaltung und Zusatzkonfiguration
- CronJob-Container für Hintergrund-Arbeiten
- Konfiguration via ConfigMap (env-Variablen und Datei-Inhalt) sowie mittels Helm-Chart
Die Installation auf Kubernetes-Cluster ist aktuell noch in Arbeit, und bedingt individuelle Anpassungen an die Cluster-Umgebung.
Eine horizontale Skalierung ist prinzipiell möglich, muss aber aktuell noch entwickelt werden (Stichwort: shared web session / client pinning)
Wir liefern für BISO ein Helm-Chart-Repository: https://biso.kadenpartner.ch/helm-repository/
Für individuelle Konfiguration als Kubernetes-Applikation nehmen Sie bitte mit uns Kontakt auf
Client (Browser)
- Chrome >= 80
- Firefox >= 70
- Microsoft Edge, Chromium Version
- Microsoft Internet Explorer wird NICHT mehr unterstützt.
- PDF-Viewer für PDF >= 1.4 (z.B. Acrobat Reader)