SAP rüstet Java für das Highend

21.10.2004
Auf der Entwicklerkonferenz Teched in San Diego stellte SAP mit ihrer patentierten "Shared-Memory"-Technik eine Methode vor, die Java innerhalb von "Netweaver" stabiler machen soll. Obwohl für SAP Java inzwischen die gleiche Bedeutung wie die hauseigene Programmiersprache Abap hat, weist die von Sun entwickelte Technik vor allem bei großen Installationen noch Schwächen auf. Dem Unternehmen zufolge laufen Java-basierende Applikationen derzeit nicht so stabil wie vergleichbare Abap-Software. Ein Problem dabei ist, dass typischerweise viele Anwender einer Java Virtual Machine (JVM) zugeordnet sind. Fällt diese aus, was in der Praxis keine Seltenheit ist, müssen die betroffenen Benutzer warten, bis die Systemverwalter die Störung behoben haben.

Nun kündigte SAP mit der selbst entwickelten "Shared-Memory"-Technik eine Methode an, die Java-Lösungen zuverlässiger und stabiler machen soll. Nach diesem Konzept werden auf einem Server mehrere gleichartige JVMs gestartet und mit den gleichen Aufgaben betraut, wobei nur wenige Benutzer einer virtuellen Maschine zugeordnet sind. Ein Ausfall einer Ablaufeinheit zieht so nur eine begrenzte Anzahl von Usern in Mitleidenschaft.

Foto: SAP
Foto: SAP

JVMs teilen sich Byte-Code und Klassen

Da dies normalerweise enorme CPU-und Speicherressourcen verschlingt, teilen sich die JVMs bestimmte Komponenten, die der Java-Server in einem Shared-Memory-Bereich vorhält. So sind der Byte-Code, die System- und Applikationsklassen sowie der vom Just-in-Time-Compiler erzeugte Code nur einmal im Speicher vorhanden und für alle Engines verfügbar. Auch der Objektbaum, in dem die verschiedenen, zur Laufzeit benötigten Java-Objekte miteinander verkettet sind, wird in den Shared-Memory-Bereich kopiert.

Die JVMs befinden sich in einem speziellen Container. Jede virtuelle Maschine verfügt über eine eigene Garbage Collection, wobei die Module zum Aufräumen des Speichers synchronisiert werden. Abhängig von der CPU-Leistung und dem verfügbaren Arbeitsspeicher könnten auf einem Acht-Wege-Server etwa 40 parallele Java-Maschinen laufen.