This is the first in a series of posts on Maps in OBIEE. Part 2 – Database is here.
Many people mistakenly believe that implementing map views in Oracle Business Intelligence (OBI) is difficult, requires additional licensing on the Oracle database and requires them to pay for content from third party map providers. Third party provided map data and Oracle Spatial and Graph (an additional option for the Enterprise Edition of the database) may offer significant value to your organization but neither of these options are necessary to create and use maps with OBI. Country, state or province, county, city and even neighborhood level map data is freely available and easily found in a number of places.
Oracle Locator is included with all versions of the Oracle Database. Oracle Map Viewer is included with OBI and the Map Builder and Map Editor tools included with Map Viewer make it possible to import and customize maps. Maps views are produced through an integration between the Oracle Database, Map Viewer and OBI but the hard part of the integration is already done so all that is really required to utilize the power of maps is an understanding of the components involved in the integration and how they interact with each other.
As with most things Oracle, what at first seems complicated is actually pretty simple once an understanding is developed. Maps are like this. At the heart of map views measures such as dollar or quantity are dynamically associated with geometric shapes and rendered using colors, styles and other visualizations in such a way as to enhance the meaning of the underlying data. That’s a complicated task. Thankfully all that is needed to make OBI maps work is a desired geometric shape (US States as an example) and the attribute of that shape (State name for example) that will be associated with the data from OBI. Everything else involved is just giving the various components involved what they need to do their part of the task.
Let’s take a look at a figure from the MapViewer documentation that helps to describe the architecture involved in producing maps and then discuss the important things to understand at each layer. OBI is the “Client” application in our scenario so it passes map rendering requests to MapViewer which in turn interacts with the database to get the map definition information it needs to render a map and pass it back to OBI.
MapViewer (the “Middle Tier”) needs to know what map definition to use and how that definition is linked to OBI data. This linkage is defined in the Map Administration page of OBI and ties a field (or fields) from a subject area to a map layer.
The layers are associated with a Background Map and those are the objects seen when constructing Map Views.
Map Builder is used to create the layers that the user interacts with in OBIEE and set the fields that will be used to join OBIEE data to the geometry objects that are stored in an Oracle Database.
MapViewer is a J2EE application that comes pre-deployed with the included WebLogic instance that OBI is deployed on. Although it is co-located with OBI it can also be deployed on a standalone server running WebLogic, Glassfish or Tomcat. MapViewer maintains the connections to the database(s) containing geometric data and handles the actual work of rendering map views.
Oracle Database stores the geometric definition of shapes and what colors, line types and text styles to use when rendering them. Additionally, various functions can be performed on geometric data such as distance calculations or merging several states into a territory.
So that lays out a basic understanding of the moving parts involved with creating Map views inside of OBI Answers. OBI is a client application asking Oracle MapViewer to render an interactive map for it based on some business data. Oracle MapViewer fetches the map definition and styles from the Oracle Database and uses that information to render a map that it passes back to OBI.