1. WPS: Une norme de l'OGC méconnue mais prometteuse.
L'exemple de son implémentation open source
Mr. Gérald FENOY, GeoLabs sarl
Dr. Nicolas BOZON, 3LIZ sarl
Pr. Venkatesh RAGHAVAN, Osaka City University
http://www.zoo-project.org
2. Qu'est-ce que le WPS ? (1)
Web Processing Service
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
3. Qu'est-ce que le WPS ? (2)
Web Map Service
Web Feature Service
Web Coverage Service
Web Processing Service ?
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
4. Qu'est-ce que le WPS ? (3)
Web Processing Service est conçu pour standardiser la manière
d'inter-agir avec des services de traitement de données SIG sur
l'Internet.
WPS définit des règles pour paramétrer et exécuter un géo-
traitement sous la forme d'un Service Web.
WPS permet d'automatiser les opérations de traitement SIG sur un
serveur en utilisant la sémantique géospatiale au sein d'une
architecture orientée Services (SOA).
Standard de l'Open Geospatial Consortium depuis 2005
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
5. Le b.a.-ba du WPS
Web Processing Service définit trois types de requêtes:
•
GetCapabilities (comme la plupart des standards OGC)
Fournit la liste complète des algorithmes (Services) disponibles
sur le serveur interrogé.
•
DescribeProcess
Fournit la description d'un Service en particulier, notamment les
données d'entrée attendues et les types de données de sorties.
•
Execute
Définit la méthode pour éxécuter le Service et obtenir son
résultat (ResponseDocument ou RawdataOutput).
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
6. Pourquoi utiliser WPS ? (1)
WPS permet de déployer et d'orchestrer des traitements SIG avancés
côté Serveur.
Un service WPS peut communiquer avec les serveurs
cartographiques et les bases de données spatiales, un ensemble de
services pourrait ainsi régir des Infrastructures de Données
Spatiales (SDI) complexes.
WPS est une manière puissante et générique d'utiliser les SIG sur
l'Internet et de déployer des applications de Cloud Computing.
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
7. Pourquoi utiliser WPS ? (2)
WPS ouvre les portes de l'interopérabilité aux Web SIG !
Entrées: Sorties:
- Shapefile, MapInfo... - Shapefile, MapInfo...
- GeoTiff, DEM, Lidar … - GeoTiff, DEM, Lidar …
- KML, GeoJSON... - KML, GeoJSON...
- PostGIS, Oracle, ArcSDE... - PostGIS, Oracle, ArcSDE..
- WFS, WCS, CSW... - WMS, WFS, WCS...
WPS permet la conversion et le traitement de données SIG en ligne
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
8. ZOO-Project: Implémentation libre
de la norme WPS 1.0.0
ZOO est un serveur WPS respectant la norme OGC WPS 1.0.0
ZOO est un logiciel libre disponible sour license MIT/X-11
ZOO est conçu pour créer et enchaîner des Services Web
Géographiques facilement, en utilisant les logiciels de l'OSGeo ou
d'autres codes sources existant.
ZOO est basée sur un noyau en C (ZOO Kernel), capable de charger
des librairies dynamiques et d'orchestrer des Services Web
développés dans différents langages de programmation.
Le ZOO-Project permet d'interagir de façon
standardiser avec des applications de l'OSGeo !
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
9. La plateforme ZOO-Project
ZOO 1.0 se compose de trois éléments:
- ZOO Kernel (C)
- ZOO Services (C et Pyton)
- ZOO API (JavaScript)
svn checkout http://svn.zoo-project.org/svn/trunk zoo
ZOO 1.0 est disponible sur OSGeo-Live depuis la version 4.0
http://live.osgeo.org
ZOO 1.2 et sa documentation seront bientôt disponibles !
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
10. ZOO Services et ZOO API
ZOO Services
Ogr2Ogr (C)
GEOS/OGR (C)
GdalTranslate (C)
GdalGrid (C)
GRASS 7.0 modules vecteurs et rasters (Python)
Convertisseur de document Open Document Text (Python)
http://zoo-project.org/trac/browser/trunk/zoo-services/
ZOO API
Basée sur le moteur Javascript Mozilla (SpiderMonkey) et
sur le support JavaScript optionnel du ZOO Kernel.
JavaScript côté serveur pour chainer et orchestrer les
Services WPS.
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
11. Comment le ZOO fonctionne-t-il ?
ZOO Kernel manipule et chaîne les ZOO Services
Un ZOO service est un binôme constitué de:
- Un fichier de métadonnées propre au Service (Title, Metadata,
Inputs,Output...) >> .zcfg (ZOO configuration file)
- Un « Service Provider » (le code utilisé)
Librairie dynamique, module Python, classes Java, script PHP...
Les requêtes GetCapabilities et DescribeProcess sont décryptées
par ZOO Kernel par la simple analyse des fichiers .zcfg (basée sur
Flex et Bison)
ZOO Kernel est capable de charger le code du Service interrogé, d'en
extraire des fonctions spécifiques, et aisni de répondre aux requêtes
de type WPS Execute .
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
12. Les langages de programmation supportés
ZOO Kernel est capable d'exécuter des Services Web codés dans 7
langages différents:
- C / C++ Support natif
- Python Support optionnel (Python interpreter)
- Fortran Support optionnel (F77, F90)
- PHP Support optionnel (PHP embedded)
- Java Support optionnel (Java SDK)
- Perl Support optionnel (Perl interpreter)
- Javascript Support optionnel (SpiderMonkey)
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
13. Les langages naturels supportés
ZOO Kernel parle pour l'instant 3 langues, dans lesquelles il est
capable de comprendre les .zcfg, de renvoyer des messages
(ServiceSucceded ou ServiceFailed par exemple) à l'utilisateur ou
encore d'indiquer la progression de l'éxecution d'un Service.
- Anglais
- Français
- Japonais
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
14. En bref
http://zoo-project.org/#ZOOProjectscheme
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
15. Les sponsors du ZOO-Project
Les partenaires universitaires
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
16. Le comité de pilotage du projet
●
Nicolas BOZON ( 3LIZ), FR
●
Maria BROVELLI ( Politecnico di Milano), IT
●
Massimiliano CANNATA ( SUPSI), CH
●
Gerald FENOY ( GeoLabs), FR (Chair)
●
Hirofumi HAYASHI ( AppTech), JP
●
Daniel KASTL ( Georepublic), DE/JP
●
Jeff McKENNA ( Gateway Geomatics), CA
●
Markus NETELER ( Fondazione Edmund Mach), IT
●
Venkatesh RAGHAVAN ( Osaka City University), JP
●
Satoshi SEKIGUCHI ( AIST GEO Grid), JP
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
17. Exemple d'interopérabilité
Le serveur WPS ZOO peut être utilisé par n'importe quel client
respectant cette norme
Quantum GIS OpenLayers
http://zoo-project.org/trac/wiki/ http://zoo-project.org/site/ZooWebSite/
ZooWebSite/QGIS_WPS_Client /Demo/GdalProfile
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
18. Les expériences du ZOO-Project (1)
Support WFS-T pour MapServer. (Fenoy,G.)
MapServer
OGR
ZOO WFS-T Proxy + ZOO WFS-T Service
Fournit un support transactionel au WFS de Mapserver
Permet d'éditer les géométries et les attributs en ligne sans
dépendance à PostGIS
Permet des requêtes WFS-T sur n'importe quelles données supportées
par la librairie OGR.
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
19. Les expériences du ZOO-Project (2)
GRASS GIS implementation (Gebbert, S.)
GRASS 7
WPS-GRASS-BRIDGE
ZOO-Kernel
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
20. Les expériences du ZOO-Project (3)
OSM import (ZOOSM) (Delluchi, L.)
PythonOSMApi
OGR python
ZOO-Service ZOOSM
Offre une nouvelle manière d'importer des données dans la base OSM
Pourrait etre utilisé pour des imports massifs dans OSM (cf: CLC)
Sera étendu pour permettre l'export des données OSM au format
OGR souhaité.
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
21. Les expériences du ZOO-Project (4)
Drift-X WPS (Bozon, N. and Fenoy, G)
- Rend disponible un modèle de
ZOO 1.0
dispersion atmosphérique des pesticides
driftx.f depuis un Web SIG
GdalTranslate.c
Services.py - Utilise du code Fortran 77 en tant que
Service WPS pour mener des
simulations environnementales.
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
22. Les expériences du ZOO-Project (5)
GoGPS. (Realini, Yoshida, Hayashi and Raghavan )
GPS Data processing to obtain accurate positioning from raw
GPS observations.
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
23. En savoir plus sur le ZOO-Project
Site Web:
http://zoo-project.org
Twitter:
@ZOO_Project
Internet Relay Chat:
#zoo_project
Mailing list:
zoo-discuss@gisws.media.osaka-cu.ac.jp
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
24. Le ZOO-Project présent au FOSS4G 2011
http://zoo-project.org
Fenoy, Bozon, Raghavan, 2011.
25. Merci de votre attention
ありがとうございました
Thank you for your time
どうも有難う
Fenoy, Bozon, Raghavan, 2010. 'ZOO: The powerful WPS platform'