EVA STAR Trefferanzeige
| Volltextanzeige |
|
|
| 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. |
|