Voraussetzungen
Voraussetzungen
Im Folgenden finden Sie eine Liste von Hardware- und Softwareanforderungen, die von einer Infrastruktur erfüllt werden müssen, um den reibungslosen Betrieb von iCL Portal zu gewährleisten, sowie einige architektonische Überlegungen. Im Allgemeinen besteht das System aus einem Webserver, der die gesamte Anwendungs- und Präsentationslogik (JavaScript, HTML, etc.) beherbergt, was in diesem Dokument als "Web-Frontend" bezeichnet wird. Der zweite Teil, das "Back-End", ist ein Server, der die Datenbank beherbergt. Für die Erstellung von Berichten stützt sich das System auf den dox42 Server, der über den iCL dox42 Service angebunden ist.
1 Aufbau eines einzelnen Servers
Das folgende Diagramm zeigt eine Übersicht über alle Komponenten des Systems und deren Abhängigkeiten sowie die benötigten Ports und Protokolle:
Wie Sie sehen können, ist das Web-Frontend der einzige Teil des Systems, auf den die iCL Filler-Anwendungen direkt zugreifen, auch für die Erstellung von Berichten.
Im Allgemeinen kommunizieren alle Systeme über HTTP und HTTPS. Lediglich der Zugriff auf den Datei-/Blob-Speicher des iCL-Portals erfolgt über das vom Betriebssystem konfigurierte SMB-Protokoll und die Verbindung zur Microsoft SQL Server-Datenbank erfolgt normalerweise über den TCP-Port 1433. Dieser kann jedoch im Connectionstring angegeben werden. (siehe 2.3.2)
Optional: Für den Fall, dass Sie mehrere Tenants hosten, wobei jeder Tenant seine eigene Datenbank hat, wird der Distributed Transaction Coordinator (DTC) Dienst verwendet. Um diesen zu konfigurieren, folgen Sie den Anweisungen unter Konfigurieren von Microsoft Distributed Transactions Coordinator.
Falls Sie an einer detaillierten Übersicht interessiert sind, welche Daten wann übertragen werden, lesen Sie bitte unter Datenübertragung
2 Einrichtung mehrerer Server (Scaleout)
Abhängig von der Belastung Ihres Systems kann es notwendig sein, iCL Portal auf mehr als einem Server zu hosten. Damit dies funktioniert, müssen Sie zwei zusätzliche Komponenten einrichten: Einen Load Balancer und eine Maschine, die als verteilter Cache fungiert, indem sie Redis ausführt.
Die beiden Web-Frontends, auf denen iCL Portal läuft, werden auf die gleiche Weise konfiguriert wie in einem Einzelserver-Szenario. Sie müssen sich jedoch das gleiche Dateisystem über eine SMB-Netzwerkfreigabe teilen und sich mit einem zentralen Redis-Cache verbinden.Falls Sie an einer detaillierten Übersicht interessiert sind, welche Daten wann übertragen werden, lesen Sie bitte unter Datenübertragung
3 Hardware-Anforderungen
In einer typischen iCL Portal-Installation werden das Web-Frontend und die Datenbank auf zwei verschiedenen physischen Maschinen gehostet. Daher werden sie hier separat aufgeführt. Beachten Sie, dass die Anforderungen von den Anforderungen der aktuell angestrebten Mindestversionen des Windows Server 2012 Betriebssystems und des Microsoft SQL Server 2012 Datenbank-Servers abgeleitet sind.
Mindestanforderungen an das Web-Frontend
- 2 GB Festplattenspeicher (200 GB empfohlen)
- 4 GB RAM (8 GB empfohlen)
- 1,4-GHz-Prozessor mit 64 Bit (2-GHz-Multicore-Prozessor mit 64 Bit empfohlen)
Mindestanforderungen an den Datenbankserver/das Backend
- 50 GB Festplattenspeicher, (100 GB SSD empfohlen)
- 4 GB RAM (1 GB RAM für SQL Server Express Edition, 4 GB+ empfohlen)
- 1,4-GHz-Prozessor mit 64 Bit (2-GHz-Multicore-Prozessor mit 64 Bit empfohlen)
4 Software-Anforderungen
Mindestanforderungen des Web-Frontends
Microsoft Windows Server 2012 x64 Standard Edition
Internet Information Services 8 oder höher
Microsoft .NET Framework 4.6.2 oder höher
Microsoft ASP.NET 4.5 oder höher (einschließlich des WebSocket-Protokolls)
Sie können die folgenden Befehle in der Powershell ausführen, um alle erforderlichen Windows-Funktionen zu aktivieren
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer
Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures
Enable-WindowsOptionalFeature -Online -FeatureName IIS-Security
Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestFiltering
Enable-WindowsOptionalFeature -Online -FeatureName IIS-StaticContent
Enable-WindowsOptionalFeature -Online -FeatureName IIS-DefaultDocument
Enable-WindowsOptionalFeature -Online -FeatureName IIS-DirectoryBrowsing
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpErrors
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpRedirect
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationDevelopment
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebSockets
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationInit
Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility45
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIExtensions
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIFilter
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET45
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HealthAndDiagnostics
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpLogging
Enable-WindowsOptionalFeature -Online -FeatureName IIS-LoggingLibraries
Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestMonitor
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpTracing
Enable-WindowsOptionalFeature -Online -FeatureName IIS-BasicAuthentication
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WindowsAuthentication
Enable-WindowsOptionalFeature -Online -FeatureName IIS-Performance
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpCompressionStatic
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerManagementTools
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole
Enable-WindowsOptionalFeature -Online -FeatureName IIS-IIS6ManagementCompatibility
Enable-WindowsOptionalFeature -Online -FeatureName IIS-Metabase
Enable-WindowsOptionalFeature -online -FeatureName NetFx4Extended-ASPNET45Windows-Identitätsfoundation um diese Windows-Funktion zu aktivieren, öffnen Sie eine Eingabeaufforderung auf dem Server und führen Sie den folgenden Befehl aus:
dism /online /Enable-Feature:Windows-Identity-Foundation
Laden Sie das Url-Rewrite-Modul für IIS herunter und installieren Sie es, da es zur automatischen Umleitung aller eingehenden HTTP-Anfragen auf HTTPS verwendet wird.
7-Zip zum entpacken des iCL Portal-Installationspakets
Notepad++ um die XML-basierten Konfigurationsdateien zu bearbeiten
Mindestanforderungen an Datenbankserver/Backend
- SQL Server 2008 R2 Express (SQL Server 2012 und neuer empfohlen)
5 Allgemeine Überlegungen
Wenn Sie die Einrichtung Ihres iCL-Portalsystems planen, müssen Sie einen voll qualifizierten Domänennamen (FQDN) für das Web-Frontend vorbereiten, der sowohl von Ihrem Firmennetzwerk als auch von Ihrem externen Netzwerk aus erreichbar ist.
Dies ist erforderlich, damit die iCL Filler-Apps auf den mobilen Geräten Ihrer Benutzer mit einer einzigen Adresse auf das Portal zugreifen können. Andernfalls müssten sich Ihre Benutzer beim Wechsel zwischen den Netzwerken ab- und wieder anmelden. Da die App nur die Daten des aktuell eingeloggten Benutzers behalten kann, würden alle aktiven Prüfungen verloren gehen.
Wenn Sie das System skalieren oder Wartungsarbeiten durchführen wollen, können Sie dies mit einem FQDN transparent und ohne Unterbrechung für Ihre Benutzer tun.
Zusätzlich benötigen Sie ein SSL-Zertifikat (mindestens SHA2 256 Bit, da SHA1 in der Vergangenheit bereits kompromittiert wurde) für den Web-Frontend-Zugang über HTTPS. Das Zertifikat sollte von einer Drittpartei vertrauenswürdig sein, andernfalls wird iCL Filler eine Warnung ausgeben, wenn der Benutzer versucht, sich beim iCL-Portal anzumelden.
Der Betrieb des iCL Portals über HTTP wird nicht unterstützt, da Ihr System kompromittiert werden könnte!
6 Anwendungstelemetrie
Unser oberstes Ziel ist es, sicherzustellen, dass Ihre Systeme ohne Probleme laufen und Ihre Benutzer eine reibungslose Erfahrung haben. Um in der Lage zu sein, jegliche Probleme in Bezug auf iCL Portal (langsame Abfragen, fehlgeschlagene Anfragen, wiederkehrende Ausnahmen) zu erkennen und zu analysieren, sendet iCL Portal periodisch Telemetriedaten an einen Dienst namens Microsoft Application Insights.
Damit dies funktioniert, stellen Sie sicher, dass
Entweder ist der gesamte ausgehende Datenverkehr auf Port 443 in Ihren Firewall-Einstellungen erlaubt
Oder Sie lassen ausgehende Verbindungen zu allen IP-Adressen zu, die vom Application Insights-Dienst verwendet werden. Die Liste der IP-Adressen finden Sie unter: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-ip-addresses#outgoing-ports Stellen Sie außerdem sicher, dass Sie den Benutzer, der für die Ausführung des Anwendungspools von iCL Portal verwendet wird, zur Gruppe Performance Monitor Users hinzufügen. In diesem Beispiel ist es die Identität DefaultAppPool. (Es könnte aber auch ein Domänenbenutzer in Ihrem System sein)