If you ever wondered how the BI Publisher API's worked then look no further. This is the ultimate blog on how the API's and there is a free working code base you can download and use for development.
There are four caveats:
1. This code is free but cannot be copyrighted, unless your oracle (but you need to discuss terms first with me)
2. I don't think I can distribute xdocore.jar file, you will need to download either in the latest patchset (ebs) or standalone version.
For 11i environment, I would suggest downloading patch: 5472959. If you put the j5472959_xdo.zip file in c:\JDeveloper\jdev\mywork\BIPublisherIDE\BIPublisherIDE\lib
the project should work.
3. If you improve the project you should share the information here in this blogpost.
4. If you download the project please post a "positive comment." Kidding...but it would nice!
Long ago, I was doing a tremedous amount of BI Publisher development inside the EBS and Oracle Portal. One of the problems I was having is that BI Publisher development can be time consuming when you continually have to reload your format template, data template into the database and re-iteratively submit concurrent requests.
I was also faced with other issues as well, what if I wanted to test eText and Bursting locally? There was no option to do this any product. The only way to test eText is start->programs- your bip installation-> run template viewer
How It Works: Architecture
The BIPublisherIDE is setup for a developer by a developer (it's just like the hair club for men, "I'm not only a member but I'm also a client.")
There is a config class, api class and utility class.
1. The config class contains methods and creates connections to databases.
2. The api's class extends the config class and inherits the methods and has the ability to override the methods. This class contains all of the bi publisher core api's.
3. The utility class extends the api class, put simply the utility class is a wrapper. It sets the foundation for which api's to call based on what is set in the config file (xml).
The design is intentional and sets a precedence for doing report development. As developers we iteratively run unit tests till we receive the desired result. One of the most cumbersome problems we face is that there is a lot of "non-value" added steps in report development process. This is why report development to a certain degree needs to be configurable and run locally.
Other benefits of the design is that fact that it's not only a development tool, it can be deployed in other environments. For instance you can deploy the BIPublisherIDE jar file in a concurrent program or other web based environment like portal, websphere, etc (this might be helpful for apex too).
How to run the IDE (BIPublisherIDE.pdf)
Download the IDE (BIPublisherIDE.zip)
Next Article to Come: How to display a BIP Report using the OA Framework (i.e: like the PO)