Grundlagen ELO Serverarchitektur
Bei Neuinstallationen über das ELO Server-Setup werden drei ELO Applikationsserver (Apache Tomcat) installiert. Die Verteilung der ELO Serverkomponenten auf die drei ELO Applikationsserver wird über das ELO Server-Setup bestimmt. Die Suchengine Elasticsearch wird zudem in einem weiteren Client- Server-Framework (Netty) installiert. Für ELO Analytics wird zusätzlich ein Dienst für die Open-Source- Analyseplattform Kibana installiert.
Folgenden Komponenten werden für den ELO Server benötigt und durch das Server-Setup-Programm installiert:
Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil des OpenJDK für Java- Programme. Das Server-Setup installiert eine aktuelle gekapselte Version des OpenJDK ausschließlich für den ELO Server.
Eine Standardinstallation besteht aus mehreren ELO Applikationsservern. Durch die Verteilung bestimmter Serverkomponenten auf unterschiedliche ELO Applikationsserver wird eine optimale Performance und Ausfallsicherheit sichergestellt. Die ELO Applikationsserver verwenden die HTTP- Connector-Ports 9090, 9080 und 9070.
Ein ELO Applikationsserver ist vom Kern ein Apache Tomcat. Apache Tomcat ist ein Open-Source- Webserver und Webcontainer, der die Spezifikation für Java Servlets und JavaServer Pages (JSP) implementiert und es damit erlaubt, in Java geschriebene Web-Anwendungen auf Servlet-Basis auszuführen. Tomcat besteht aus dem eigentlichen Servlet-Container Catalina, der JSP-Engine Jasper und dem Connector-Framework Coyote.
Mittels verschiedener Connectoren unterstützt Apache Tomcat diverse Kommunikationsprotokolle und kann mit dem HTTP-Connector entweder als eigenständiger Webserver betrieben oder mittels des AJP-Connectors in andere Webserver wie beispielsweise Apache Webserver integriert werden. Mit der gegenwärtig existierenden AJP-Implementation (Version 1.3) ist es möglich, den Servlet- Container auf einem gesonderten Host-Rechner zu betreiben, um den Webserver zu entlasten; insbesondere erlaubt es die Lastverteilungsfunktionalität, bei entsprechendem Leistungsbedarf dem Webserver einen Cluster aus mehreren Servlet-Containern im ELOenterprise Umfeld zur Seite zu stellen.
Als Suchengine wird Elasticsearch verwendet. Elasticsearch wird in einem Netty (Client- Serverframework) installiert und basiert auf einer Apache Lucene Volltext-Datenbank. Elasticsearch ist eine in Java entwickelte Open-Source-Implemetierung und basiert auf sogenanten Nodes. Eine Node ist eine Instanz von Elasticsearch. Die Kommunikation läuft lokal auf Port 9300.
Für ELO Analytics wird Kibana installiert, welches auf der Suchmaschine Elasticsearch aufbaut. Es ermöglicht die Suche und Visualisierung der in Elasticsearch-Indizes enthaltenen Daten.
Als Repository-Datenbank werden Oracle, Microsoft SQL Server, IBM DB2 und die Open-Source- Datenbank PostgreSQL unterstützt. Die unterstützten Versionen der Datenbanken für ELO finden Sie im ELO SupportWeb im Bereich Dokumentation.
Für eine Standardinstallation werden 9 GB RAM auf dem ELO Server benötigt. Die ELO Server- Applikationen benötigen hierbei 5 GB RAM und die Elasticsearch benötigt 4 GB RAM. Die Speichereinstellungen können während des Server-Setups gegebenenfalls angepasst werden. Für Produktivumgebungen werden die vorgegebenen Standardwerte empfohlen. Für Testumgebungen können auch niedrigere Werte eingestellt werden.