A
anonym
Gast
Hallo,
Ich nutze in einem Projekt Rhino als Engine für Embedded JavaScript. Leider ist das ganze ziemlich langsam. Hinzu kommt, dass Rhino seit 2009 nicht mehr gepflegt zu werden scheint (keine Bugfixes seitdem, es findet sich keine Roadmap für Erweiterungen, dass Projekt, aus dem es ursprünglich hervorgegangen ist, nutzt inzwischen eine andere ScriptEngine, viele Links auf der Projekthomepage führen ins Leere oder zu Dokumenten des Dachprojekts).
Für uns stellt sich die Frage, ob es sich lohnt, noch einmal umzuziehen, vielleicht auf Groovy. Deshalb hätte ich gerne eure Meinung, zu folgenden Punkten:
(a) Wird das schneller sein?
(b) Kann ich Groovy nach Bytecode kompilieren um oft benutzte Scripts noch schneller zu bekommen?
(c) Sicherheit. In Rhino haben wir es so hingebogen, dass nur Javaklassen mit einer bestimmten Annotation und/ oder Methoden mit einer bestimmten Annotation vom Script aus ansprechbar sind, alles andere bricht die Scriptausführung ab. So halten wir User effektiv von Dingen fern, an denen sie nicht herumspielen sollen (Klassen aus der Java- Standard- API, insbesondere die Reflection API, aber auch Klassen aus unserem Code, die schlicht und einfach nicht dafür gedacht sind, in den Scripts verwendet zu werden).
Und, mehr Zucker als Requirement:
(d) Ich muss teilweise Objekte, die die Nutzer im Script erstellen, aus einer Factory kommen lassen. Kann man den normalen Objekt- Erstell- Mechanismus aus Groovy (embbeded) auf eine Factory in Java umlenken? (Notfalls dürfen Scripts die Objekte halt garnicht instanzieren, sondern bekommen eine Instanz der Factory, deren Methoden sie nutzen dürfen).
Ich hoffe, ihr könnt wenigstens zu ein paar Fragen was sagen und bedanke mich schonmal. Falls ihr andere Languages als Groovy empfehlen möchtet, ich bin da nicht festgelegt.
Schöne Grüße,
anonym
Ich nutze in einem Projekt Rhino als Engine für Embedded JavaScript. Leider ist das ganze ziemlich langsam. Hinzu kommt, dass Rhino seit 2009 nicht mehr gepflegt zu werden scheint (keine Bugfixes seitdem, es findet sich keine Roadmap für Erweiterungen, dass Projekt, aus dem es ursprünglich hervorgegangen ist, nutzt inzwischen eine andere ScriptEngine, viele Links auf der Projekthomepage führen ins Leere oder zu Dokumenten des Dachprojekts).
Für uns stellt sich die Frage, ob es sich lohnt, noch einmal umzuziehen, vielleicht auf Groovy. Deshalb hätte ich gerne eure Meinung, zu folgenden Punkten:
(a) Wird das schneller sein?
(b) Kann ich Groovy nach Bytecode kompilieren um oft benutzte Scripts noch schneller zu bekommen?
(c) Sicherheit. In Rhino haben wir es so hingebogen, dass nur Javaklassen mit einer bestimmten Annotation und/ oder Methoden mit einer bestimmten Annotation vom Script aus ansprechbar sind, alles andere bricht die Scriptausführung ab. So halten wir User effektiv von Dingen fern, an denen sie nicht herumspielen sollen (Klassen aus der Java- Standard- API, insbesondere die Reflection API, aber auch Klassen aus unserem Code, die schlicht und einfach nicht dafür gedacht sind, in den Scripts verwendet zu werden).
Und, mehr Zucker als Requirement:
(d) Ich muss teilweise Objekte, die die Nutzer im Script erstellen, aus einer Factory kommen lassen. Kann man den normalen Objekt- Erstell- Mechanismus aus Groovy (embbeded) auf eine Factory in Java umlenken? (Notfalls dürfen Scripts die Objekte halt garnicht instanzieren, sondern bekommen eine Instanz der Factory, deren Methoden sie nutzen dürfen).
Ich hoffe, ihr könnt wenigstens zu ein paar Fragen was sagen und bedanke mich schonmal. Falls ihr andere Languages als Groovy empfehlen möchtet, ich bin da nicht festgelegt.
Schöne Grüße,
anonym