| <?xml version="1.0"?> |
| |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <document> |
| |
| <properties> |
| <author email="chuck@topsail.org">Chuck Murcko</author> |
| <author email="victor.j.orlikowski@alumni.duke.edu">Victor Orlikowski</author> |
| <author email="rony@apache.org">Rony G. Flatscher</author> |
| <title>Bean Scripting Framework</title> |
| </properties> |
| |
| <body> |
| |
| <section name="Bean Scripting Framework"> |
| |
| <p> |
| Bean Scripting Framework (BSF) is a set of Java classes which provides scripting |
| language support within Java applications, and access to Java |
| objects and methods from scripting languages. BSF allows one to |
| write JSPs in languages other than Java while providing access to the Java |
| class library. In addition, BSF permits any Java application to be implemented |
| in part (or dynamically extended) by a language that is embedded within it. |
| This is achieved by providing an API that permits calling scripting |
| language engines from within Java, as well as an object registry that exposes |
| Java objects to these scripting language engines. |
| </p> |
| |
| <p> |
| There are now two different versions of Apache BSF. These have different APIs. |
| The original version of BSF is represented by the BSF 2.x releases (current version 2.4), |
| and uses an API which was originally developed at IBM. |
| The new version of Apache BSF is represent by the 3.x release (current version 3.0) |
| The 3.x version uses the API defined as part of JSR-223 (javax.script), |
| which is included in Java 1.6 onwards. |
| However BSF 3.0 will run on Java 1.4+, allowing access to JSR-223 scripting |
| for Java 1.4 and Java 1.5. |
| Apache BSF 3.0 is also useful for Java 1.6 as it contains a command-line utility for |
| testing JSR-223 scripts, and it also contains a set of factory implementations for many |
| languages. |
| </p> |
| </section> |
| |
| <section name="Supported Languages - 2.x"> |
| |
| <p> |
| BSF 2.x supports several scripting languages currently: |
| |
| <ul> |
| <li> |
| <a href="http://www.mozilla.org/rhino/">Javascript (using Rhino ECMAScript, from the Mozilla project)</a> |
| </li> |
| |
| <li> |
| <a href="http://www-306.ibm.com/software/awdtools/netrexx/">NetRexx</a> (an extension of the IBM REXX scripting language in Java) |
| </li> |
| |
| <li> |
| <a href="http://commons.apache.org/jexl/">Commons JEXL</a> |
| </li> |
| |
| <li> |
| <a href="http://jython.sourceforge.net/">Python (using Jython) </a> |
| </li> |
| |
| <li> |
| <a href="http://tcljava.sourceforge.net/">Tcl (using Jacl)</a> |
| </li> |
| |
| <li> |
| <a href="http://xalan.apache.org">XSLT Stylesheets (as a component of Apache XML project's Xalan and Xerces)</a> |
| </li> |
| </ul> |
| </p> |
| |
| <p> In addition, the following languages are supported with their own BSF engines: |
| |
| <ul> |
| <li> |
| Java (using <a href="http://www.beanshell.org/">BeanShell</a>, from the BeanShell project) |
| </li> |
| |
| <li> |
| <a href="http://groovy.codehaus.org/">Groovy</a> |
| </li> |
| |
| <li> |
| <a href="http://groovy.codehaus.org/Groovy+Monkey">Groovy Monkey</a> |
| </li> |
| |
| <li> |
| <a href="http://www.ulfdittmer.com/jlog/index.html">JLog</a> (<a href="http://jlogic.sourceforge.net/">PROLOG implemented in Java</a>) |
| </li> |
| |
| <li> |
| <a href="http://jruby.codehaus.org/">JRuby</a> |
| </li> |
| |
| <li> |
| <a href="http://www.judoscript.com">JudoScript</a> |
| </li> |
| |
| <li> |
| <a href="http://objectscript.sourceforge.net/">ObjectScript</a> |
| </li> |
| |
| <li> |
| <a href="http://www.oorexx.org/">ooRexx (Open Object Rexx)</a>, using |
| <a href="http://wi.wu-wien.ac.at/rgf/rexx/bsf4rexx/current/">BSF4Rexx</a>. |
| </li> |
| |
| </ul> |
| </p> |
| |
| <p> |
| Information on where to obtain scripting languages for use with BSF is |
| available on the <a href="projects.html">Related Projects</a> page. |
| </p> |
| |
| </section> |
| |
| <section name="Documentation (2.x)"> |
| |
| <p> |
| You can view the <a href="manual.html">documentation for BSF 2.4</a>. |
| </p> |
| |
| <p> |
| Documentation and examples are included in the source and binary distributions. |
| </p> |
| |
| </section> |
| |
| <section name="Documentation (3.x)"> |
| |
| <p> |
| The following references describe the standard API (javax.script) which is implemented by BSF 3.0: |
| <ul> |
| <li><a href="http://jcp.org/aboutJava/communityprocess/final/jsr223/index.html">JSR-000223 Scripting for the Java Platform</a> - specification (PDF)</li> |
| <li><a href="http://java.sun.com/javase/6/docs/api/javax/script/package-summary.html">Javadoc for javax.script classes</a> in Java 1.6</li> |
| <li><a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/">Scripting for the Java platform (Sun technical article)</a></li> |
| </ul> |
| Documentation on BSF 3.0 utilities and engines TBA. |
| </p> |
| |
| <p> |
| Documentation and examples are included in the source and binary distributions. |
| </p> |
| |
| </section> |
| |
| <section name="Latest Release"> |
| <p> |
| You can download the latest release: |
| </p> |
| <ul> |
| <li> |
| <a href="http://jakarta.apache.org/site/downloads/downloads_bsf.cgi"> |
| Download the binary release |
| </a> |
| </li> |
| |
| <li> |
| <a href="http://jakarta.apache.org/site/downloads/downloads_bsf.cgi"> |
| Download the source release |
| </a> |
| </li> |
| </ul> |
| </section> |
| <section name="Get Involved"> |
| <ul> |
| <li><a href="http://jakarta.apache.org/getinvolved/getinvolvedindex.html">Get Involved</a></li> |
| <li><a href="http://jakarta.apache.org/getinvolved/mail.html">Join Mailing Lists</a></li> |
| <li><a href="http://marc.theaimsgroup.com/?l=bsf-dev&r=1&w=2">Search the Dev Mailing List</a> |
| </li> |
| <li><a href="http://marc.theaimsgroup.com/?l=bsf-user&r=1&w=2">Search the User Mailing List</a> |
| </li> |
| </ul> |
| |
| |
| |
| </section> |
| |
| </body> |
| </document> |
| |