Configuring Custom Skin & Style for OBIEE 12c

.

 

Introduction

Each version of OBIEE has a set of styles and skins designed to make the displaying of data visually appealing. This gives the end user the ability to select styles as per their need. Generally, each OBIEE version has a default style. For example, in OBIEE 12c, the default UI Skin and Style is called ‘Alta’. In 11g, it is ‘blafp’.

Clients often want to see their organization’s BI data with their company logo, colours, styles etc. Not surprisingly, customizing the OBIEE user interface is one of the most frequent activities undertaken while implementing OBIEE in an organization.

In this article, we will describe how to customize the Skin/Style in OBIEE 12c as per the customer requirements below:

Replace the Oracle logo with the Client logo
Change the header bar color in the analytics home page
Customize the OBIEE charts with a custom color pallete
Change the default style/skin

 

1. Unarchiving the Analytics EAR File:

OBIEE analytics components and configuration files are bundled together as an .ear file named ‘analytic.ear’ and are deployed in weblogic services as part of the installation and configuration. We are going to create our own customization under this file and then deploy it back in weblogic services.

It is always a best practise to make a back-up copy of the files and folders before starting any customization. This would help us to revert back to before the changes if anything goes wrong. The recommended files to be backed up are:

Analytics.ear
Instanceconfig.xml

To begin the unarchiving process, please follow the below steps:

1 Navigate to C:\Oracle\Middleware\Oracle_Home\bi\bifoundation\jee to find the analytics.ear file, which is already deployed in weblogic.
2 Copy analytics.ear and paste it in your local folder D:\OBIEE.
3 Unzip the analytics.ear from D:\OBIEE\analytics ear with your preferred zip tool.
custom style OBIEE 12c

 

4 Further unzip the analytics.war file in another folder to avoid conflicts,
D:\OBIEE\analytics ear\analytic war.
custom style OBIEE 12c

 

Note: Don’t touch/modify the folders META-INF & WEB_INF.

 

2. Replacing the Oracle Logo:

To Replace the Oracle logo with the client logo in the analytics home page:

Navigate to ‘res’ in D:\OBIEE\analytics ear\analytic war\res.
In this folder, we can find separate folders for each Skin and Style:
»  Folders starts with ‘s_’ refers for style
»  Folders starts with ‘sk_’ refers for skin
Decide on which out-of-the-box style we are going to extend with our new customization. We can either add our customization in an existing style or make a copy of any folder for customizing the style & skin and then rename it, like s_CPcustom, sk_CPcustom.
Navigate to ‘D:\OBIEE\analytics ear\analytic war\res’ and open the filemap.xml file and do the below change only if you have created the custom folder (s_CPcustom). Otherwise skip this step if you are customizing the existing style(for s_Alta). Change the code as below to extend the Alta style to the new custom skin and style ‘s_CPcustom’ and ‘sk_CPcustom’.
 Figure 3

 

Here I’m doing my customization under s_Alta folder after backing up the original folder, so I just skipped the above step.
Move to the location ‘D:\OBIEE\analytics ear\analytic war\res\s_Alta\master’.
Rename the oracle_logo to some other name(ex: oracle_bkp) and paste the custom picture with the same dimensions the as oracle logo has. Name the custom picture as oracle_logo.

 Figure 4

 

 

3. Changing the Header Bar Color in the Analytics Home Page:

By default, the header bar of the OBIEE Analytics web page is grey. To customize this color :

Navigate to D:\OBIEE\analytics ear\analytic war\res\s_Alta\master.
Find and open the file ‘custom.css’.
The custom.css file is an empty file that is imported by the master.css file. You can use the custom.css file to add your own CSS classes, which will override the classes in the master.css file.
Keeping the custom code in custom.css file enables you to take advantage of future improvements to the master.css file that are applied by patches and upgrades.
To get the class/ id’s, login to analytics through Chrome, right-click and choose "inspect" to inspect the elements whose styles you want.
custom style OBIEE 12c

 

Override the code with your custom code as below in custom.css file.
custom style OBIEE 12c

 

Save and close the file.

 

4. Customizing the Default Color Pallete:

In OBIEE 12c, the initial colors of default color pallete are blue and green, therefore, the graphs and charts are generated in those colors by default. To modify the color pallete and use the standard colors of your organization, follow the steps below.

Navigate to D:\OBIEE\analytics ear\analytic war\res\s_Alta\master.
Open ‘graph.xml’ file with the text editor. Here you will find the list of SeriesItems just below the SliceLable tag.
 Figure 7

 

Change the color code as per your need and save the file.

 

5. Set OBIEE Default Style & Skin:

The default Skin and Style for each version of OBIEE is set in the file named ‘instanceconfig.xml’. The default style for OBIEE 12c is ‘Alta’. Since I made my customizations under s_Alta, I don't need to modify the style name in instanceconfig.xml.

In case you are doing the customization under your own custom folders (s_CPcustom/sk_CPcustom) then follow the below steps.

Navigate to C:\Oracle\Middleware\Oracle_Home\user_projects\domains\bi\config\fmwconfig\biconfig\OBIPS.
Open & Edit the instanceconfig.xml file with text editor.
Change the DefaultSkin and DefaultStyle as CPcustom as per the screenshot below.
custom style OBIEE 12c

 

6. Archiving the Analytics EAR file:

Now we are done with the customization part. So bundle the files back in analytics.war and then analytics.ear as before.

Analytics.war should be archived with the below files.
 Figure 9

 

Analytics.ear should contain the below files.
 Figure 10

 

Copy and paste the ‘analytics.ear’ file into the source location. C:\Oracle\Middleware\Oracle_Home\bi\bifoundation\jee.

Now ‘analytics.ear’ file is ready to deploy with the custom styles.

 

7. Deploy the analytics.ear File:

To deploy the analytics.ear file with custom styles:

Login to Weblogic Server Administration Console with Administrator credentials.
Navigate to Domain Structure -> Deployments -> control tab.
Select analytics from the deployment list and click on Stop -> Force Stop now.
custom style OBIEE 12c

 

Click on 'Lock & Edit' from the left side panel.
Go to the Configuration tab, there you can see the status of anlytics has been changed.
Now select 'analytics' and click on ‘Update’ to update the new changes from analytics.ear file.
Browse the source path where the analytics.ear file is saved and click on 'Finish'.
custom style OBIEE 12c

 

Once the deployment is successfully updated, click on the 'Activate the Changes' tab.
custom style OBIEE 12c

 

Now move to the 'Control' tab and start the analytics by servicing all requests.
custom style OBIEE 12c

 

Now the status should be Active as per the below sceenshot.
custom style OBIEE 12c

To reflect all changes made in the analytics deployment, perform a Full Restart in OBIEE by using the stop.sh and start.sh script files or by restarting the services from Oracle Enterprise Manager(EM).

 

8. Restarting the Services From Enterprise Manager:

Login to Oracle Enterprise Manager with administrator credentials.
Navigate to Target Navigation tree -> Business Intelligence -> biinstance -> Availability.
Click on the 'Restart All' button to restart all the services.
custom style OBIEE 12c

 

Note: As a best practise, Clear the browser cache files before login to OBIEE analytics.

 

9. Testing the Customization:

Login to OBIEE Analytics and check the default style and logo in OBIEE analytics home.
Navigate to any report that is saved under the catalog and see if the default color palette for OBIEE graph has been changed in the report.
custom style OBIEE 12c

 

 

Conclusion

Every organization likes to have their business reports and charts aligned to their standards with respect to skin and styles. OBIEE offers us the flexibility here to modify the text fonts for the reports and to have a custom color palatte for the graphs, logos and skin as per the standards of the organization.

Further customization can be made on the css files referred in this article to improve the look and feel of the OBI analytics home page, reports and charts.

If you want to know more about how to customize your reports and charts and enhance your visualizations you can always contact us!

 

Configuring SSL for OBIEE 12c

.

 

Introduction

Why SSL for OBIEE
This article deals with how to configure SSL for OBIEE 12c. The SSL (Secure Sockets Layer) enables the communication between the application server and the client via an encrypted link.

While deploying the OBIEE in an organization, we must ensure the SSL is configured using the client’s certificates in order to make sure the interaction between the browser and application server is private, since the BI dashboards contain data confidential to the organization.
 

1. High-Level Steps to enable SSL for OBIEE 12c

Before getting into the hands on, let’s understand the high level steps involved in this configuration:

Generating the required certificates and keystores for SSL communication
Configuring Weblogic Admin Server, Node Manager and Managed Server for SSL
Configuring Internal WebLogic Server LDAP to Use LDAPs
Configuring Internal WebLogic Server LDAP Trust Store
Disabling HTTP
Configuring OWSM to use t3s
Enabling Oracle BI EE Internal SSL for BIEE

 

2. Assumptions

We assume OBIEE 12c is installed and configured in a Windows/ Linux server with the DSN – obiee12c.clearpeaks.com. The BI services are accessible using the following links with default OBIEE 12c ports:

Weblogic Console
EM Console
BI Presentation services

 

3. End to End SSL configuration for OBIEE 12c

 
3.1 Generating the required certificates and keystores for SSL communication

Create a folder under Oracle Home where OBIEE 12c is installed. For E.g. /ssl
Set the environment variable PATH to include the JAVA_HOME/bin directory.

 

WINDOWS:

set JAVA_HOME=<path to JAVA install root>

set PATH=%JAVA_HOME%/bin;%PATH%

UNIX:

export JAVA_HOME=<path to JAVA install root>

export PATH=$JAVA_HOME/bin:$PATH

 

Create Java key store: Invoke the Java keytool utility to create a java key store. For example:

 

keytool -genkey -alias <alias> -keyalg RSA -sigalg SHA256withRSA -keysize <key_size> -keypass <password> -keystore <keystore_name>.jks -storepass <password> -storetype <store_type> -validity <days_of_validity>

 

For example:

 

> keytool -genkey -alias obiee12c -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -keypass Clearpeaks123 -keystore obiee12c.jks -storepass Clearpeaks123 -storetype JKS -validity 365
 What is your first and last name?
 [Unknown]: obiee12c.clearpeaks.com
 What is the name of your organizational unit?
 [Unknown]: admin
 What is the name of your organization?
 [Unknown]: Clearpeaks
 What is the name of your City or Locality?
 [Unknown]: Abu Dhabi
 What is the name of your State or Province?
 [Unknown]: Abu Dhabi

 

Create a Certificate Signing Request (CSR). Use the following command to create a Certificate Signing Request:

 

keytool -certreq -v -alias <alias> -keyalg RSA -sigalg SHA256withRSA -file <filename> -keypass <password> -keystore <keystore> -storepass <password>

 

>keytool -certreq -v -alias obiee12c -keyalg RSA -sigalg SHA256withRSA -file root_cert_req.csr -keypass Clearpeaks123 -storepass Clearpeaks123 -keystore obiee12c.jks
Certification request stored in file root_cert_req.csr

Submit this to your CA

 

Submit this CSR to the signing authority board and in return, the root, intermediate and server certificates will be provided.

 

Import the CA into the Java Keystore. Use the following command to import the root, Intermediate and server certificate to the Java Keystore.

 

» Import Root Certificate

 

keytool -import -trustcacerts -alias <alias> -file <cacert_file> -keystore <keystore> -keypass <password> -storepass <password>

 

>keytool -import -trustcacerts -alias rootca -file rootca.pem -keystore obiee12c.jks -keypass Clearpeaks123 -storepass Clearpeaks123
.....................................
....................................
Trust this certificate? [no]: yes
Certificate was added to keystore.

 

» Import Intermediate Certificate

 

keytool -import -trustcacerts -alias <alias> -file <cacert_file> -keystore <keystore> -keypass <password> -storepass <password>

 

>keytool -import -trustcacerts -alias interca -file interca.pem -keystore obiee12c.jks -keypass Clearpeaks123 -storepass Clearpeaks123

Certificate was added to keystore

 

» Import Server Certificate

 

keytool -import -alias <alias> -file <servercert_file> -keystore <keystore> -keypass <password> -storepass <password>

 

>keytool -import -v -alias server -file server.cer -keystore obiee12c.jks -keypass Clearpeaks123 -storepass Clearpeaks123

Certificate reply was installed in keystore

 

Use the following command to verify whether the keystore contains the certificates

 

keytool -list -keystore <keystore> -storepass <password>

 

>keytool -list -keystore obiee12c.jks -storepass Clearpeaks123

 

In case if the key store contains chain of certificates, use the following command:

 

>keytool -list -v -keystore obiee12c.jks

 

3.2 Configuring Weblogic Admin Server, Node Manager and Managed Server for SSL
 
3.2.1 Configuring Weblogic Admin Server for SSL

Stop all the BI services using server script – stop.sh

 

 ./stop.sh

 

Start the admin server only by using the following command

 

> ./start.sh –i Adminserver

 

Log in to WebLogic console.
Click Lock and Edit.
Select Environment > Servers. Click on Admin Server.
In the 'General' tab, update the Listen Address with the DSN - obiee12c.clearpeaks.com.
Check 'SSL Listen Port Enabled'. 'SSL Listen Port’ : e.g. 9501 (make sure the port is available)

Image 1

 

Click 'Save'
Select Keystores’ tab and click the ‘change’ button to select Custom Identity and Custom Trust for keystores.
Update the details as follows.
» 'Custom Identity Keystore’: <path_to_keystore> eg. <ORACLE_HOME>/ssl/ obiee12c.jks
» 'Custom Identity Keystore': JKS
» 'Custom Identity Keystore Passphrase': <storepass_pwd> e.g.: Clearpeaks123
» 'Confirm Custom Identity Keystore Passphrase': <storepass_pwd> e.g.: Clearpeaks123
» 'Custom Trust Keystore': <path_to_keystore> e.g. <ORACLE_HOME>/ssl/obiee12c.jks
» 'Custom Trust Keystore Type': JKS
» 'Custom 'Custom Trust Keystore Passphrase': <storepass_pwd> e.g.: Clearpeaks123
» 'Custom 'Confirm Custom Trust Keystore Passphrase': <storepass_pwd> e.g.: Clearpeaks123
» 'Click 'Save'.   

Image 2

Note: In this, example the Custom Identity Trust keystore and Custom Trust Keystore are same.

 

Select the 'SSL' tab and enter the relevant information based on Step 1.
» 'Private Key Alias': <alias_given_when_creating_key> e.g. obiee12c
» 'Private Key Password': <keypass_pwd> e.g. Clearpeaks123
» 'Confirm Private Key Password': <keypass_pwd> e.g. Clearpeaks123
» Click 'Save'

Image 3
 
 
3.2.2 Configure Managed Server for SSL

Select Environment > Servers. Click ‘Managed Server bi_server1’
Perform the same changes done on the general tab in the Admin server described in the earlier step, by selecting the 9503 port for SSL (if available)

Image 4

Select the keystores tab and perform the changes as done in the keystore tab for Admin server and Click ‘Save’

Image 5

Select the SSL tab and perform the changes as done in then keystore tab for Admin server and Click ‘Save’

Image 6
 
 
3.2.3 Configure Node manager for SSL

Update the nodemanager.properties in <DOMAIN_HOME>/nodemanager folder with Custom Identity Keystore and Custom Trust Keystore details

 

KeyStores=CustomIdentityAndCustomTrust

CustomIdentityKeyStoreFileName=<Path to the Keystore>

CustomIdentityAlias=<Keystore Alias>

CustomIdentityPrivateKeyPassPhrase=<Key Passphrase>

CustomTrustKeyStoreFileName=<Path to the Keystore>

 

For example>

 

KeyStores=CustomIdentityAndCustomTrust

CustomIdentityKeyStoreFileName=<oracle_home>/ssl/obiee12c.jks

CustomIdentityAlias=obiee12c

CustomIdentityPrivateKeyPassPhrase=Clearpeaks123

CustomTrustKeyStoreFileName=<oracle_home>/ssl/obiee12c.jks

 

Import the Public certificates (root and intermediate) to Java Standard Trust Store, /jre/lib/security

 

>keytool -import -trustcacerts -alias rootca -file <oracle_home>/ssl/rootca.pem -keystore cacerts -storepass changeit

>keytool -import -trustcacerts -alias interca -file <oracle_home>/ssl/interca.pem -keystore cacerts -storepass changeit

 
3.3 Configuring Internal WebLogic Server LDAP to Use LDAPs

Make sure WebLogic Admin and Managed Servers are up and running
Login to EM. Click weblogic domain>Security >Security Provider configuration
Expand the Identity Store Provider
Click ‘Configure’
Click ‘+’ or ‘Add’ to add a new property
Select ‘ldap.url’ from the list. Enter the value’ ldaps://:’
For e.g.: ‘ldaps://obiee12c.clearpeaks.com:9501'

 

Image 7

Click ‘Ok’

 
3.4 Configuring Internal WebLogic Server LDAP Trust Store

Expand the Identity Store Provider
Click ‘Configure’
Expand the Identity Store Provider
Click ‘Configure’
Click ‘+’ or ‘Add’ to add a new property
Select virtualize from the list. Enter "true" as the value
Click ‘OK
Make sure virtualize=true is set, as you are explicitly pointing the Administration Server
Restart all the BI services
Create LDAP Trust Store "adapters.jks"
Set the following environment variables

 

>export ORACLE_HOME=<Oracle_Home>

>export WL_HOME=<Oracle_home> /wlserver

>export JAVA_HOME=<path to JAVA install root>

>export PATH=$JAVA_HOME/bin:$PATH

>cd $ORACLE_HOME/oracle_common/bin

 

./libovdconfig.sh -host obiee12c.clearpeaks.com -port 9500 -domainPath <Oracle_home> /user_projects/domains/bi -userName 

 

Import the SSL certificates into ‘adapters.jks’ created in the <DOMAIN_HOME>/config/fmwconfig/ovd/default/keystores folder

 
3.5 Disabling HTTP

Login to Admin Console
Lock and Edit
Navigate to Environment > Servers > Admin Server
In the Admin Server General tab, uncheck ‘Listen Port’
Click 'Save'
Navigate to Environment > Servers > bi_server1
In the Managed Server bi_server1 general tab, uncheck ‘Listen Port’. Click ‘Save’
Navigate to Environment > Cluster > bi_cluster
Click Replication Check the ‘Secure Replication’

Image 8

Click 'Save'
Activate changes
Restart the BI services

 
3.6 Configuring OWSM to Use t3s

Login to EM
Select WebLogic domain, and cross component wiring, components
Select component type, OWSM agent
Select WebLogic domain, and cross component wiring, components
Select the row owsm-pm-connection-t3 status 'Out of Sync', and click ‘Bind’.
The HTTP(s) OWSM link is not used when using a local OWSM
Select ‘Yes’ in the pop-up box

Image 9

Confirm by accessing the policy via the validator: https://obiee12c.clearpeaks.com:9503/wsm-pm/validator

 
3.7 Enabling Internal SSL for OBIEE 

Stop all the BI services
Execute the following command - /bitools/bin/ssl.sh | .cmd script to enable internal SSL for OBIEE

 

>./ssl.sh internalssl true

 

Restart the BI services
Validate the internal ssl configuration by running the following command

 

>./ssl.sh report


 
4. Validating the SSL configuration

Try accessing the Weblogic console, EM, analytics and visual analyser with the configured SSL ports
» WebLogic Console - https://obiee12c.clearpeaks.com:9501/console

 
Image 10

 

» EM Console - https://obiee12c.clearpeaks.com:9501/em

 

Image 11

 

» BI Presentation services: https://obiee12c.clearpeaks.com:9503/analytics

 

Image 12

 

Image 13

 

» Configure the DSN with ‘use SSL’ checked and try opening the RPD online

Image 14

 

In case if you are configuring the SSL for OBIEE 12c - 12.2.1.0.0, Add the following entry to the   file <Oracle_home>/bi/modules/oracle.bi.commandline.tools/scripts/data-model-cmd.sh

 

TRUST_STORE=”<Oracle_Home>/ssl/obiee12c.jks"

TRUST_STORE_PW="Clearpeaks123"

 

Conclusion

Configuring SSL in OBIEE 12c is quite a long and tedious process since it involves multiple restarts that may fail if the certificates are not properly imported to the keystore.  Always make sure the server ports to be configured for OBIEE SSL are open and available for clients.

Some organization may not use the intermediate certificates. In such cases, the root and server certificates are sufficient to perform this configuration. Last but not least, make sure the keystore directory has apt permissions set for the BI system to access the keystore and certificates.

Click here if you would you like to know more about how to configurate SSL for OBIEE.

 
 

OBIEE Security Dashboard

.

 

Introduction

As a reporting tool, OBIEE handles an organization’s critical data in the form of Reports and Dashboards. Considering the criticality of data, it is crucial to have robust security measures in place as part of the OBIEE implementation framework.

The roles and responsibilities of business users change frequently due to changes in their respective job roles or in their business’s organizational hierarchy. As part of maintaining data security, it is mandatory to review the entire access map for users across all catalogues and dashboards on a regular basis to ensure that there is no data leakage by any unauthorized user. This blog explains the idea of having a separate dashboard to accomplish this objective.

The following are benefits of having a separate security dashboard.

Provides a 360-degree overview of user access to OBIEE catalogues and dashboards
Fetches complete access details of any particular business user
Fetches the list of catalogs, users and AD groups (If applicable) mapped to any application role

 

1. Business Value

From the business point of view, it is crucial to have the user access control maintained meticulously. To achieve this, the auditors and business focal points for any subject area should review the entire access map of users across all catalogues and dashboard in their respective subject area on a regular basis to ensure there is no data leakage.

Below are some of the requirements from business focal points or auditors, in order to review security access in BI on a regular basis.

List of users having access to any corporate dashboards like HR, Finance, Purchasing, Procurement etc
BI catalogs or data access for a given business user
List of users, catalogs or AD groups mapped to an application role

OBIEE does not have any inbuilt solutions to fetch the above information on a regular basis. In order to retrieve this information, we will have to check the permissions granted to the required BI catalogs. A user can be granted access to BI catalogs through various means, such as by directly mapping to the catalog (not a good practice), by mapping the user directly to an application role that in turn is granted permission to access the catalog, or by adding the user to the AD group, which is mapped to an application role. There are even scenarios where an application role is mapped to another application role. In such cases, it is necessary to loop through application roles and extract the users granted access to the catalogs. In short, it becomes a tedious and time-consuming manual task when there are multiple catalogs involved.

This blog provides a high-level overview on consolidating this information in the form of a dashboard to help make security information easily accessible by both auditors and business focal points at any point in time.

 

2. Solution Overview

The following are the three levels where we can implement security in OBIEE:

Object level - Deals with access restrictions to various OBIEE catalogues/objects for different application roles/ users
Data level (Row level) - At this level, users have access to reports, but they see different sets of data within these reports based on their authorization to view data
User Level Security – At this level, the goal of the authentication configuration is to get confirmation on the identity of the user based on the credentials provided

To build a security dashboard we have to consolidate the security information from aforementioned levels into a data model for reporting. As part of data integration process, we have consolidated the information from Application Roles, Oracle BI Presentation catalogues and the active directory into a consolidated security master table. The final fact table for the data model fetches the data from the security master table. Below is the high level architecture of this solution.

Figure 1

Figure 1: Architecture of a BI Security Dashboard Project

As shown below in the dashboard, the ‘Dashboards’ tab comprises the first section of the security dashboard. This section provides access details from the dashboard(s) page perspective. Dashboards are grouped into different categories, enabling users to select the required dashboard category.

Figure 2

Figure 2: Dashboard Page of the Security Dashboard

The ‘Analysis’ tab provides access details related to standard reports created in BI. All standard reports, which are developed, based on business requirements and accessed by users for their job purpose, are kept in a separate folder – ‘Standard Reports’ in our environment. Under Standard reports folder, there are several sub-folders created for categorizing reports developed for respective subject areas. By clicking on any standard report, we can easily get the list of application roles mapped to it, along with the users mapped in those Application Roles.

Figure 3

Figure 3: Analysis Page of the Security Dashboard

The ‘Users’ tab provides access-related details for a particular user in BI. The dashboard prompt allows the selecting of a specific user whose BI access needs to be analyzed. On selection, basic user details are displayed, like their name, organization, location, employment ttype, job title etc.

Figure 4

Figure 5

Figure 4: Page of the Security Dashboard

 

Conclusion

The Security Dashboard project is one of the best solutions for providing a comprehensive overview of user access in OBIEE. Its implementation promises to ease the task of maintaining data security in any organization.

If you liked our solution stay tuned, in one of our next articles, we will show how to extract this data from Active directory. Meanwhile you can always contact us if you want to know more about the Security Dashboard project.

 

OBIEE Data API

.

 

Introduction

OBIEE Data API is a REST API using Node.JS to consume OBIEE 11g web services. The REST API identifies the call from external application using OAuth. The application helps to build a non-direct connection using rest calls to the data source rather than using a direct JDBC/ODBC connection.

We came across a situation where we needed to expose the data from OBIEE seamlessly to our mobile application in an agile way without tightly coupling the data layers with the mobile presentation layer. Using the OBIEE Data API will ensure the application server only connects to the data source via REST calls and then communicates to the users, as shown in the diagram below.

Figure 1: Data flow architecture

Figure 1: Data flow architecture

 

1. Motivation

Below are the key factors that drove the development of the OBIEE Data API:

How to get data from multiple silos for the enterprise mobile application. 

The Enterprise mobile application required data from multiple data sources, including OBIEE reports and Oracle and SQL databases of internal applications. We wanted to limit the configuration of new data connections to a single source to simplify the data flow to the mobile application.

All the complexity surrounding data source definitions, database drivers, and multi-silo network access should be the responsibility solely of the data API and should not be tied to the data reading application

How to conceal the direct connection details to data sources.  

As per the security audit recommendations we received, we needed to minimize the exposure of the direct connection to the databases from multiple applications and to conceal the actual connection details.

 

2. How does the Data API work?

When a predefined data endpoint is called from the external (mobile) application, the API checks if the called endpoint exists in the metadata dictionary of defined Data API entities.

If it finds a suitable match, then the API establishes a connection to the respective data source and requests to execute the logical SQL statement defined in the entity. The response received from the OBIEE server is rearranged into a predefined JSON format and sends back the final response to the external requestor.

Let’s see how the Data entity is defined and configured in the API.

Defining Entities

Data API entities are the defined SQL statements to be executed against a known data source connection. They include what parameters are to be used and how the flat JSON response is reshaped, as per the user requirements.

We can create data source connections to connect the OBIEE server as shown below.

Figure 2: Define data source connection

Figure 2: Define data source connection

 

The below screen describes how we define a new entity or data endpoint.

Every data entity has a unique name, a data source connection, a query to be executed, a list of parameters it can receive and process, and the configuration necessary to transform the raw data to the required JSON output.

Figure 3: Define data entity

Figure 3: Define data entity

 

How to connect to the OBIEE server using the API to retrieve data.

Data API operations predominately first attempt to establish a connection to the data retrieving system and then initiate the execution of a query to retrieve raw data.

From the OBIEE web services, we are using the SAWSessionService logon method to establish the connection. The response received from the logon method contains the session ID or token required to call further methods to fetch data from OBIEE instance. Once the connection is established, the executeSQLQuery method of XMLViewService is called by passing the logical query saved in the entity, along with the session ID needed to retrieve the raw data. The data formatter module of the API will reformat the received XML data to the required JSON format. A sample output of the data is shown below.

Figure 4: Sample Output

Figure 4: Sample Output

 

3. Is the Data endpoint secure?

Yes, Security mechanism within the API will ensure that the API call is from a trustworthy source. This is achieved through a token authentication method. Prior to the data endpoint call, the authenticate method has to be called to obtain a token. This token is sent as a header message along with the data end point call to the REST API server.

 

Conclusion: Applicability (Mobile Application, Web Applications...)

Commonly, enterprise data is hosted on a large number of systems. It is frequently hard to get access to them and quickly build new solutions, which need data from multiple silos. If you implement a RESTFUL API solution, which has access to multiple silo’s, you can expose the data in multiple silo’s to a large number of applications and their servers in a more agile way. Implementing REST API to expose enterprise data from multiple silo’s is a great way of setting your data free to any type of applications including mobile, web, embedded components, etc.

The OBIEE Data API initiative has now been enhanced to retrieve data from Oracle and SQL server databases using the oracledb and mssql npm packages, respectively. The REST API application services can be further extended to connect to mongodb, cloud web services, essbase cube, etc.

Figure 5: Solution road map

Figure 5: Solution road map

 

Click here if you would you like to know more about how to use the OBIEE Data API.

ClearPeaks´ Visualisation Plugin

.

 

Introduction

If you’ve worked with any kind of data, you know how harrowing reading rows and rows of numbers can be. It isn’t easy to wade through all of those numbers and easily figure out what they mean. That’s the case where visualisation comes to the rescue. Visualisation de-mystifies the data and helps decision-makers derive actionable insights from it. The whole idea of this blog is to delve into the blossoming world of data visualisation. It is hard to ignore the weight that more advanced and more interactive visualisations carry in today’s data-centric world. It is common to get requests to add visualisations or other improvements to the dashboard in order to provide a flashier look or design. Typically, these kinds of requests are handled by embedding HTML and JavaScript to provide data driven, custom visualisations. At ClearPeaks, we have developed a set of Custom Visualisations that allow configurable visualisations to work natively in modern browser technologies.
 

1. Motivation

Following are the main Key factors, which drive the need for Custom Visualization Plugins:

Add new Capabilities to existing chart types for modern reporting tool.
Add brand new Visualization types.

Let us discuss each one of these points in detail.

Add new Capabilities to existing Chart types.
How many times have you received a request that you just could not meet with native chart types because there was not enough ability to customize the chart? For example, imagine that you want to build a line/bar combo chart with a third distinct Y-axis. Oh sure, you can map three metrics, but if the metrics do not have the same unit of measurement or the same scale, then you are screwed. To handle these kind of scenarios, we have to use these Pre-build custom Plugins.

Add brand new Visualisation types.
There is huge scope for improvement in terms of Interactive Visualizations with traditional charts Library and there are so many new visualization Patterns we can build using JavaScript like Donuts, Meters, Pokers or Animated Donuts etc, which is hard to visualize with Traditional Reporting tools.

 

2. How does it work?

ClearPeaks’ plugin is solely based on native browser technologies and doesn't require client side plugins like Flash or Java. The plugin is built with jQuery and SVG. With the ClearPeaks plugin referenced in your webpage, we are ready to use a wide range of highly customizable charts. In case of the Oracle BI implementations, where their servers are isolated from the Internet and protected in internal LAN segments, referencing these resources from Oracle BI means having to first deploy them in the WebLogic Server as static resources.
ClearPeaks’ plugin allows us to easily customize the design of a chart, like its size, colour and fonts. Also, it is possible to include or exclude parts of the charts.
 

3. Data Visualization Graphs

In this section, we present some of the visualization graphs developed by our team:

Gauge Chart: Gauge provides a rich amount of configurable items, which can set options we pass through the plugin invocation.
Figure 1 - Gauge Chart
Donut Chart: A Donut Chart is a circle chart that shows the percentage of an activity.
Figure 2 - Donut Chart
Pyramid: A Pyramid chart displays a single series of data in progressively decreasing or increasing proportions, organized in segments, where each segment represents the value for the particular item from the series.
Figure 3 - Pyramid
TimeLine: Timeline allows to visualise the starting and ending of an activity.
Figure 4 - Timeline

Visualisation also includes the below charts.

Horizontal Bar Chart:
Figure 5 - Horizontal Bar Chart
Vertical Bar Chart:
Figure 6 - Vertical Bar Chart
Bubble Chart:
Figure 7 - Bubble Chart
Percentage Bar:
Figure 8 - Percentage Bar

 

Conclusion

ClearPeaks’ custom visualisation plugin provides some of the best and most unique visualisations available. The charts are highly customizable in terms of size, colour and design. Better yet, the visualisations can be implemented in OBIEE or any custom html reports or dashboards.

Click here if you would you like to know more about this innovative solution!

privacy policy - Copyright © 2000-2010 ClearPeaks

topnav