Building a customer focused BI Application on SAP BusinessObjects
Most of the BI Landscapes in industry utilize a content driven BI Approach rather than a user focused BI approach. While the content centrist approach is great for IT or IS organization it posed challenges to Business as business have to juggle through a lot of content which can be dashboards , reports and explorer information spaces or any other BI contents to do the analysis. This can lead to a lot of frustration and confusion and in the process and also wastes a lot of time of business to get all the relevant information for a specific analysis. Also when a new business user wants to do the same analysis the path he might take can be time consuming as he might need to understand which BI contents available for an analysis and what type of information they have and then switch between those contents to reach to an answer.
To overcome this problem we came up with a novel way to build user focused BI utilizing custom websites with embedded BI contents. Now before going there you might argue why anyone would need one more website when we already have BI launchpad in BusinessObjects as the default portal. And the answer is quite simply BI Launchpad can have multiple type of content like reports (Webi/Crystal) , Dashboards , data exploration Information space and they are most of the time just sitting in different folder and sub folders and there is no logical way to tie them to a specific type of activity or users and the process can be very cumbersome. Also some times the contents are not linked together for example there could be a sales dashboard and sales detail report but user have to go to sales dashboard find out the scenario which he wants to analyze and then go to the reports and select all prompts and filters to get to the details for that scenario.
How this solution works from a bird’s eye view : The most critical feature to make the solution work is open document URL for specific BI contents and enabling single sign on for BusinessObjects. The solution leverage the Opendoc links of Business Objects contents and combining it with i-frames in a customer portal. The portal being rendered via an IIS website which has a user friendly DNS alias. Let’s say user can access all the relevant sales information tying http://sales vs. http://businessobjects-dev (followed by a bunch of clicks to get to your desired folder), which one makes more sense and easier to remember when you are looking for all BI Contents related to sales? We created the sites and named them as http://Sales.yourcompanydomain.com , short, meaningful and easier to remember for users. The IIS websites make use of i-frames within which the open document links for dashboards, explorer information spaces and Webi reports are called. Also we make sure to make the website code in a way that it loads the dashboard contents while loading utilizing the parallel processing without wasting user time and once loaded the dashboard does not refreshed automatically.
Let take an Example:
Let’s take a fictitious scenario; assume you are a product manager in a large organization selling products to consumers across to globe and you are assigned to some product line in the company. Your job requires to ensure your have enough inventory for next week for your top selling products for last quarter for in North American region and ensure the plants which supplied the product is going to produce enough of them for the next quarter.
In a traditional content driven BI scenario you would have go to sales folder and find out which reports or dashboard gives you the top customer for last quarter by region. Then find out which is your top selling product for North America by filtering your product lines and regions. Then after you find the product, you would need to go to inventory folder and find out which report or dashboard shows the current inventory by product. Then find what is the current inventory levels for your top product which you have got from sales report. Then go to forecast report find out the forecast of the product for the next quarter and then then compare the number with the current inventory to understand how much of the product you would need to produce during next quarter.This whole process can take many hours to get a answer.
Now let’s take the scenario in this new approach where there is dedicated web link like http://PM-Analytics which has the sales dashboard with inventory dashboard and Forecasting report at the same Weblink as different tabs. The user just goes into the sales tab , finds the top selling product then gets to the next tab which inventory while still preserving his sales analysis.Then he finds the inventory numbers and goes to the next tab which is forecast report filtering the product and compare the additional inventory that will be needed based on forecast. Sounds simple!! This process will also save user a lot of headache to find the right content use the contents correctly as everything needed in one place and his sales analysis is not lost and he has just do the similar analysis for south America region quite easily as his old analysis does not automatically reset to default and the session should be still active. This process should be no more than few minutes.
How does it Look:
In a traditional content focused BI user have to go to Launch Pad , Public Folder and then find all the contents that are needed for an analysis.
In the new Process just need to Type a URL in a browser which can be as simple as http://Sales which allows the user to directly view the landing dashboard without the hassles of finding it in a folder and all the additional BI contents to support an analysis. They do not see anything else except what they need.
The application can have reports which support analysis and also explorer information spaces to do data exploration.
When users wanted another set of related data they just click on another tab which takes him for additional analysis.
Here is how the solution looks like. User types in a custom url like http://sales which is hosted on IIS web server as a web application.Then the request is redirected through a load balancer into Business Objects webserver and subsequently to BOBJ application server to cater the BI contents requested.
Creating a Web Application to
Deploying Business Objects Dashboard with a Custom IIS Website Name
I am going to discuss how to build a custom application URL to host BI contents so that a user group gets their BI contents available in just one place rather than having to go through launchpad and bunch of folders. The below solution is meant for IIS webserver so all the screen shots are specific to IIS only.
Three items need to be installed/configured on the server in order to prepare to serve up IIS websites:
- IIS services should be configured on the server
- .Net Framework 4.5 should be installed
Configure IIS Services on the server
Go to the Server Manager console on the server and select the option Add Roles –
Select the web server IIS role anc click next –
Once the installation is over, you will be able to see the role and services installed –
Install .Net Framework 4.5
Download the .Net 4.5 setup from Microsoft site.
Double click on the downloaded .exe file to start the setup.
Follow the on screen instructions to complete the setup.
How to Setup a Custom IIS Website for housing opendoc links
1. Content Home Folder for Site
Create Directory Folder
Create a folder that will server as the home folder for the website, this is required while creating the website.
Apply Access Levels to Site Folder
Go to the properties of the home folder that was created for the web site and add the ‘Everyone’ group with execute access –
2. Create the Website In IIS
Add the Web Site
Open up the Windows Server IIS manager console in one of two ways:
Start > Run > inetmgr > hit enter
Start > Administrative Tools > Internet Information Services Manager
Right click on ‘Sites’ and select the option – Add Web Site.
Fill in the detail fields corresponding to the application area for which we are creating the site. These are…
Site Name: This name should match that of the Application Area established in the BO Launchpad
Physical Path: This is the path to the home contenet folder for the site that you created in an earlier step
Host Name: This equates to the web URL that users will enter to visit the web page (see example, below, for the “Inventory” application).
Application Pool Settings
In IIS left pane, click on Application Pools to see all application pools for your sites. For your new site, make sure that the application pool is set to use the latest version of .Net Framework . If it is not, double click the application pool and in the dialoge window select the latest version for .Net Framework.
In IIS left pane, right-click on your new application site and select Edit Bindings… Make sure that both bindings are present on the website – the short name and the fully qualified name.
3. Finalize Web Content Customization
Populate the Home Directory with Sample Web Content
Once the website is created, the code needs to be put in the home folder we created.
Modify Customized Content Files
There are couple of things that we need to modify for the sites for each application area that we are rolling out the site for.
The following three files need to be modified to change the site as per the new application.
The timeout popup setting is in this file in the section for function Init() , if required it can be changed. We are currently using a standard timer value of 7140000.
The title of the Web Site and the working environment is present in this file –
The Workingenv parameter decides which links will be used from the links.xml file.
The Title parameter decided what will be the title of the webpage.
the opendoc links, title of the different tabs and the tooltip help is present in this file –
Based on the working environment we set in the web.config, the opendoc links will be picked from the links.xml file.
while inserting the links, we needto modify them a bit –
4. Request DNS Alias for the server/loadbalancer
Once the website is created, make sure to create an simple alias for the users to accessthe site – for example http://sales, http://quality etc.
Alias names being requested should be SAME as the bindings that have been provided for the web site.
Once the alias has been created, access the web site using any browser and confirm that it is working as expected.
Now finally once you are done with these you will have a website where you can embed the BI content for a personalized experience of your end user community.
Please keep in mind as there is no logoff button included in the custom website even the user closes the browser the sessions are still active in the server until it times out. However if you are in BI 4.1 SP6 BOBJ drops the session in 2mins after user closes the browser.
Is this a custom feature ( Similar to adding custom company logo to the BI Launchpad login page) or is it a new feature to be implemented in the upcoming new versions of BI releases ?
This is a custom mechanism and not part of the future release of the product.