Bean Scripting Framework

The Bean Scripting Framework is a method of allowing the use of scripting in Java code. It provides a set of Java classes which provides support within Java applications for scripting languages, and also allows access to Java objects and methods. Some examples of languages that can be used in combination with BSF and Java include Python, Jython and Tcl, as well as JRuby and Apache Groovy using their own libraries.

BSF was created by IBM, and then donated to the Apache Software Foundation, where work on BSF is part of the Apache Jakarta Project. It is a part of Apache Commons.

A counterpart of BSF is the JSR223 ScriptEngine shipped with Java SE 6. Java SE 6 only includes a Script Engine based on Rhino JavaScript Engine for Java version 1.6R2, while JSR223 framework actually supports a number of scripting languages. JSR223 uses Script Engine to integrate scripts with Java source codes. So far, Script Engines included in the JSR223 include BeanShell, Jython, JRuby, JavaScript, Groovy and several others.