This month's St. Louis JUG meeting featured Kyle Cordes talking about scripting Java applications
"I attended one of Edward Tufte's classes," started Kyle. I know right away that I won't be able to get the PowerPoint for the talk at the end. Kyle did the presentation in Eclipse and showed code.
Kyle handed out a one page summary that contained all the main points of the talk in complete sentences and paragraphs. Since it's not very creative to simply copy that sheet of paper into this blog, I'll summarize the talk into bullet points.
History of scripting
Bean Scripting Framework (BSF)
BeanShell (JSR 274)
Groovy (JSR 241)
Java 6 scripting (JSR 223)
Demos
Rhino (Mozilla's Java based JavaScript engine)
"You won't get into trouble by using the scripting language in the JDK"
We have been very happy using Rhino to scripting an enterprisey application
It's surprisingly easy to add scripting support
What's a scripting language
Dynamic typing
Interpreted execution
eval
Why script
Configuration
More important in commercial systems
"Alternate hard and soft layers"
modular & testable
Users will use scripting to create incredible values
Kinds of scripting APIs
Rules scripting
Plugin scripting
External scripting
Sandbox is very important (scripts shouldn't be able to see your app's internals)