Technologie


Content Management Solutions

Technologie

e-Spirit ist von ehemaligen Mitarbeitern des Fraunhofer Instituts für Software- und Systemtechnik (FhG ISST) gegründet worden. Das Produkt FirstSpirit™ entstand nicht - wie die allermeisten anderen CMS - aus einem Kundenprojekt heraus, sondern wurde auf Basis von Markt- und Wettberwerbesanalysen konzipiert. Daraus entwickelte sich eine sehr tragfähige und flexible Architektur, die in ihren Grundzügen noch heute gültig ist.

Die Entwicklung von FirstSpirit™ erfolgt ausschließlich durch das eigene Entwicklerteam in der e-Spirit-Zentrale in Dortmund.

Architektur
Großansicht
Client-Server Kommunikation

FirstSpirit™ ist eine klassische Client-Server-Anwendung, die komplett auf Java- und Webtechnologie basiert.


Der Zugriff auf den FirstSpirit™-Server erfolgt entweder über den FirstSpirit™ JavaClient oder über den FirstSpirit™ WebClient. Während der JavaClient eine komfortable, swingbasierte Oberfläche sowohl für Redakteure als auch für Vorlagenentwickler zur Verfügung stellt, ist der WebClient auf Basis einer browserbasierten Oberfläche für die schnelle und unkomplizierte Pflege redaktioneller Inhalte optimiert.


Die Kommunikation zwischen FirstSpirit™-Client und -Server basiert, je nach Einsatzszenario, entweder auf HTTP(S) unter Verwendung eines Application-Servers oder auf der direkten Verwendung von TCP.


Das Live-System übernimmt die eigentliche Auslieferung von Inhalten an den Endbenutzer. Der FirstSpirit™-Server ist strikt vom Live-System getrennt und muss nur im Rahmen der Veröffentlichung (Deployment) zum Live-System Kontakt aufnehmen und Daten übertragen (siehe Abbildung). Eine direkte Interaktion des Live-Systems mit dem FirstSpirit™-Server ist nicht notwendig.

Infrastruktur
Großansicht
Infrastruktur Architektur

FirstSpirit™ ist eine reine Java-Anwendung, die XML-Formate für die Speicherung von Daten verwendet.

Eine Zielsetzung bei der Implementierung von FirstSpirit™ war die Plattform-Unabhängigkeit, die konkret in folgenden Punkten umgesetzt wurde:

  • Betriebssystem-Neutralität: FirstSpirit™ ist so konzipiert, dass es grundsätzlich auf jedem Betriebssystem lauffähig ist, für die ein Java JDK der aktuellen oder vorhergehenden Generation verfügbar ist.
  • Datenbank-Unabhängigkeit: Der Datenbankzugriff über FirstSpirit™ basiert vollständig auf dem weit verbreiteten, standardisierten Java-Database-Connectivity-API (JDBC) und kann daher alle relevanten Datenbank-Management-Systeme unterstützen..
  • Flexible Integration: FirstSpirit™ integriert sich optimal in eine bestehende Infrastruktur. Neben Java-basierten Laufzeitumgebungen, werden auch Microsoft IIS und ASPx-Umgebung und PHP-Environments unterstützt.
Clients
Großansicht
FirstSpirit™-Clients

FirstSpirit™ stellt allen Anwendern, abhängig von ihren Aufgaben, einen exakt auf die jeweiligen Bedürfnisse angepassten Client zur Verfügung.

FirstSpirit™ bietet damit also mehrere Clients für unterschiedliche Aufgaben und Benutzer an. Grundsätzlich kann zwischen Redaktionsumgebungen und Administrationsumgebungen unterschieden werden. Während die FirstSpirit™-Redaktionsumgebungen die Arbeit der Redakteure und der Vorlagenentwickler unterstützen, sind die Administrationsumgebungen primär auf die Überwachung und Konfiguration des FirstSpirit™-Systems zugeschnitten.

Laufzeitumgebung

Die Erstellung und Auslieferung der Inhalte ist in FirstSpirit™ durch das Prinzip der „Vorgenerierung“ gekennzeichnet – wo immer möglich wird der Content nicht erst auf dem Live-System zusammengesetzt, sondern bereits auf dem FirstSpirit™-Server (also im weniger zeitkritischen Offline-Betrieb). Nur die unbedingt dynamisch zu erzeugenden Teile einer Site bzw. einer einzigen Seite werden zur Laufzeit im Live-System erzeugt.

Beispiele für zwingend dynamische Teile sind personalisierte Bereiche, Suchanfragen oder Darstellungen von Echzeit-Daten – alle anderen Teile einer Website wie komplexe (nicht-personalisierte) Navigationen oder PDF-Dokumente können vorberechnet werden.

Beim Einsatz von FirstSpirit™ wird also nur das „online“ berechnet, was wirklich notwendig ist – ein unschätzbarer Vorteil für das Live-System im Hinblick auf Aspekte wie Ressourcenbedarf, Skalierbarkeit und das Antwortzeitverhalten des Systems auch unter Hochlastbedingungen.