September 7, 2007

Business Objects SDK Example

The Business Objects XI SDK provides provides programmatic access to the BO back end objects. Almost anything that can be done in Business Objects, can be done in one way or another via the SDK. The api is quite extensive. There is also a .NET version of the API, but in this example, we will walk through the Java version.

To illustrate the SDK (Software Developer's Kit) functionality, we will walk through a simple use of the Java SDK for XI. We'll go over in a step-by-step manner how the Business Objects SDK can be used in conjunction with some complementary technologies, in this case a python script.

To illustrate SDK usage we will build a utility script that emails the contents of a Web Intelligence data source as a csv or tab delimited output.

Why base the output on the BO data source?

Because of the nature of reports being intended for human readability, various elements are included in a BO report that would be undesirable for system to system communication. For example, reports typically have logo files, report dates, etc. When converting a report to csv these "human intended" elements can cause problems.

We want clean, tabular output. And… there is already a method on the DataSource object to getCSVOutput().

A quick way of learning a new API is to take supplied example code and modify.

So for this example, we will take the examples included with the Buiness Objects SDK as a starting point.

The functionality will be exposed as a call to a java web application (WAR), and will thus be easily deployable.

The primary components of the example this little system are:

1. Web application (.war file) - contains SDK code

2. Python script (report-mailer.py) - talks to the web app

3. Configuration file - text file that stores configuration information, one file per report emailed

This example is intended for a non-packaged report with a single data source (query). Based on the configured document identifier (docIdentifier in the config file), it will pull the data source from the latest instance and email the contents as requested in the configuration file.

With a little modification of the python script, we could supply output in a number of different formats. We could write to the local file system in an ftp accessible directory (available for "pull" by other systems). We could "push" the data to another server via FTP, SFTP, SCP, etc.

The war is deployed into a java application server (e.g. Tomcat). This can be the same server or a different one than the one running BO.

The example code supplied by Busness Objects is packaged with jars such that they can run standalone (from a BOXI server).

Continued here: Business Objects SDK example.

Spread the word

del.icio.us Digg Furl Reddit Ask BlinkList blogmarks Blogg-Buzz Google Ma.gnolia muti Netscape ppnow Rojo Shadows Simpy Socializer Spurl StumbleUpon Tailrank Technorati Windows Live Wists Yahoo! Help

Permalink • Print • Comment

Track this entry

RSS BlogPulse

RSS Technorati Cosmos

Related Entries

Leave a Comment

You must be logged in to post a comment.

Made with WordPress and an easy to customize WordPress theme • Dodger Blue skin by Denis de Bernardy