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 (and dare I say easy) 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 for you 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 you understand what’s going on. I can’t count the number of times when first learning something new with Oracle technology I have marveled at how over complicated it seems but after taking the time to understand it have been equally impressed with how simple they have made very complicated things. Maps are like this. At the heart of map views we are dynamically associating dollar or quantity type measures with geometric shapes and rendering those shapes 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 you really need to know about it is what geometric shapes (US States as an example) do you want to visualize and what attribute of that shape (State name for example) do you want to use to associate with your measures. 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 we will 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. MapViewer is a J2EE application that comes pre-deployed with the included Weblogic instance that OBI is deployed on. Although it is collocated with OBI it can also be deployed on a standalone server running Glassfish or Tomcat.
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 gives us 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.