On Fri, Feb 19, 2021 at 7:37 AM Rony G. Flatscher (Apache) <r...@apache.org> wrote: > > Woonsan, > > On 18.02.2021 18:02, Woonsan Ko wrote: > > > You might want to take a look at this, too: > > - http://portals.apache.org/bridges/bridges-script/index.html > > > > Of course, there must be outdated dependencies, but the idea is the > > same and it has working code: integrate with JSR-223 for jruby, > > jython, bsh, js, etc. > > The portlet api (e.g, PortletRequest, PortletResponse, PortletContext, > > etc) should be converted to servlet-api though. > > thank you very much for this pointer. The overview page [1] includes > references to the Portlet > specifications [2,3] which allow to learn about the motivation and also about > its devised features. > It was also interesting to skim over some bird-eye's-view comparisons between > Portlets and Servlets > e.g. in [4, 5]. > > As I have an implementation already in place (with BA students trying it out > who have been serving a > little bit as a very small subject group) that supports both BSF and JSR-223, > I would make further > work dependent on my assessment of the student's work (and of course whatever > feedback comes up > later). The goal was to keep it as simple as possible (KISS principle) such > that it is easy to > understand/teach and easy to take advantage of, yet make it versatile for the > script developers > (including demo script samples that will dump the request and response > objects and query their > getter values such that the students get to see/learn what they convey to > them at the point of > invocation; just skimming over this extensive information causes them to > learn what is available and > over time get a "feeling" of what they can expect and do with each request).
That makes sense. Thanks for sharing your views! Cheers, woonsan > > ---rony > > [1] Apache Portals Bridges Homepage: > <http://portals.apache.org/bridges/index.html> > [2] JSR-168, Portlet Specification: <http://www.jcp.org/en/jsr/detail?id=168> > [3] JRS-286, Portlet Specification 2.0: > <http://www.jcp.org/en/jsr/detail?id=286> > [4] Nilang, Servlet vs Portlet: > <https://www.opensource-techblog.com/2014/10/servlet-vs-portlet.html> > [5] Sarin A., Portlets vs. Servlets: Request Processing with Web Components: > <https://www.developer.com/java/web/article.php/3891786/Portlets-vs-Servlets-Request-Processing-with-Web-Components.htm> > > > > On Thu, Feb 18, 2021 at 11:09 AM Rony G. Flatscher (Apache) > > <r...@apache.org> wrote: > >> Chris, > >> > >> On 18.02.2021 15:56, Christopher Schultz wrote: > >> ... cut ... > >>> A BSF / JSR-233 environment that is available for any servlet container > >>> would certainly be an > >>> accomplishment, and probably very useful for some shops (and students!). > >>> > >>> I wonder if there is anything we can learn / steal from Apache Sling. > >> hmm, at first sight Apache Sling defines its own Scripting classes [1] and > >> seems to not use JSR-223 > >> [2, 3] (or BSF [4] for that matter). As a result it seems that each > >> scripting language that you wish > >> to use in the Sling environment needs to get a proper SlingScript > >> implementation otherwise you are > >> out of luck. > >> > >> Personally I think one should adhere to the standard Java scripting > >> framework [2] whenever possible > >> (and I would see no compelling reason at first sight why the Sling project > >> created its own scripting > >> framework). The Java scripting framework allows non-Java programmers to > >> create scripts that can be > >> deployed by the Java application and allow them to interact directly with > >> explicitly supplied Java > >> objects of the Java application. Loading a scripting language for the Java > >> application programmer is > >> as easy as using javax.script.ScriptEngineManager methods that start with > >> getEngineBy...() supplying > >> the name of the scripting language (like "groovy", "javascript", > >> "netrexx", "rexx" and the like), > >> one of its mime-types or one of its file-extensions and then (re-)using > >> that engine to evaluate > >> script code. > >> > >> The JSR-223 [3] implementation of Java 6 makes it also quite easy to > >> create new bindings for new > >> programming languages (one merely needs to extend > >> javax.script.AbstractScriptEngine, which > >> implements already most of the javax.script.ScriptEngine interface, and > >> implement the > >> javax.script.ScriptFactory interface). > >> > >> ---rony > >> > >> [1] Sling's Scripting Framework: > >> <https://sling.apache.org/apidocs/sling10/org/apache/sling/api/scripting/package-summary.html> > >> [2] Java's Scripting Framework (Since Java 6): > >> <https://docs.oracle.com/javase/8/docs/api/index.html?javax/script/package-summary.html> > >> [3] JCP JSR-223: <https://www.jcp.org/en/jsr/detail?id=223> > >> [4] Apache BSF: <https://commons.apache.org/proper/commons-bsf/> > >> > >> > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org