Share this page: 


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

Contents

Other Pages

Icon
Obba A Java Object Handler for Excel and OpenOffice.

Platform independent Spreadsheet Add-Ins with Client/Server Support .
Compatible with Excel/Windows, OpenOffice/Win/Mac/Linux, LibreOffice/Win/Mac/Linux, NeoOffice/Mac.
Version 3.0 (April 2012)

Download Installation Tutorial Documentation Licensing Developer Resources

About Obba

Obba Diagram

Schema of Obba Interaction: Obba provides access from the spreadsheet to objects created from classes of your library - without any additional coding. The spreadsheet and Obba JVM may run on different machines.

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:

Use cases:

For a tutorial see Obba tutorial. In this tutorial you create a Java class and a corresponding 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 and LibreOffice (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).

Example: Creating an Object and Calling a Method on that Object

Spreadsheet functions…

Construction of java.util.Date object in spreadsheet cell A1 (for example):
Spreadsheet (cell A1) (Excel/OpenOffice)
= obMake("dateObject","java.util.Date")
Invocation of method toString (having no arguments), on the object created in cell A1, storing the result of the method under the object label dateString.
Spreadsheet (Excel/OpenOffice)
= obCall("dateString",A1,"toString")

…correspond to Java code.

This corresponds to the Java code
Java
import java.util.Date;
Date dateObject = new Date();
String dateString = dateObject.toString();

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.

We offer a regular license and a developer license on a per user or a per year basis.

If you acquired a regular license, we grant the use of Obba for commercial purposes, with no right to modify or redistribute Obba.

If you acquired a developer license, we grant you ("the Third Party Developer") the redistribution of Obba together with the Ice components (Ice.jar and Ice.dll) included in Obba with your own products, provided that you do not modify Obba (the class files within Obba.jar) and provided that you do not use the Ice components (Ice.jar and Ice.dll) and comply with the Ice license agreement included in Obba.zip. End users shall not be permitted to modify or distribute any part of your product(s) using Obba.

Obba is provided under the terms stated in the LICENSE.txt file, distributed in the Obba.zip file.

The following pricing applies to Version 3.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.
Regular license for personal/private use:
Donationware. To acquire a license for personal / private use donate an arbitrary amount via PayPal.
Regular license for commercial/corporate use:
The regular license for commercial and/or corporate use is 29 Euro per user, payable via PayPal.
Developer license for commercial/corporate use:
The developer license for commercial and/or corporate use is 49 Euro per developer, payable via PayPal.

Per Year License (Site License)

Regular 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.
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 3.0.8 (April, 2012). (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".

Install complete! Now, try one of the demos in the Demos folder.

Note: To use the client / server feature you need to perform a small additional installation step, see

Note: If have Obba for OpenOffice 2.x installed you need to remove it first! You cannot use the OpenOffice Updater to Update Obba 2.x to Obba 3.x.

System Requirements

When using Obba with Excel:

Note: Obba 3.x is no longer compatible with Windows 2000 (due to the absence of a .Net 3.5 framework). Please contact us at info@obba.info if you need a version of Obba for Windows 2000.

When using Obba with OpenOffice:

Also runs with LibreOffice and NeoOffice.

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.

Version History (selected)

For a detailed version history see the release notes.

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

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

Note: The following applied to Obba 2.2.15. Performance of Obba 3.x is a bit slower due to tcp/ip communication overhead and will be optimized in the coming releases.

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

Obba's default configuration is Control Panel: off, Logging: on.

Feedback and Feature Requests

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