Introduction

Qu'est-ce qu'un WebService ?

«Un Service Web est un programme informatique permettant la communication et l'échange de données entre applications et systèmes hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur Internet ou sur un Intranet, par et pour des applications ou machines, sans intervention humaine, et en temps réel.»1

En géomatique un Service Web (ou WebService) propose un service qui va permettre la prise en charge distante de données, soit pour l'affichage simple de carte (WMS, WMTS), soit pour des consultations ou des transformations de données et métadonnées (WCS et WFS, WCS), soit encore pour du traitement distant sur un serveur dédié spécialement dimensionné pour cette tâche (WPS).

Le client (utilisateur ou machine) adresse une requête à un serveur distant, lequel va la traiter et renvoyer sa réponse (résultat ou message d'erreur) sous la forme appropriée (fichier XML, image, etc.). Les échanges entre client et serveur utilisent les protocoles du Web (HTTP, SMTP, … )

Dans le cas de services spatiaux (géographiques), les échanges sur le Web entre client et serveur se font préférentiellement en suivant des normes spécifiquement adaptées à la nature des données manipulées édictées par un consortium d'acteurs du web et de la donnée géographique : l'Open Geospatial Consortium (OGC). Ces échanges (OGC Web Services ou OWS) se font généralement en trois étapes.

1. Le client envoie une requête pour connaitre les possibilités du serveur (GetCapabilities). En réponse le serveur s'autodécrit: il se présente et dit ce qu'il sait faire (ses "capabilities"). Pour un serveur cartographique cela inclut les couches (on appelle ainsi les jeux de données cartographiques) qu'il sait servir, et de quelle manière il peut nous les servir. Pour un serveur de processus, il s'agit typiquement des programmes de traitement qu'il peut déclencher. De même, un catalogue répondra sur les métadonnées qu'il met à disposition.

2 Ainsi informé, le client  peut choisir et décrire la tâche qu'il veut que le serveur effectue : choix de la couche à retourner, et sous quelle forme ? Est-ce une représentation figée ou dynamique de la donnée, la donnée elle-même. Pour processus, il s'agit de celui correspndant au traitement que l'on désire effectuer, ainsi que des paramètres associés nécessaire à son exécution.

3. le serveur exécute la requête et renvoie le résultat (donnée brute ou rendu de celle-ci, résultat de calcul) sous une forme appropriée (fichier XML, image...)

Les services web géospatiaux peuvent donc proposer des cartes figée (WMTS) ou non (WMS), des données brutes (WFS, WCS, GML, GeoRSS), des données sur les données ou méta-données (CWS), des informations sur la sémiologie (SLD), sur les données d'une carte (WMC), etc.


Standard ou Norme ?

«Standard signifie aussi « norme » en anglais. Les anglophones ne possédant qu'un seul mot pour désigner deux concepts différents, les traductions des textes anglais sont souvent sources de confusion. C'est ainsi que le mot standard est fréquemment utilisé dans le sens de norme en informatique (anglicisme). On parle en particulier de standards du Web pour désigner les technologies et protocoles utilisés sur le Web : standards du World Wide Web Consortium (W3C), ou de l'OGC. On parle souvent de standard ouvert lorsque le standard répond à certains critères d'accessibilité et de gouvernance.

En langue française, un standard peut être défini par n'importe quel organisme privé (produit standard), puis faire l'objet d'un processus de normalisation effectué dans le cadre d'un organisme public. Le standard devient alors une norme. Il existe des normes obligatoires aussi bien que des normes optionnelles que personne n'utilise. Un standard est toujours lié à une réalisation. Lorsqu'un standard s'est largement répandu, on parle alors de “standard de fait”.»2

D'après Gordon Bell (Microsoft) et Rob Gingell (Sun Microsystems), un standard :

      1. Précise des points d'homogénéité, autorisant toute variété et toute innovation sur les points non spécifiés.
      2. Se fonde par principe sur une spécification, pas une implémentation.
      3. Importe plus que pour ce qu'il apporte à son utilisateur que par ses qualités propres.
      4. Concerne et n'est censé affecter que la communauté qui y adhère.
      5. Ne vaut que par l'efficacité de l'organisme qui confère les certifications à ce standard.
      6. Ne doit pas, pour être adopté, « du passé faire table rase »
      7. Doit laisser une place adéquate aux innovations futures
      8. Disparaît quand il devient un obstacle à l'innovation au lieu d'en être une plateforme.

Les standards de l'OGC sont normalisés par l'ISO. Leur but est de permettre l'interopérabilité des systèmes par l'application de ces standards comme mode d'échange entre les différents éléments du Web Géospatial.

Interopérabilité

«L'interopérabilité est la capacité que possède un produit ou un système dont les interfaces sont intégralement connues à fonctionner avec d'autres produits ou systèmes existants ou futurs.

Il convient de distinguer interopérabilité et "compatibilité". Pour être simple, on peut dire qu'il y a compatibilité quand deux produits ou systèmes peuvent fonctionner ensemble et interopérabilité quand on sait pourquoi et comment ils peuvent fonctionner ensemble. Autrement dit, on ne peut parler d'interopérabilité d'un produit ou d'un système que si on en connaît intégralement toutes ses interfaces.

Un exemple de systèmes interopérables est le téléphone. Toutes les interfaces sont des normes gérées par l'UIT-T. On peut ainsi téléphoner sans se soucier de la marque de téléphone de son correspondant ni des matériels utilisés par les différents opérateurs.»3

L’interopérabilité permet ainsi une meilleure communication (plus "transparente") entre les différentes briques logicielles, entre clients et serveurs, qu'ils soient à source ouverte ou propriétaire.

Modifié le: jeudi 29 mars 2018, 14:20