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

Reply via email to