Oracle BI EE 10.1.3.3/2 – Integration into External Applications/Portals

This question generally comes up in almost all the customer calls that i go into. So, i thought i would blog about all the possible options for integrating BI EE into any external application. Though i have talked about the individual options before i thought it would make more sense if one has a complete list of all the possible options(let me know if you find more). The various possible options are listed below
1.   Integration using GO URL and URL Parameters.
2.   Integration using SOAP APIs(BI EE Web Services).
3.   Integration by deploying BI EE JSR-168 compliant portlets to a WSRP standard Portal
4.   Integration by calling BI Server metadata using ODBC from other tool sets.
Now lets discuss the advantages and disadvantages of using all the above 4 options.
1.   GO URL is the easiest and best approach for integrating BI EE into any kind of a web environment. Currently, BI EE is integrated into Siebel CRM using this methodology. One of the major advantages of using this approach is that it gives the end user a lot of flexibility. One does not lose any kind of in-built features of BI EE and at the same time one call the reports and the dashboards from an application using a single URL. Parameters can be passed back and forth between the application and BI EE since both have HTML based UI. So, if you are one of those users who want to integrate some BI EE reports into one of your own custom application i would recommend you to evaluate this approach first before going into any of the other 3 approaches. For the list of all known and unknown parameters check my blog entries here and here.
2.   SOAP APIs or the BI EE Web Services also provide very good integration capabilities. But just understand that these are APIs that expose the nuts and bolts of OBI EE. In most scenarios, these might not be useful at all. But this can be useful in situations wherein you would like to leverage some of the BI EE reports and would like to do something in your application based on the output of a report. For example, assume that you have a web application that creates and manages workflows. Now, assume that an end user creates a workflow request asking for 5 days of vacation. This workflow request would be sent to the manager if he has more than 5 days of vacation balance left for approval else it will go one more level up for approval. Whether the end user has enough vacation is determined from a BI EE report that can accept parameters. In such a case, WSDL SOAP APIs can be very useful. Also, it can be useful in situations wherein you would like to synchronise user authentication in your custom application and BI EE. For more details check my blog entry here.
3.   JSR-168 portlets – This method of integration is useful in those situations if you have a standard portal that is WSRP compliant. In such a case you can deploy these portlets directly into a WSRP container of the portal and can view BI EE reports directly from your portal (for example Oracle Portal). But i would recommend going through GO URL approach first and see whether it is applicable in your situation. If it is not only then should this approach be used. For more details on how to deploy these portlets check my blog entry here
4.   Using BI Server ODBC – This is not an integration methodology per se. But again i have seen users using this approach for leveraging BI Server Metadata. So, if you have any other reporting tool that can create reports using a ODBC connection then and if you want to leverage BI Server metadata then this option is for you.