Einsatzmöglichkeiten
Der Internet Server-Cache oder ICM Server-Cache speichert HTTP(S)-Objekte, bevor sie zum Client geschickt werden. Beim nächsten Mal, wenn dieses Objekt durch einen Request angefordert wird, kann der Inhalt direkt aus dem Cache dem Client geschickt werden.
Wenn Response-Seiten wiederverwendet werden sollen (etwa die Einstiegsseite eines Internet-Shops), kann der HTTP-Request-Handler den ICM Server-Cache benutzen. Dieser speichert die Seiten, bevor sie zum Client gesendet werden. Beim nächsten Aufruf der entsprechenden URL wird dann - sofern die Verfallszeit nicht abgelaufen ist (siehe
icm/HTTP/server_cache_<xx>/expiration) - die Seite direkt vom ICM an den Client zurückgeschickt; es muss in diesem Fall nicht in den Workprozess verzweigt werden (siehe Kapitel
Interaktionsmodell).

Die Objekte des MIME-Repositorys werden standardmäßig im Cache gespeichert. Die Aktivierung des ICM Server-Cache erfolgt durch Methodenaufrufe wie später beschrieben.
Einführungshinweise
Der Einsatz des ICM Server Cache bringt einen erheblichen Performancegewinn.
Benchmark Tests für Cache-Treffer im Hauptspeicher haben latente Antwortzeiten von unter einer Millisekunde pro Request und einen Gesamtdurchlauf von über 3000 Requests pro Sekunde auf einer 4-CPU Hardware ergeben.
Diesen Ergebnissen liegt eine stark parallele und multithreaded Architektur zugrunde, die gleichzeitige Lese- und Schreibzugriffe mit Versionierung unterstützt. Außerdem wird hier für den schnellen Zugriff auf das Cache-Verzeichnis ein patentierter Indizierungsalgorithmus verwendet, der für lange Web-URLs oder ähnliches als Cache-Keys besonders geeignet ist.
Integration
Der ICM Server-Cache ist Teil des
Internet Communication Manager (ICM).Funktionsumfang
Folgende Grafik zeigt die Architektur des ICM Server-Cache.

Der ICM Server-Cache beinhaltet folgendes:
Zweistufige Cache-Hierarchie
Der
ICM Server-Cache besteht aus einer zweistufigen Hierarchie: Eine sehr schnelle Hauptspeicher-Ablage (Memory Cache) setzt auf einem Laufwerk-basierten Disk Cache auf. Dies hat den Vorteil, dass sowohl die Schnelligkeit des Hauptspeicherzugangs als auch die große Ablagekapazität der Festplattenablage genutzt werden kann.Dynamische Caching-Technologie
Konventionelle Web-Caching Szenarios basieren auf HTTP-Proxies und unterstützen in der Regel lediglich das Caching von statischen Inhalten, z.B. von GIF-Bildern. Der Internet Server Cache dagegen kann zusätzlich zu statischem Content auch dynamischen Web-Content speichern, z.B. JSP und BSPs. Dies ist bei der immer stärker zunehmenden Dynamisierung von Web-Anwendungen von zentraler Bedeutung.
Aktives Caching
Ein weiterer Unterschied zwischen existierenden Standard-Web-Caching Lösungen und dem Internet Server Cache besteht in der von der Anwendung gelenkten Cache-Kontroll-Technologie, die in das
Internet Communication Framework und in das BSP-
Programmiermodell integriert ist.
Aktives Caching bedeutet, dass die Anwendung volle Kontrolle über die Aktualität der im Cache liegenden Objekte besitzt. Dies geschieht durch die Verwendung von asynchroner Content-Invalidierung, die von anwendungsabhängigen Events ausgelöst wird. Auch dies läuft somit konträr zum Standard-HTTP-Caching ab, bei dem die Anwendung nur eine beschränkte Kontrolle über die Aktualität der im Cache liegenden Objekte hat. Üblicherweise werden bei der Standard-HTTP-Caching-Technologie Verfallszeit-Heuristiken verwendet.
UFO-Caching
Der Internet Server Cache unterstützt das Caching von ungültigen Requests. Das sind Requests, die zu Fehlersituationen auf dem Applikationsserver oder dem Datenbank-Backend führen würden, z.B. „not found"- Fehler. Dadurch wird das Backend von Überlastsituationen abgeschirmt, bei denen das System von ungültigen oder bösartigen Web-Requests überflutet wird.

Beachten Sie, dass diese Funktion nur als grober Schutz dient und das System nicht gegen ausgefeiltere Angriffe schützen kann.
Das UFO-Caching kann u. U. zu unerwartetem Verhalten des Servers führen (HTTP-Polling).
Browserabhängiges Caching für BSPs
Es ist möglich, dass eine Business Server Page in verschiedenen Browsern unterschiedlich aussieht, da der HTML-Code nicht immer gleich interpretiert wird.
Darum kann der ICM Server-Cache BSPs abhängig vom Browser-Typ einlagern. Wird dann dieselbe Seite von einem anderen Browser angefordert, kann die Anfrage nicht aus dem Cache befriedigt werden. Um der Laufzeitumgebung mitzuteilen, ob der Content browserabhängig ist, können Sie bei den Eigenschaften der BSP das entsprechende Kennzeichen setzen. Standardmäßig ist das Kennzeichen nicht gesetzt.
Siehe hierzu
Caching von BSPs.Wie arbeitet der ICM Server-Cache?
Wie der Cache nun im einzelnen vorgeht, um Objekte zu identifizieren, einzulagern und zu invalidieren, ist in den folgenden Abschnitten beschrieben.
Profilparameter zur Konfiguration des ICM Server Cache
Folgende Parameter stehen zur Parametrisierung des ICM Server-Cache zur Verfügung:
Sie können den ICM Server-Cache mit dem ICM Monitor aus dem System heraus überwachen. Dies ist unter
Überwachung und Administration des ICM Server-Cache beschrieben.