Exalytics in action! Tuning on-the-fly with the Exalytics "Summary Advisor".
Watch Video




See how Peak Indicators have transformed the Oracle BI training market. Watch Video



OBIEE 10g and MapViewer Integration - Frequently Asked Questions (FAQ)


NOTE: For OBIEE 11g please see our upgrade FAQ on OBIEE 11g and Maps

Here is a list of FAQs about OBIEE 10g and MapViewer integration, we hope you find it useful.   Please scroll down to see the answers - if the answer you require is not here then please Contact Us to let us know!


1)    What software components are needed to integrate "maps" into Oracle BI EE?
2)    What is Oracle MapViewer?
3)    What is Oracle MapBuilder?
4)    How does “spatial” or “map” information get stored?
5)    Where do I get the maps from?
6)    What is Oracle Locator?
7)    What is Oracle Spatial?
8)    When do I need to purchase Oracle Spatial?
9)    How does Oracle BI EE and MapViewer Integration work?
10)  Are there any demos available on BI EE and MapViewer Integration?
11)  Can BI Publisher integrate with MapViewer?
12)  How does Oracle BI EE and MapViewer Integration perform?
13)  Is there any training available on Oracle BI EE and MapViewer Integration?
14)  Should I choose Oracle Maps or Google Maps?


ANSWERS


1) 
What software components are needed to integrate "maps" into Oracle BI EE?

    - Oracle BI EE
    - Oracle Database Standard/Enterprise Edition
    - Oracle MapViewer
    - Oracle MapBuilder
    - J2EE Application Server (e.g. OC4J, Weblogic)


2) 
What is Oracle MapViewer?

Oracle MapViewer is a J2EE web application that is used for rendering maps within a web page. It can be deployed to most J2EE application servers (such as OC4J, Apache Tomcat, Weblogic etc).    

Web applications, such as Oracle BI EE, can embed maps within their web pages simply by making calls to Oracle MapViewer, there are many different functions (APIs) available.   

In order to use Oracle MapViewer, you need to have purchased licenses for “Oracle Application Server”.   Please always check though with Oracle regarding your license situation before you install.



3) 
What is Oracle MapBuilder?

Oracle MapBuilder is development tool (written in Java) that enables you to build/configure your maps.   Note that is does not enable you to “draw” maps from scratch, it relies on the fact that you have spatial information (such as country boundaries) stored in a database somewhere.

Using MapBuilder you can decide what spatial information is displayed on each map and how that information should be formatted.  

A map (or a “Base Map” to be more precise) consists of one or more “Themes”.  Each “Theme” refers to one type of information you might want to appear on a map.  For example: Country Boundaries, Oceans, Highways, State Boundaries, Cities etc.

Once you have prepared your Base Maps, you can upload the configuration to Oracle MapViewer where they can then be integrated into your own applications.

When it comes to Business Intelligence, you will normally define further Themes to represent the data you wish to overlay on each Base Map.   For example, you could have a Theme that will show all the World Countries but where each Country is colour coded depending on how much Revenue has been generated there in the previous year (high values in green, low values in red etc).


4) 
How does “spatial” or “map” information get stored?

You can store your spatial data in the Oracle database. 

The Standard/Enterprise editions of the Oracle Database have a special data type called “SDO_GEOMETRY” which can store anything from single points to complex 3D shapes.    

As an example for a World Map, there will be a table on the database consisting of all the boundaries for each Country.   The table will consist of a “geometry” column (SDO_GEOMETRY datatype) and there will be one record per Country.

The “geometry” column will actually store all the many Longitude/Latitude boundary co-ordinates for a county in a single array-type structure (there could be 100s or 1000s of these co-ordinates): 

 

COUNTRY_NAME
===========       
GEOMETRY
========
France (123, 83), (123, 84) ......... (189, 98)
Germany (120, 10), (120, 11) ......... (115, 78)


NOTE: this is a simplified representation!

So for a World Map, all the Country “geometries” used to build up a map image will be obtained from a single table.   The “COUNTRY_NAME” column will be used to determine the label for each Country that appears on the map.

If you want to display Highways, for example, then typically there will be another database table that stores all the geometry co-ordinates for every Highway (containing one record per Highway).


5)
Where do I get the maps from?

Typically you’ll need to purchase map data.    To get you started however, there is a sample set of “World Map” data supplied by NAVTEQ, Oracle Database customers are free to use this sample data (as long as the Navteg logo is displayed alongside any maps you produce).

The sample data set does not of course contain everything, it contains all “Country” boundaries and then has further detail data going down to “major Highway” level in about 20 western Countries (US, UK, France, Germany etc).

The sample map data can be downloaded on Oracle Technology Network (OTN).      

If you wish to purchase more detailed maps from NAVTEQ, then please Contact Us at Peak Indicators where we will be happy to put you in touch with the right NAVTEQ representative.


6)
What is Oracle Locator?

Oracle Locator is perhaps a little-known (but very important!) component of the Oracle Database.   Locator is actually a cut-down version of Oracle Spatial and is provided “free” with all Standard and Enterprise database editions. 

Locator gives you all the necessary functions to index, query, join and filter spatial data.    

If you already have all the required spatial data and you just need to render it on a map, then Oracle Locator should be sufficient and you won’t have to purchase licenses for Oracle Spatial. 


7) 
What is Oracle Spatial?

Oracle Spatial is a licensed database option and is only available with Enterprise Editions of the Oracle database. 

It provides all the Oracle Locator functions plus much more.   For example:

  • Additional geometry functions
  • Spatial aggregate functions
  • Spatial analysis and mining functions
  • Linear referencing system support
  • Geo-coding support  (e.g. finding out the Lat/Long co-ordinates for a Post Code)
  • Geo-raster support
  • Support for topology & network models

If you need to modify any spatial data, then the likelihood is that you'll need to purchase Oracle Spatial licesnes.


8)  When do I need to purchase Oracle Spatial?

As a general rule of thumb, if you need to manipulate any spatial data then you will have to purchase Oracle Spatial licenses on the database that performs the operation.

At first, a lot of Oracle BI implementations may be able to survive with just the functions provided with Oracle Locator. 

However, it is likely that at some point you will need to manipulate your spatial data in some way.   For example, you may wish to combine all your “Country” boundaries together to form “Regions”.     This process is called “Spatial Aggregation” and licenses for Oracle Spatial are required in order to do this. 

The following link within the Oracle Database Documentation explains the differences between Oracle Locator and Spatial in more detail: 

           http://download.oracle.com/docs/cd/E11882_01/appdev.112/e11830/sdo_locator.htm#i632018

Or please Contact Us should you require any advice.


9) 
How does Oracle BI EE and MapViewer Integration work? 

Consider an example where a BI Dashboard contains a report showing how many Flu cases have occurred in each of the World’s Regions.  We want to plot the total number of cases per Region on a map like this:
 
Here is a high-level summary of how the integration works: 

i. An End User opens up the Oracle BI Dashboard consisting of a BI Answers report
ii. The report has some embedded Javascript code that sends a request to Oracle MapViewer asking it to render a World “Base Map” (showing all the World’s Countries and Oceans)
iii. The embedded Javascript code collects all the report’s data in XML format
iv. A second request is sent to MapViewer, this time asking it to render a Theme over the Base Map.   The Theme is designed to show the world’s Regions in different colours, to colour depends on how many Flu cases have occurred.  As part of the request all the XML data from the report is passed over to MapViewer
v. MapViewer will now render the Theme on top of the Base Map
vi. The “Base Map” + “Theme” is now displayed within the Oracle BI Dashboard
vii. Further requests are sent to MapViewer to display a “Navigation Pane” and “Legend”



10) 
Are there any demos on BI EE and MapViewer Integration?

Yes, you can find flash-demos of BI EE and MapViewer integration on the Peak Indicator’s “Knowledge Base”.


11) 
Can BI Publisher integrated with MapViewer?

Yes!  Please see this flash-demo of BI Publisher with MapViewer Integration on the Peak Indicator’s “Knowledge Base”.


12) 
How does Oracle BI EE and MapViewer Integration perform?

There are several characteristics of the Oracle BI EE / MapViewer / Spatial integration architecture that provide excellent performance and scalability:

  • The Oracle Database comes equipped with spatial indexing, caching and many other capabilities to optimise “spatial” operations on the database
  • The Oracle MapViewer engine has its own caching abilities that keep previously generated Base Map and Theme images stored so that they can be re-used again.   This cache works effectively even if a sub-set of a map is required
  • Oracle BI also has two levels of caching to optimise not only the querying of report data but also the presentation of report objects (charts, tables etc)
  • The Oracle Database, MapViewer and BI EE are all “horizontally scalable”, so you get the full benefits of a scalable and high-availability architecture throughout the technology stack
  • Oracle BI only passes over the “summarised” data to Oracle MapViewer.    So if you are displaying data for 5 “World Regions” on a map, then Oracle BI will first aggregate the data and then pass over only 5 pieces of information to Oracle MapViewer  (even if your data set consists of millions of records on the database)

Note that Oracle BI does not need to pass over any “geometry” information to MapViewer.   For example, to display a data for 5 World Regions on a map it will only needs to pass: 

           Europe             100,000
           North America   150,000
           South America  111,000
           Asia                  90,000
           Australia           74,000           

Oracle MapViewer will then take this small amount of information and then render the Regions listed on the map by getting the geometries from its own underlying Oracle database (unless cache entries exist, in which case the relevant images will be obtained direct from cache).


13) 
Is there any training available on Oracle BI EE and MapViewer Integration? 

Yes.   Peak Indicators have developed a special 2-day training focussed purely on embedding interactive maps within Oracle BI Dashboards.    Peak Indicators can deliver this training publicly (through Oracle University) or privately upon request. 

Please click here to see more details: Oracle BI EE “Expert” Spatial Integration

Or for further information, please Contact Us.


14) 
Should I choose Oracle Maps or Google Maps? 

Both map engines can deliver impressive results when integrated within Oracle BI EE.  

The good thing about Oracle Maps is that with the latest 11G R2 version of MapViewer has the ability to source "Base Maps" from external sources such as Google Maps.   MapViewer can then render your own custom themes (such as Revenue per Country) on top of the Base Map.  

The geometries for your custom themes should still ideally be stored in the Oracle database regardless of where you source your Base Maps from.   

You could, of course, pass your geometries over to Google Maps for rendering, but you need to take into account that you will be transmitting your Business Intelligence data over the internet and this might violate your corporate security policy.  

If you use an external mapping provider such as Google, then you won’t have as much control over the performance and scalability of your application (as the data goes over the internet and you don’t own the spatial hardware!).   

 
More Info