Well as long as you're giving this a try, I'll see if I can help.

First off, removing BSF from JRuby should be very easy; we have no
dependency on BSF ourselves, and the JRubyEngine class is probably the
only piece of code you would have to remove or disable. Removing that
and any other references  to BSF should not break JRuby (if they do,
I'll personally fix it).

Second, in order for the standard Ruby libraries to be available, the
simplest way would be including them in the JRuby jar file. This would
allow the JRuby and all the libraries to run locally in the browser,
effectively providing a full Ruby environment within an applet. Of
course, this would increase the size of the jar.

If you were intent on running JRuby as an applet with Ruby's .rb
libraries on the server, this would still be possible...but it would
require some work.

JRuby does support (in some capacity) the ability to use a URL as part
of your load path; in other words, you can do the equivalent of
-Ihttp://somewhere.com/rubyfiles and JRuby should be able to use that
location for loading "require"s. However, this is a fairly new
capability, and I can't guarantee it's working 100%. I think it's
pretty cool, though, and I'd be willing to help make it work if you're
interested in trying it.

I'd recommend you pop over to the jruby-user or jruby-devel lists on
jruby.sf.net. We're pretty responsive these days and a JRuby applet
would be cool to have working for our JavaOne presentation.

On 3/3/06, Bill Kelly <billk / cts.com> wrote:
> I'd really like to try this.  My java's a bit rusty... I've
> downloaded the latest JDK and verified I can build JRuby from
> source.  I grepped for BSF and:
>
> src/org/jruby/javasupport/bsf/JRubyEngine.java:import org.apache.bsf.BSFDeclaredBean;
> src/org/jruby/javasupport/bsf/JRubyEngine.java:import org.apache.bsf.BSFException;
> src/org/jruby/javasupport/bsf/JRubyEngine.java:import org.apache.bsf.BSFManager;
> src/org/jruby/javasupport/bsf/JRubyEngine.java:import org.apache.bsf.util.BSFEngineImpl;
> src/org/jruby/javasupport/bsf/JRubyEngine.java:import org.apache.bsf.util.BSFFunctions;
> // . . .
>
> It looked like it was mostly confined to that JRubyEngine.java
> file, although I'm a little lost looking at the source, as I
> don't know what the purpose of a BSF is yet.  :)
>
> But before I delve into it, I was wondering, would you say it
> should be fairly easy to remove the BSF dependency?  Or am I
> looking at a lot of hacking and slashing?
>
> Also, if JRuby is running as an applet, the ruby standard library
> files and my own program scripts will reside on the server, not
> the client's system.  Is this something that will somehow be
> fairly transparent to the applet?  Or will I be looking at hacking
> in the ability for JRuby to read .rb files from the server?
>
>
> Thanks for your thoughts,
>
> Regards,
>
> Bill

--
Charles Oliver Nutter @ headius.blogspot.com
JRuby Developer @ jruby.sourceforge.net
Application Architect @ www.ventera.com