Skip to Content

Java Developers Take Note: The BI Java SDK is Here!

All of us on the BI Advanced Technologies Team in Palo Alto are pleased to announce that you can now download the BI Java SDK from the SDN downloads page.

What’s the BI Java SDK?

The BI Java SDK – Business Intelligence Java Software Development Kit – is a key new component of SAP NetWeaver that opens up both SAP and non-SAP data sources to your own analytical Java interfaces. With the SDK, you can build Java applications that render results of custom-designed queries on diverse, heterogeneous OLAP systems as well as relational databases.

The SDK includes a rich documentation set with comprehensive Javadocs, code samples, and a Developer’s Guide including two tutorials to get you up and running quickly with the SDK.

When you download the SDK, you’ll have everything you need to design Java applications that rely on a data source in the absence of a J2EE server. To deploy these applications to SAP’s J2EE server, you will need the official SAP NetWeaver ’04 platform (see the SAP NetWeaver Platform Developer Area for more on NetWeaver availability).

Download the SDK from the downloads page to get started! And be sure to let us know what you think by posting to the Business Information Warehouse forum. Enjoy!

You must be Logged on to comment or reply to a post.
  • Moya,

    I have been trying to use BI SDK to get data from my company’s BW system. We are trying to achieve this using XML Service. The entire Application works fine in BSP (Designed in WAD).

    I am in the process of using Netweaver Developer Studio, BI SDK, HTMLB, JSP DynPages to achieve the above using Java.

    Is there any way I could get in touch with you, to give us some guidelines on how to proceed.

    Thank you.

    • hi ‘nac’ —

      here’s a good place to start:

      it’s a how-to guide that helps you get started with using the BI Java SDK in the NetWeaver Developer Studio to publish a Web Dynpro application.  it also steps you through setting up the BI XMLA Connector – sounds like this is similar to your scenario.

      hope it helps you get started!


      • Moya,

        We have gone ahead with Custom Java iview Development. Business has decided to go ahead with JSPDynpages.

        I have gone through the documentation on “How to use BI Java SDK in a portal iView”. At this point we are in the Proof of concept. My code is able to connect using XMLA, retrieve Data.

        When it comes to displaying Data, I am trying to use HTMLB tags (namely TableView within a JSP page). Is it possible to Display data retrieved via BIDataSetTableModel and BITableItem within a TableView.

        Could you please guide me to some example or any thoughts on displaying Data using HTMLB TableView tags in a JSP page.

        Any help would be appreciated.
        Thank you.

        • Hi Neville,

          The BIDataSetTableModel does not implement the HTMLB Table model, so I think you can not use it directly in HTMLB Tableview;  but you can create your own HtmlB Table model, and in the implementation of this table model, you can retrieve the data from BIDataSetTableModel. The BIDataSetTableModel is pretty easy to use, we have a section on it in the develper’s guide.

          Good luck!

          Best regards,
          Moya & Shan

          • Hello Moya,

            This is Ramesh from a Decoratives Coatings Organizations.

            I have been looking at providing analytics based on my ERP, BI , custom J2EE applications

            I have been reading about the BI Java SDK.

            Wanted to check how does the positioning of the BI Java SDK change significantly from the latest version of the NW04S Visual Composer

            Would really appreciate your inputs on this


          • hi ramesh!

            the BI Java SDK and Visual Composer are meant for entirely different things.  check out this blog post —

            The BI Java SDK:  What’s in it for you?

            in it, i do a little informal comparison of the Web Application Designer and the BI Java SDK. there are similarities when you compare Visual Composer with the BI Java SDK. Visual Composer is for when you want interfaces that automatically look nice – and render in Flash. you don’t have to be an engineer to use Visual Composer – in fact, BI kit capabilities have been integrated into Visual Composer to make it easy to work with BI queries.

            the BI Java SDK on the other hand is for when you want to hand-code everything from scratch, and hence have complete control over the results.

            there is a lot of additional information about Visual Composer here on the SDN – check it out on the VC homepage at

            you can also check out what Mario says in this thread about the comparison:
            Any alternative for Visual Composer?

            hope that helps and thanks for writing;

  • Moya,

    While creating the XMLA System Connection, the How to Guide… shows how to do this connection and then use User Mapping to map the user using this Service on the Portal.

    Business at the company has decided to use JSPDynpages for Development.

    At this point my dilema is if we need  UserMapping, we would need to individually map every user to the XMLA System Alias created to use the Custom iViews we would develop.

    Is there any way around this.

    Any help would be appreciated.

  • Moya,

    We have been toggling round with the thought of using EJBs to store data retrieved from the BW system via a MDX Query.

    My thought has been execute a query which get all the data one would be using within the application (diff. pages diff TableViews) and save the BIDataset in a simple bean within the profile.

    IBIDataSet dataset; // retrieved from the bean

    BIDataSetTableModel table = new BIDataSetTableModel( dataset, false)

    Everytime the user needs any information while moving from one page to the other (Where the TableViews are different on each page )call the bean get the IBIDataset Object and use the object to get the required data if it is stored in the IBIDataset.

    Do you see the IBIDataset option as an issue, in any way.

    Please Advice.


    • Hi NAC,

      if your application is really using the same query results, you can do that, the overhead is just transforming BIDataSet to your data structure each time the view is switched, which is not a problem by itself; but if you can define your common structure and just transform it once, it should be ideal.


  • Hi Moya,

    I have a jsp page that needs to display 3 tableviews. Each TableView data is retrieved by executing a different MDX call.

    The way we planned to do this is by, creating a connection and then executing each one of the 3 MDX statements Serially.

    When I execute the code, I always get the data of the first MDX for the TableView Data of the remaining 2 tableViews.

    The following is my Code:

    connection = XMLAConnection( XMLASystem, request, UserName_Variable);

    IBIOlap olap1 = ((IBIConnection) connection).getOlap();
    // MDX 1
    String SummdxStatement = SumMDX();
    BIdataset1 = olap1.execute(SummdxStatement);

    IBIOlap olap2 = ((IBIConnection) connection).getOlap();
    // MDX 2
    String CCmdxStatement = CCMDX();
    BIdataset2 = olap2.execute(CCmdxStatement);

    IBIOlap olap3 = ((IBIConnection) connection).getOlap();
    // MDX 1
    String FCmdxStatement = FocusCMDX();
    BIdataset3 = olap3.execute(FCmdxStatement);


    Any advice as to how one should execute 3 different MDX calls sequentially.

    • Hi,

      there is no support for executing multiple MDX statements in the same call. they have to be seperate requests in XMLA.

      best regards,