Caching
Caching ist ein bewährtes Mittel, um die Skalier- und Verfügbarkeit von Systemen zu steigern sowie die Latenzzeit für Benutzeranforderungen zu verkürzen.
Im anfangs skizzierten Aufbau findet ein Caching an verschiedenen Stellen statt:
- Die Datenbanken cachen z.B. die Ergebnisse einzelner Anfragen, um auf nachfolgende gleiche Anfragen schneller reagieren zu können,
- Der momentan eingesetzte "Persistenz-Verwalter" cached die angeforderten Entitäten,
- Der Präsentations-Server cached die kompilierten Seiten, die als Antwort auf über den Web-Browser gestellten Anfragen verschickt werden,
- Der Web-Browser cached die zu cachend markierten HTML-Seiten.

Darüber hinaus ist es ebenfalls sinnvoll, die angeforderten Entitäten zu cachen. Als sinnvollster Ort hierfür kristallisiert sich der Präsentations-Server heraus. Dieser übernimmt das Caching der Entitäten, die vom jeweiligen Benutzer über den Web-Browser angefordert werden.
Da der Web-Browser selbst keine Möglichkeit bietet, Daten zu cachen, stellt der Präsentations-Server somit auch die einzige Möglichkeit dar.
Zweiter Ort, an dem das Caching der Entitäten notwendig ist, ist die Rich Client Anwendung. Da sie direkt mit dem Applikations-Server kommuniziert und der Präsentations-Server somit nicht zum Caching verwendet werden kann, muss sie das Caching selbst übernehmen.

Hierfür kommt die Caching-API zum Einsatz, welche ein Teil des Frameworks ist. Diese definiert eine Reihe von unterschiedlichen Caching-Strategien (wie z.B. persistentes Caching, Verschlüsselung der gecacheten Einträge usw.) und erlaubt die einfache Einbindung und Konfiguration im x4:system.