XSL wird in onion zur Lösung der folgenden Aufgaben verwendet:

  • Auslieferung von literalen Inhalten (z. B. XHTML, Text)
  • XML-basierte Aggregationsmodelle
  • Steuerung von binären Ausgaben

Diese Aufgaben bilden die drei Methodentypen Literal, Xml und Binär, die in den folgenden Kapiteln erläutert werden.

Eine Methode besitzt – je nach Typ – eine Vielzahl von Einstellungsmöglichkeiten für den Zugriffsschutz, Zwischenspeicher-Mechanismen (Caching), automatische Neuberechnung (Recomputation), Nachbearbeitung (Post-Processing) und Metainformationen.

 

Zugriffsschutz

Der Zugriffsschutz bezieht sich auf drei Zonen:

  • Intern
    Diese Methode kann lediglich von anderen in onion befindlichen Methoden aufgerufen werden. Ein externer Zugriff wird unterbunden.
  • Geschützt
    Diese Methode kann zusätzlich zur internen Nutzung von .NET Anwendungen aufgerufen werden.
  • Öffentlich
    Diese Methode ist ausserhalb der Engine ausführbar.

Zwischenspeicher (Caching)

onion besitzt eine Vielzahl von Caching-Optionen, die die Auslieferungsgeschwindigkeit und die inkrementelle Berechnung von Inhalten verbessern kann. Das Caching beschränkt sich dabei nicht nur auf die Beschaffung von Quelldaten, sondern ist in jeder Applikationsebene nutzbar. Folgende Ebenen können dabei zusammengefasst werden:

  • Quelldaten
    Daten können über den Cache beschafft werden und stehen somit für weitere Berechnungen und für andere Methoden, die auf die selben Quelldaten zugreifen zur Verfügung. Dies reduziert die Anfragen zu dem Datenserver.
  • Methodenergebnisse
    Das Ausführungsergebnis einer Methode kann für die Wiederverwendung zwischengespeichert werden.
  • Applikationsmethoden
    Die Ausführungsergebnisse von .NET Methoden können zur Wiederverwendung zwischengespeichert werden.

Alle berechneten Ergebnisse stehen immer in Verbindung mit den zugrundeliegenden Quelldaten. Das bedeutet, dass die Änderung der Quelldaten direkt zum Verfall der darauf aufbauenden zwischengespeicherten Ergebnisse führt. Zusätzlich wird der zeitbasierte Verfall von Ergebnissen unterstützt, um eine zeitgesteuerte Anzeige von Inhalten zu ermöglichen, ohne in die dynamische Generierung zu wechseln.

Durch das Caching kann somit die Performance und die Auslastung der beteiligten Systeme verbessern. Grundsätzlich gilt: Je mehr Ergebnisse zwischengespeichert werden, desto höher ist die Speicherlast auf dem Server. Um eine Entlastung des Arbeitsspeichers zu ermöglichen stehen daher die folgenden Speichermedien zur Auswahl:

  • Arbeitsspeicher
    Die erzeugten Daten werden direkt im Arbeitsspeicher gehalten.
  • Festplatte
    Die zwischengespeicherten Daten werden auf der Festplatte des Servers zwischengespeichert. Jeder Zugriff auf gecachte Daten verursacht einen Dateizugriff.

Automatische Neuberechnung (Recomputation)

Dieser Prozess ...

Nachbearbeitung (Post-Processing)

Das Post-Processing-Modell von onion ist die Basis für gecachte Inhalte mit dynamischem Anteil. Dadurch kann beispielsweise eine besuchbare Seite komplett gecached werden, auf der z. B. ein immer aktueller Aktienticker platziert ist. Ein weiteres Beispiel ist die Unterstützung von cookielosen Sessions, die dazu führen, dass alle Links auf der Seite mit der Session-ID des Benutzers versehen werden. Zuletzt basiert die Applikationsintegration von ASP.NET-Anwendungen auf diesem Modell, die immer im Kontext des Benutzers ausgeführt werden müssen.