Bookmark this page:
[ Delicious Delicious ] [ Mister Wong Mister Wong ] [ Stumble It! ]

Contents

Other Pages

Icon
Obba A Java Object Handler for Excel and OpenOffice.

Platform independent Spreadsheet Add-Ins:

Compatible with Excel/Windows, OpenOffice/Win/Mac/Linux, NeoOffice/Mac.

Download Installation Tutorial Documentation Licensing

About Obba

Obba provides a bridge between spreadsheets and Java classes. With Obba, you can use spreadsheets as GUIs (Graphical User Interfaces) for your Java libraries. Its main features are:

For a tutorial see Obba tutorial. In this tutorial you create a Java class and a spreadsheet to fetch Stock quotes from finance.yahoo.com.
For a more detailed introduction see Obba documentation.

Advantages

No Glue Code

Obba is different from interfaces such as XLL4J, XLW, ExcelDNA, etc. in that it requires no glue code to link the spreadsheet to the library. Objects are instantiated by their original constructor. A spreadsheet-specific factory method is not necessary.

Tracking Objects

The Obba object dependency graph.

Since objects are instantiated through the Obba functions and handled by Obba handles, Obba knows the object you are referencing in your spreadsheet. This allows tracking which objects are used as well as (implicitly) their dependencies.

Platform Independent

The Obba spreadsheet functions are available in Excel (running on Windows), in OpenOffice (running on Windows, Mac OS X, Linux, etc.) and in NeoOffice (running on Mac OS X). Hence, if your external library is platform independent, your spreadsheet is platform independent too (within the platforms supported by OpenOffice, assuming that your spreadsheet does not rely on technologies other than OpenOffice, Obba and your library).

Licensing

Obba is not free software or open source, but it is available at no charge for non-commercial use and in the event that we cease maintaining the software, any licensee will be permitted access to the source code. Additionally, all updates for a period of one year are included free of charge to anyone purchasing a license.

The following applies to Version 2.x:

Per User License (Individual License)

Trial/shareware license
free The unregistered version may be used for a trial period of 30 days. After this period, you may use the unregistered version for personal, non-commercial use only. Note: The unregistered version starts with a splash screen, which will disappear within a few seconds.
License for personal/private use:
Donationware. To acquire a license for personal / private use donate an arbitrary amount via PayPal.
License for commercial/corporate use:
The license for commercial and/or corporate use is 29 Euro per user, payable via PayPal.
Developer license for commercial/corporate use:
The developer license is 49 Euro per developer, payable via PayPal. You may bundle the library with your own library and redistribute the package. The developer license includes 5 licenses for commercial / corporate use for your clients.

Per Year License (Site License)

Site license for commercial/corporate use:
The site license is 99 Euro per year, payable via PayPal.
Developer site license for commercial/corporate use:
The developer site license is 199 Euro per year. Pay via PayPal. You may bundle the library with your own library and redistribute the package. The developer site license includes 5 site licenses for commercial / corporate use for your clients.
Note: Please retain your PayPal notification of payment as proof of purchase.

Download, Installation and System Requirements

Download

Obba is distributed as a ZIP archive - Obba.zip. Current version is 2.2.10 (February, 2010). (release notes)

Installation

To install Obba:
  1. Download and unzip the Obba.zip archive.

  2. To install Obba for Excel/Windows:
    1. Open the folder "Obba for Excel for Windows"
    2. Launch "Install Obba.exe".

  3. To install Obba for OpenOffice:
    1. Open the folder "Obba for OpenOffice"
    2. Open "Obba.oxt".
      Note: On Mac OS X: close OpenOffice after the add-in is installed: otherwise OpenOffice will hang. (This appears to be a bug in OpenOffice for OS X, not in Obba).
Install complete! Now, try one of the demos in the Demos folder.

Note: The Obba for Excel installer will try to locate your current Java Runtime Environment and install Obba there. If you want to use Obba with a specific Java Runtime Environment, set the environment variable JRE_HOME before launching the installer. The installer will then use the Java Runtime Environment specified by JRE_HOME.

System Requirements

When using Obba with Excel: When using Obba with OpenOffice:

First Steps, Documentation

First Steps

Once Obba is installed, it is available in Excel/OpenOffice after launching. For examples of how to use Obba take a look at the files in the Demos folder.

We recommend that you first try out the Date Demo, which uses java.lang.Date to demonstrate object instantiation and method invocation. It also gives an example of transient object handles.

Next, try the Normal Distribution Demo. It loads an external jar (here Apache's commons-math.jar) and uses a class from it to calculate the cumulative normal distribution. There are two versions of this Excel sheet: the one entitled "concurrent" invokes the calculations concurrently.

When developing new sheets it is helpful to open the Obba log window. See Obba Control Panel: Windows. Note: The Obba Control Panel is not available under Mac OS X due to a bug in OpenOffice. You may see the Obba log messages in the OS X Console application.

Documentation

Documentation is available online. You may also access the Obba documentation offline via the Obba control panel's "Help" menu.

The concept behind Obba is described in the paper

Fries, Christian P.: Comments on Handling Objects in Spreadsheets, http://www.christian-fries.de/objectinspreadsheets.

Version History (selected)

For a detailed version history see the release notes.

Version 1.9 -> 2.1: Version 1.8 -> 1.9: Version 1.7 -> 1.8:

Issues

Obba for Excel

Obba for OpenOffice

All Platforms

OpenOffice 3.x for Mac OS X

OpenOffice 3.x for Linux (e.g. Ubuntu)

Ubuntu Software Center: You need to install the full OpenOffice.org Office Suite.

Developer Documentation

The developer documentation provides instructions on how to bundle Obba with your application (i.e., how to build your own installer). This includes automatic installation of a registration code.

Performance

Obba for OpenOffice handles 10000 spreadsheet function calls (e.g., object instantiation (obMake), method invocation (obCall), or result conversion (obGet)) in 4 seconds on a 2.5 GHz Core 2 Duo. Performance is slower if the Control Panel is visible (GUI updates on 10000 objects will add another 2 seconds) or if logging is enabled (adding another 2 seconds)

Obba for Excel is a bit slower overall, and Control Panel updates are significantly slower in Obba for Excel.

The following table gives an overview.

Setting Time for 10000 Calls
Control Panel Logging OpenOffice 3.2 Excel
off off 4 sec 6 sec
on w/ slow update off 5 sec 8 sec
on w/ normal update off 6 sec 18 sec
off on 7 sec 9 sec
on w/ slow update on 8 sec 12 sec
on w/ normal update on 10 sec 25 sec

Obbas default configuration is Control Panel: off, Logging: on.

Feedback and Feature Requests

Please send feedback and feature requests to info@obba.info.