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

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Scripting mit Java: Das Bean Scripting Framework

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *