Return Home
Project Archive
Articles Archives
Contact Us


Buju is the BBeans Universal Java Utility. Buju provides your application full access to Sun's Java language and platform, as well as software written in Java, even if your application is not written in Java. It is open source, and free to use and distribute, in accordance with the GNU LGP License. Buju allows applications which can't normally instantiate or use Java objects to do just that. All you need is a socket connection (by default an SSL socket) and access to the host running the Buju server. No Java is required on the client side. Think of it as a local web service for doing anything you want in Java.

Deployment PDF.

Buju is a server which provides remote access via TCP/IP by your application to the open source Java interpreter BeanShell. It has a number of security layers and administrative services that wrap around BeanShell. And many of its features are implemented in BeanShell script, which is loosely-typed Java code (or optionally, strict Java). That means you can easily customize and extend it without having to re-compile classes.

Search This Site:


  • Multi-threaded, multi-user server.
  • Multiple layers of security.
  • Multiple private and shared Java interpreters (think of them as namespaces).
  • Interpreter locking, for atomic operations which span multiple client/server exchanges.
  • Namespace 'push' and 'pop' within an interpreter.
  • Most administrative functions implemented in interpreted Java script for ease of customization.
  • Locale enabled.
  • Open source.
  • Free.
  • Freely distributable (GNU LGPL).

  • Buju has been used to access Java PDF, RTF and HTML libraries (iText), MS Excel and Word libraries (POI), charting libraries (JFreeChart), e-mail libraries (Java's activation and mail libraries), embedded web servers, web services of all kinds, as well as just standard Java classes such as HashMap and Timer.

    Why, Why, Why:

    Why a Java service?
    Because, believe it or not, there is still plenty of code written in languages that can't make use of the extensive world of Java libraries and applications without some sort of bridging mechanism. By making BeanShell available via secure TCP/IP socket connection, Buju opens up the world of Java to those other programming environments in the simplest way possible.

    Other alternatives to accessing Java from non-Java applications are:

    • Using BeanShell's built-in httpd-based server, which was primarily meant to provide interactive access to BeanShell via a web browser, but probably could be modified to add more security and a simple application interface.
    • Creating a secure web service wrapper (in Java, I would imagine) to specific Java application(s) (even BeanShell), and then creating a web service client to those services in your own applications.


    It is free. But you should feel motivated to send money if this product:

    • Saves you time.
    • Helps you sell your own product.
    • Impresses you enough to want to donate.

      No, I'm serious. Part of your donation goes to the BeanShell project and the Java Service Wrapper project, both of which are a part of the Buju distribution. The rest goes to defray the time and cost of bringing Buju to you.

      But if you are currently monetarily challenged, you can still contribute to the further development of Buju. Enhancements, documentation, examples, feedback, success stories, near-success stories, bug reports, anything to make Buju better -- its all welcome.

    Why open source?

    For many good reasons, but here are a few:

    • Two major components in Buju -- BeanShell and Java Service Wrapper -- are already open source.
      BeanShell 2.0 Java Service Wrapper  

    • We want to promote Java activity in areas that have been traditionally shut out.
    • The product will develop more rapidly the more it is used and the more users send in their improvements and suggestions.

    Why free?


    Copyright - All Rights Reserved.

    Payback Feedback on this Project Documentation Suggested Use Download Project System Requirements Overview