2.9 Oracle Maps

Oracle Maps is the name for a suite of technologies for developing high-performance interactive web-based mapping applications. It consists of components from both the server side and the client side.

2.9.1 Overview of Oracle Maps

Oracle Maps consists of the following main components:

  • A map tile server that caches and serves pregenerated map image tiles upon a map image tile request

  • A map server that generates maps form spatial data to the mapping client upon a client map image request

  • A map data server that fetches spatial data from a spatial data provider to the mapping client

  • An Ajax-based JavaScript mapping client. (Ajax is an acronym for asynchronous JavaScript and XML.) This client provides functions for browsing and interacting with maps, as well as a flexible application programming interface (API).

The map tile server (map image caching engine, described in Map Tile Server) automatically fetches and caches map image tiles rendered by the Oracle Spatial map visualization component or other web-enabled map providers. It also serves cached map image tiles to the clients, which are web applications developed using the Oracle Maps client API. The clients can then automatically stitch multiple map image tiles into a seamless large map. Because the map image tiles are normally pregenerated and cached, the application users will experience fast map viewing performance.

The JavaScript mapping client is a browser side map display engine that fetches map content from the servers, and presents it to client applications. It:

  • Fetches map images tiles from a map visualization component server, from a third party map service provider, or from its local disk-storage

  • Retrieves spatial data from a map visualization component server, from a third party spatial data provider, or from its local disk-storage and then renders the spatial data into map images by itself on the client side

  • Provides customizable map-related user interaction controls, such as map dragging and clicking, for the application

  • Provides other built-in features and utilities to customize the map contents and map layout design

The JavaScript mapping client can be easily integrated with any web application or portal.

2.9.2 Architecture for Oracle Maps Applications

Figure 2-15 shows the architecture of web mapping applications that are developed using Oracle Maps.

Figure 2-15 Architecture for Oracle Maps Applications

Description of Figure 2-15 follows
Description of "Figure 2-15 Architecture for Oracle Maps Applications"

Referring to Figure 2-15, applications interact with the Oracle Maps architecture as follows:

  • The application is developed using JavaScript, and it runs inside the JavaScript engine of the web browser.

  • The application invokes the JavaScript map client to fetch the map image tiles from the map tile server, and then it displays the map in the web browser.

  • The application invokes the JavaScript map client to fetch the map image in other form of map services (such as WMS and WMTS) from the server and then displays the map image.

  • The application invokes the JavaScript map client to fetch spatial data from the map data server and then renders the map image to display.

  • The JavaScript map client controls map-related user interaction for the application.

  • When the map visualization component server receives a map image request, the request can be one of its several supported types: a map image tile request to its map tile server, a map image request to its map server, a WMS map request to its WMS server, or a WMTS map image tile request to its WMTS server. Each request will be handled by the server accordingly.

    Example 1: When the map tile server receives a map image tile request, it first checks to see if the requested tile is already cached. If the tile is already in the cache, the cached tile is then returned to the client. If the tile is not in the cache, then the map tile server fetches the tile into the cache and returns it to the client. Tiles can be fetched either directly from the map visualization component map rendering engine or from an external web map service provider.

    Example 2: When the server receives a map image request (instead of a map tile request) to its map server, the map server renders the image and returns it to the client. Note that in contrast to the map tile server, the map server generates a map according to a specified data bounds and renders the data onto an image with specified dimension, but it does not cache the map image.

  • When the map data server receives a map data request, it retrieves the spatial data and returns the spatial data, not map images, to the client.