Implementing GeoDRM support in an OpenLayers based viewer: access to the French geoportal WMS-C services from the Spanish SDI
R. Béjar, M. Á. Latre, J. Valiño, F. Javier Zarazaga-Soria, P. R. Muro-Medrano
Department of Computer Science and Systems Engineering, Universidad de Zaragoza, Zaragoza, Spain
Digital Rights Management (DRM) is a term that refers to the technologies used to limit the uses of digital contents to those intended by their providers. The OGC GeoDRM reference model describes an abstract model for DRM for geospatial resources [1].
In the process of establishing the horizontal interoperability among Spanish, French, Portuguese and Andorran geoportals [2], one of the technical hurdles to overcome was integrating the WMS-C services offered by the French geoportal[1] (Géoportail) in the Spanish SDI geoportal[2] (IDEE) viewer, because these services are published following the GeoDRM reference model. The IDEE viewer is a web application built on top of the OpenLayers open source viewer[3], which supports both tiled and non-tiled map services. Tiled map services can be implemented following the WMS-C[4] de facto standard, which provides a service interface that is a profile of the OGC Web Map Service standard (WMS). This paper describes how the IDEE viewer has implemented support for the GeoDRM reference model in order to access to the Géoportail WMS-C services.
The Géoportail offers an API to support the required interactions to access the GeoDRM extended WMS-C services. The access to these services requires an exchange of keys between the IDEE viewer and this API. The first step is to obtain an API key and register it with a given domain, for example idee.es. This API key is requested by an administrator to the API géoportail[5], does not change between different user sessions and is valid for a year. The IDEE viewer needs this API key to obtain the API session tokens, which are the temporary keys required to access the WMS-C services.
Figure 1 shows an architectural view of the application and services described in this paper with the notation and the component-and-connector types proposed in [3]. In that figure, the IDEE viewer is depicted as an application running in the computer of a user who wants to see maps coming from one of the GeoDRM extended WMS-C services in the Géoportail. When the IDEE viewer needs to request some tiles from this WMS-C:
- It checks if it has an API session token which has not expired yet.
1.1. If it has one, it uses it.
1.2. If it does not have one, or it has one but it has expired, it requests a new API session token to the API géoportail token server; this request must include the API key[6]. Once the token server gives a new session token to the IDEE viewer, it keeps it for further use, it is valid for ten minutes, and uses it.
2. The IDEE viewer appends the API session token to the request to the WMS-C and then shows the returned map tiles.
Figure 1: Architectural view of the GeoDRM support in the IDEE viewer
Figure 2 shows an example of the IDEE viewer showing map tiles coming from one of the French GeoDRM extended WMS-C service with a Spanish WMS service on top.
References
[1] Vowles, G. (ed.). The OpenGIS® Abstract Specification Topic 18: Geospatial Digital Rights Management Reference Model (GeoDRM RM). OGC 06-004r4. 2006
[2] Rodríguez, A. F., Más, S., Richard, D., Nataf, J. M., Furtado, D., Julião, R. P., Pijuan, S. and Alba, S. Horizontal Interoperability among National Geoportals of Spain, France, Portugal and Andorra. INSPIRE Conference. 2010
[3] Béjar, R., Latre, M. Á., Nogueras-Iso, J., Muro-Medrano, P. R. and Zarazaga-Soria, F. J. An architectural style for Spatial Data Infrastructures. International Journal of Geographical Information Science 23(3), p. 271-294. 2009
Acknowledgments: This work has been partially supported by the Spanish Government (projects “España Virtual” ref. CENIT 2008-1030 and TIN2009-10971) and the National Center of Geographic Information (CNIG) of Spain.
[1] http://www.geoportail.fr
[2] http://www.idee.es
[3] http://www.openlayers.org
[4] http://wiki.osgeo.org/wiki/WMS_Tile_Caching
[5] https://api.ign.fr/geoportail/
[6] A request could be http://jeton-api.ign.fr/getToken?key=API_KEY&output=xml