| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| |
| <!-- |
| |
| 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. |
| --> |
| |
| <!-- Content Stylesheet for Site --> |
| |
| |
| <!-- start the processing --> |
| <html> |
| <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! --> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> |
| |
| <meta name="author" value="Chuck Murcko"> |
| <meta name="email" value="chuck@topsail.org"> |
| <meta name="author" value="Victor Orlikowski"> |
| <meta name="email" value="victor.j.orlikowski@alumni.duke.edu"> |
| <meta name="author" value="Rony G. Flatscher"> |
| <meta name="email" value="rony@apache.org"> |
| |
| <title>Jakarta BSF - Bean Scripting Framework</title> |
| </head> |
| |
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> |
| <table border="0" width="100%" cellspacing="0"> |
| <!-- TOP IMAGE --> |
| <tr> |
| <td align="left"> |
| <a href="http://jakarta.apache.org"><img src="images/jakarta-logo.gif" border="0"/></a> |
| </td> |
| <td align="right"> |
| <a href="http://jakarta.apache.org/bsf/"><img src="./images/bsf_logo.jpg" alt="Jakarta BSF" border="0"/></a> |
| </td> |
| </tr> |
| </table> |
| <table border="0" width="100%" cellspacing="4"> |
| <tr><td colspan="2"> |
| <hr noshade="" size="1"/> |
| </td></tr> |
| |
| <tr> |
| <!-- LEFT SIDE NAVIGATION --> |
| <td valign="top" nowrap="true"> |
| <p><strong>BSF Essentials</strong></p> |
| <ul> |
| <li> <a href="./index.html">Front Page</a> |
| </li> |
| <li> <a href="./bsfnews.html">News</a> |
| </li> |
| <li> <a href="./manual.html">Documentation</a> |
| </li> |
| <li> <a href="./projects.html">Related Projects</a> |
| </li> |
| <li> <a href="./resources.html">Resources</a> |
| </li> |
| <li> <a href="./faq.html">BSF FAQ</a> |
| </li> |
| <li> <a href="./problems.html">Having Problems?</a> |
| </li> |
| </ul> |
| <p><strong>Download</strong></p> |
| <ul> |
| <li> <a href="http://jakarta.apache.org/site/downloads/downloads_bsf.cgi">Binaries</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/downloads/downloads_bsf.cgi">Source Code</a> |
| </li> |
| </ul> |
| <p><strong>Jakarta</strong></p> |
| <ul> |
| <li> <a href="http://jakarta.apache.org/site/news.html">News & Status</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/mission.html">Mission</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/guidelines.html">Guidelines Notes</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/faqs.html">FAQs</a> |
| </li> |
| </ul> |
| <p><strong>Get Involved</strong></p> |
| <ul> |
| <li> <a href="http://jakarta.apache.org/site/getinvolved.html">Overview</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/cvsindex.html">Source Repositories</a> |
| </li> |
| <li> <a href="http://www.faqs.org/rfcs/rfc1855.html">Netiquette</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a> |
| </li> |
| <li> <a href="http://jakarta.apache.org/site/library.html">Reference Library</a> |
| </li> |
| <li> <a href="http://issues.apache.org/jira/browse/BSF">Bug Database</a> |
| </li> |
| <li> <a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&type=4&pid=12310621&resolution=-1&sorter/field=issuekey&sorter/order=ASC">Enhancement Requests</a> |
| </li> |
| </ul> |
| </td> |
| <td align="left" valign="top"> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Bean Scripting Framework"><strong>Bean Scripting Framework</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <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. |
| <br /> |
| 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. |
| <br /> |
| The new version of Apache BSF is represent by the 3.x releases. |
| The 3.x version uses the API defined as part of JSR-223 (javax.script), |
| which is included in Java 6 onwards. |
| However BSF 3.x will run on Java 1.4+, allowing access to JSR-223 scripting |
| for Java 1.4 and Java 5. |
| Apache BSF 3.x is also useful for Java 6 as it contains a command-line utility for |
| testing JSR-223 scripts as well as some utility classes for working with XML. |
| </p> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Supported Languages - 2.x"><strong>Supported Languages - 2.x</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <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.org">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/bsf4oorexx/current/">BSF4ooRexx</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> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Documentation (2.x)"><strong>Documentation (2.x)</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <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> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Documentation (3.x)"><strong>Documentation (3.x)</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <p> |
| The following references describe the standard API (javax.script) which is implemented by BSF 3.x: |
| <ul> |
| <li><a href="http://jcp.org/aboutJava/communityprocess/final/jsr223/index.html">JSR-223 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 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> |
| </p> |
| <p> |
| Apache BSF 3.x includes an implementation of JSR-223 (javax.script) and runs on Java 1.4 and Java 5. |
| (Java 6 includes javax.script as standard.) |
| Note that although the implementation follows the JSR-223 specification, it has not been tested against |
| the JSR-223 TCK. |
| Apache BSF 3.x can therefore not strictly be described as a compatible implementation of JSR-223, |
| however it is believed to be complete. |
| </p> |
| <p> |
| Apache BSF 3.x also includes some utility classes for working with XML. |
| These can be used with any used with any implementation of the javax.scripting package, including the one in Java 6+. |
| </p> |
| <p> |
| There is also a command-line utility which can be used to run scripts in any language engine which supports JSR-223. |
| </p> |
| <p> |
| Note that Apache BSF does not contain any language engines; these have to be downloaded separately. |
| Version 3.0 was shipped with a set of engine factories, however this is no longer present in later versions of BSF. |
| This is because many languages are now provided with their own factories. |
| <br /> |
| Also, having all the factories in a single jar can cause problems at run-time. |
| If other jars contain factories that implement a different version of the same language |
| it may be difficult or impossible to choose which version is loaded. |
| <br /> |
| If the language implementation is not present, the factory class may fail to load; |
| with some implementations of javax.script (e.g. Sun Java 6) this may prevent any factories from loading. |
| </p> |
| <p> |
| An example language which includes the necessary engine factory is: |
| <a href="http://commons.apache.org/jexl/">Apache Jexl 2.0</a> (requires Java 5). |
| Some other scripting languages also come with their own factories already included. |
| For example <a href="http://groovy.codehaus.org/">Groovy</a> and <a href="http://jruby.org/">JRuby</a>. |
| </p> |
| <p> |
| Many other languages are supported by the 3rd party engine factories available at |
| <a href="https://scripting.dev.java.net/">https://scripting.dev.java.net/</a>. |
| This provides a combined archive from which the appropriate jar for the language can be extracted. |
| </p> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Latest Release"><strong>Latest Release</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <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> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Get Involved"><strong>Get Involved</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <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> |
| </blockquote> |
| </td></tr> |
| </table> |
| </td> |
| </tr> |
| |
| <!-- FOOTER --> |
| <tr><td colspan="2"> |
| <hr noshade="" size="1"/> |
| </td></tr> |
| <tr><td colspan="2"> |
| <div align="center"><font color="#525D76" size="-1"><em> |
| Copyright © 2002-2010, Apache Software Foundation |
| </em></font></div> |
| </td></tr> |
| </table> |
| </body> |
| </html> |
| <!-- end the processing --> |
| |
| |
| |
| |