http://zoo-project.org

ZOO-Project

Nouveautés de la plateforme WPS libre

Une introduction au ZOO-Project



ZOO-Project est une implémentation du Web Processing Service (WPS) écrite en C. C'est une plateforme OpenSource, distribuée sous licence MIT/X11, qui implémente les version 1.0.0 et 2.0 de la norme WPS fournie par l'OGC


Le ZOO-Project fournit un environement de développement permettant de créer et chaîner des services web conformes au WPS. Son objectif principal est de fournir des méthodes génériques et standards pour réutiliser les librairies OpenSource disponibles sous la forme de services WPS.

L'histoire du ZOO-Project



L'idée du ZOO au FOSS4G 2008

Première présentation du ZOO FOSS4G 2009

Première version ZOO-Project 1.0 FOSS4G 2010

Version ZOO-Project 1.1 au FOSS4G 2011

ZOO-Project 1.2 entre en incubation à l'OSGeo en 2012

Version ZOO-Project 1.3 au FOSS4G 2013

Version ZOO-Project 1.4 au FOSS4G 2014

Version ZOO-Project 1.5 en juillet 2015

La tribu ZOO



Conseil Tribal ZOO
(Commité de pilotage du projet)

Les gardiens du ZOO
(Développeurs officiels)

ZOO Visitors
(Utilisateurs et développeurs)

ZOO Animals
(librairies FOSS4G & FOSS)

Le Conseil Tribal du ZOO (PSC)


Prénom Nom Organisation Pays
Nicolas BOZON ESRI France
Maria BROVELLI Politecnico di Milano
Massimilano CANNATA SUPSI
Gérald FENOY GeoLabs
Hirofumi HAYASHI Applied Technologies
Daniel KASTL GeoRepublic
Jeff McKENNA Gateway Geomatics
Markus NETELER Mundialis
Venkatesh RAGHAVAN Osaka City University
Angelos TZOTSOS National Technical University of Athens

Les gardiens du ZOO (Dév.)


Prénom Nom Organisation Pays
Nicolas BOZON ESRI France
Trevor CLARKE Ball Aerospace
Luca DELUCCHI Fondazione Edmund Mach
Gérald FENOY GeoLabs
Knut LANDMARK Norwegian Defence Research
Jeff McKENNA Gateway Geomatics
Marco NEGRETTI Politecnico di Milano
Markus NETELER Fondazione Edmund Mach
David SAGGIORATO Cleolys
Angelos TZOTSOS National Technical University of Athens

Les supports du ZOO

Partenaires éducation
   
   

Participez !


Parlez à la tibu du ZOO

  • Listes de diffusions OSGeo
  • IRC

Contribuez au code

  • Bug tracking
  • Support des Langues naturelles
  • Nouveaux services WPS

Contribuez à la documentation

  • Amélioration et corrections
  • Traduction (Transifex)

Platforme WPS Ouverte


Serveur WPS

Le ZOO-Kernel est un puissant noyau implémenté en C capable de charger dynamiquement des services et de les chainer ensemble.

Services WPS

Les ZOO-Services sont une collection de services WPS prêts à l'emploi et basés sur des librairies existantes.

API WPS

La ZOO-API est une API JavaScript permettant de créer de nouveaux services ou de chainer des services existants (+logique!).

Client WPS

Le ZOO-Client est une librairie cliente JavaScript permettant d'interragir avec des serveurs WPS de façon extrêmement simple.

ZOO-Kernel


Le noyau ZOO implémente le WPS 1.0.0 et 2.0, il fonctionne sur les plateformes GNU/Linux, MacOS X et Windows™.

Le noyau ZOO est en mesure de charger et d'exécuter des services implémentés dans divers languages de programmation : C/C++, Fortran, Java, PHP, Perl, Ruby, Python et JavaScript.


Fonctionnalités


GetCapabilities   

Describeprocess

Execute

CGI / FastCGI

GET / POST

SOAP

BoundingBoxData

LitteralData

ComplexData

ZCFG / YAML

W*S support

GetStatus

Publication de services Web OGC


Le support MapServer permet la publication automatique de résultats via : WMS/WFS/WCS

Requêtes asynchrones


GetStatus : informations relatives au status d'exécution.

Nouvautés de la 1.6.0


WPS 2.0.0 Support

  • GetStatus, GetResult requests et l'extension Dismiss
  • Registre de profils de métadonnées

ZOO-Kernel scalibilty

  • Database backend
  • Possibilité de load balancing

Documentation

  • Documentation de l'API C du noyau ZOO
  • Réécriture de la documentation utilisateur

Les Services ZOO


Les services ZOO représentent une collection grandissante de services WPS prêts à l'emploi et basés sur les librairies OpenSource les plus maintenues comme par exemple GDAL.

Un service ZOO est un couple composé du code source (le frounisseur de service) et d'un fichier de métadonnées ZCFG (qui peut être écrit en YAML) qui décrit le service et les entrées et sorties possibles / obligatoires.


Convertissez votre code en service WPS facilement.


 def HelloPy(conf,inputs,outputs):
        outputs["Res"]["value"]="Hello "+inputs["a"]["value"]+" from Python"
        return zoo.SERVICE_SUCCEEDED

Les services disponibles


Plus de 500 services WPS prêts à l'emploi


GDAL

GDAL

CGAL

CGAL

GRASS

GRASS GIS

OTB

Orfeo Toolbox

SAGA

SAGA GIS

 

Qui sera le prochain ?

La ZOO-API


La ZOO-API est une librairie JavaScript coté serveur créée pour simplifier la création et le chaînage de services WPS.

Elle utilise Spider Monkey de Mozilla.


Appelez et chaînez vos services WPS simplement.

Exemple 1/2

Exemple 2/2

Le ZOO-Client


Le ZOO-Client est une API javaScript coté client cette fois permettant d'interragir avec des serveurs WPS depuis des applications web.

Le ZOO-Client utilise des librairies JavaScript modernes et peut être intégré très facilement dans de nouvelles applications ou dans des applications existantes.

Le ZOO-Client utilise des templates Mustache afin de créer les requêtes WPS


Intégration du ZOO-Client


Exemple 1/5 (démo SAGA ZOO-Project)

Exemple 2/5 (démo OTB ZOO-Project)

Exemple 3/5 (client MapMint 2.0)

Exemple 4/5 (MapMint 2.0)

Exemple 5/5 (MapMint 2.0 / Manager)

CKANEXT-WPS

Ajouter le WPS aux catalogues Open Data

CKANEXT-WPS

QGIS plugin QgsWPSClient

http://geolabs.fr/plugins.xml

ZOO pour Windows




ZOO-Project 1.6.0 maintenant disponible pour windows, merci AppVeyor et BinTray!

GSoC de l'OSGeo : 2 slots




FP7 project based on ZOO-Project, pycsw, rasdaman, GeoServer and CKAN

MapMint

Le webmapping simple et facile

Un SIG dans votre navigateur et un générateur d'applications SIG Web
http://mapmint.com

Venez à Bonn !




Workshop ZOO-Project et MapMint ansi que les présentations associées.

Questions ?


Thanks for listening.


ありがとうございました


Merci de votre attention.


Gérald FENOY | GeoLabs | @GeoLabsSARL