Scripting mit Java: Das Bean Scripting Framework

Warum nicht gleich die gesamte Anwendung in einer Scriptsprache implementieren? Bedenken wir, dass die Scriptsprachen zwar alle eine unterschiedliche Performance bieten, aber in der Regel langsamer sind als Java-Code. Dieser Unterschied ergibt sich aus dem zusätzlichen Rechenaufwand für Kompilierung beziehungsweise Interpretation der Scripts sowie die zugrunde liegende Implementierung der Scriptsprache.

Man sollte sich also gut überlegen, wann man auf Scripting zurückgreift. Dieses Beispiel geht davon aus, dass man bestehenden Java-Code in ein Script verpackt, das sich um die Ein- und Ausgabe kümmert. Man könnte die Entwicklung auch vollständig in einer Scriptsprache vornehmen und später leistungshungrigen Code in Java-Code auslagern.

Der Code erwartet als Kommandozeilenparameter die Namen zweier Scripts. Dem ersten Script wird ein Targets-Objekt zum Füllen mit den Daten übergeben, dem zweiten Script ein Results-Objekt für die Bearbeitung sowie der Zugriff auf das ursprüngliche Targets-Objekt. Der Aufruf von der Kommandozeile sieht wie folgt aus:


java -jar MixedScripts.jar
acquire.py output.gy

Acquire.py ist nur ein einfaches Jython-Script, welches ein Target hinzufügt; output.gy ist ein Groovy-Script, welches zu Testzwecken die Ergebnisse einfach unverändert zurückgibt. Das mag reichlich aufwendig klingen, nur um eine Variable zu setzen und eine HashMap auszudrucken, aber wenn man die Datenerfassung ändern will, muss man nur das Script ändern: Acquire1.py ist zum Beispiel ein entsprechendes Script, welches eine Datei liest.

Diese Beispielscripts sind zwar einfach, aber die tatsächliche Implementierung, auf der das MixedScripts-Beispiel basiert, erhielt die Eingabedaten als Ergebnis eines XML-RPC-Aufrufs und verschickte die Ausgabe per E-Mail als XML-formatierten Dateianhang. Scripting ist eine nützliche Technik, aber kein Allheilmittel. Wenn man es allerdings überlegt einsetzt, kann es zu mehr Flexibilität führen und das Bean Scripting Framework befreit einen davon, selber Code zur Anbindung aller möglichen Scriptsprachen schreiben zu müssen.

Den Beispielcode zu diesem Artikel gibt es hier zum Download: mixedscripts.zip

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Hackergruppe Lazarus nutzt Zero-Day-Lücke in Chrome

Die Anfälligkeit erlaubt das Einschleusen von Schadsoftware. Lazarus verbreitet über ein gefälschtes Browser-Game eine Spyware,…

2 Wochen ago

Microsoft bestätigt weitere Probleme mit Windows 11 Version 24H2

Es besteht unter anderem ein Kompatibilitätsproblem mit Sound-Treibern von Intel. Gegebenenfalls können Software- oder Firmware-Updates…

2 Wochen ago

Ratenkredit im Digitalzeitalter: Wie die Online-Kreditvergabe die Finanzwelt verändert

Die Digitalisierung hat nahezu alle Bereiche des täglichen Lebens revolutioniert, und die Finanzwelt bildet dabei…

2 Wochen ago

Qualcomm stellt Mobilplattform Snapdragon 8 Elite vor

Der neue mobile Chipsatz verspricht Zuwächse bei der Performance und der Grafikleistung. Der Snapdragon 8…

2 Wochen ago

Die Rolle von AdWords in der modernen Geschäftswelt: Tipps für kleine und mittelständische Unternehmen

Mit Google AdWords können auch kleine Unternehmen leicht ihre Sichtbarkeit im Internet erhöhen und damit…

2 Wochen ago

Microsoft stellt autonome KI-Agenten für Dynamics 365 vor

Sie sollen Unternehmen in Bereichen wie Vertrieb, Kundenservice und Finanzwesen unterstützt. Außerdem lassen sich künftig…

2 Wochen ago