Sei sulla pagina 1di 6

OBIEE 11g and MapViewer Integration

1) 2) 3) 4) 5) 6) 7) 8) 9) 10) What software components are needed to integrate "maps" into OBIEE? What is Oracle MapViewer? What is Oracle MapBuilder? How does spatial or map information get stored? Where do I get the maps from? What is Oracle Locator? What is Oracle Spatial? When do I need to purchase Oracle Spatial? How does OBIEE and MapViewer Integration work? How does OBIEE and MapViewer Integration perform?

1) What software components are needed to integrate "maps" into OBIEE? OBIEE 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 OBIEE, can embed maps within their web pages simply by making calls to Oracle MapViewer, there are many different functions (APIs) available.

3) What is Oracle MapBuilder? Oracle MapBuilder is development tool (written in Java) that enables you to build/configure your maps. Note that it 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 one 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 one might want to appear on a map. For example: Country Boundaries, Oceans, Highways, State Boundaries, Cities etc. Once Base Maps are prepared, then we can upload the configuration to Oracle MapViewer where they can then be integrated into OBIEE. When it comes to Business Intelligence, one has to normally define further Themes to represent the data one wishes to overlay on each Base Map. For example, one 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? One can store 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 coordinates for a county in a single array-type structure (there could be 100s or 1000s of these co-ordinates):

COUNTRY_NAME =========== France Germany

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

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 one want s 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 one needs to purchase map data. To get 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 Navteq logo is displayed alongside any maps one produces). 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).

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 one already has all the required spatial data then one just need to render it on a map, then Oracle Locator should be sufficient and there is no need 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:
y y y y y y y

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 one needs to modify any spatial data, then the likelihood is that one needs to purchase Oracle Spatial licenses.

8) When do I need to purchase Oracle Spatial? As a general rule of thumb, if one needs to manipulate any spatial data then one has 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 one needs to manipulate spatial data in some way. For example, one may wish to combine all 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

9) How does OBIEE 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: An End User opens up the Oracle BI Dashboard i. consisting of a BI Answers report The report has some embedded Javascript code that sends a request to Oracle MapViewer asking it to ii. render a World Base Map (showing all the World s Countries and Oceans) The embedded Javascript code collects all the report s iii. data in XML format 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 iv. 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 MapViewer will now render the Theme on top of the v. Base Map The Base Map + Theme is now displayed within vi. the Oracle BI Dashboard Further requests are sent to MapViewer to display a vii. Navigation Pane and Legend

10) How does OBIEE and MapViewer Integration perform? There are several characteristics of the OBIEE / MapViewer / Spatial integration architecture that provide excellent performance and scalability:
y y

y y

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 OBIEE 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 North America South America Asia Australia 100,000 150,000 111,000 90,000 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).

Potrebbero piacerti anche