EVA STAR Trefferanzeige

Volltextanzeige Volltext.pdf1.pdf (973 KB)
Titel Transaktionales Methoden-Caching im Applikationsserver-Bereich.
Autor Pfeifer, Daniel
Institution Fakultät für Informatik (Fak. f. Informatik)
Institut für Programmstrukturen und Datenorganisation (IPD)
Dokumenttyp Buch
Verlag Karlsruhe
Jahr 2004
Serie Interner Bericht. Fakultät für Informatik, Universität Karlsruhe ; 2004,13
URL für Zitat http://digbib.ubka.uni-karlsruhe.de/volltexte/1000001243
URN für Zitat urn:nbn:de:swb:90-12439
Abstract
Applikationsserver haben etwa durch CORBA und EJB große
Bedeutung gewonnen, denn auf ihnen fußen unternehmenskritische
Anwendungen. Allgemein ermöglichen Applikationsserver den
entfernten Zugriff auf Geschäftsfunktionalität mittels einer
objektorientierten Dienstschnittstelle. Aus der Sicht einer
Klientenanwendung, die ein derartiges System nutzt, gibt es aber
ein großes Problem: Die Leistung des Servers in Bezug auf
Skalierbarkeit und Antwortzeiten ist häufig unbefriedigend.
Dieser Bericht versucht durch eine neue Cache-Strategie Abhilfe
zu leisten. Er zeigt, wie man im Zusammenhang mit
klientenbasierten Anwendungstransaktionen das Caching
von Methodenresultaten auf der Klientenseite eines
Applikationsserver-Systems ermöglicht.
Das Cache-Verfahren ist dabei transparent und konsistent, so
dass sich der Anwendungscode weder auf Klienten- noch auf
Serverseite durch die Einführung des Caches verändert.
Häufig sollen im Code eines Klientenprogramms eine Menge von
Dienstmethodenaufrufen in ACID-Transaktionen gekapselt werden –
man spricht von klientenbasierten Anwendungstransaktionen. Die
Ausführung der Dienstmethoden ist auf der
Applikationsserver-Seite mit einem Transaktionsverwalter und
transaktionalen Ressourcen gekoppelt. Das Caching von
Methodenresultaten muss daher die transaktionale Konsistenz
entsprechender ACID-Transaktionen bewahren.
Zur Realisierung des Cache-Verfahrens wird im Grundsatz ein
Transaktionsverwalter, der dem Applikationsserver unterstellt
ist, um die Verarbeitung von so genannten Methodenoperationen
erweitert. Letztere spiegeln den Zugriff auf vorgehaltene
Methodenresultate wider, die während einer Transaktion beim
Klienten aus dem Cache gelesen wurden. Der Cache arbeitet in
diesem Zusammenhang intertransaktional, das heißt, er hält
Ergebnisse aus einer Transaktion für zukünftige Transaktionen vor.
Die Hauptschwierigkeit beim transaktionalen, methodenbasierten
Caching ist die Zusicherung von Serialisierbarkeit und
Rücksetzbarkeit, also den bedeutendsten Eigenschaften von
ACID-Transaktionen. Dazu wird ein etablierter Formalismus zur
Transaktionstheorie um die Behandlung von Methodenoperationen
erweitert. Der Bericht entwickelt eine formale Semantik für
Transaktionen mit Methodenoperationen, die aus existierenden
Transaktionsmodellen resultiert. Daraus entstehen drei
Serialisierbarkeitsprotokolle und ein Rücksetzbarkeitsprotokoll,
deren Korrektheit nachgewiesen wird. Darüber hinaus liefert der
Bericht konkrete Implementierungsvorschläge für die Protokolle
und eine dafür notwendige Architekturerweiterung eines
Applikationssservers. Die Protokollimplementierungen werden am
Ende analytisch auf Eigenschaften wie die Cache-Trefferrate und
die Transaktionsabbruchrate hin untersucht.
Erste experimentelle Ergebnisse zeigen hervorragende
Leistungssteigerungen für ein System, das einen entsprechenden
Cache einsetzt. Die Experimente und Resultate bilden aber nicht
Teil dieses Berichts.