Open WPS Platform

Introduction

Qu’est ce que ZOO?

Le ZOO-projet est un projet open source WPS (Web Processing Service) publié sous licence de type MIT/X-11 <http://zoo-project.org/trac/wiki/Licence> __ . Il fournit un framework adapté pour les développeurs conforme au standard WPS OGC afin de créer et chaîner des services Web WPS. ZOO est constitué de trois parties:

  • ZOO Kernel : Un noyau côté serveur en C qui rend possible le fait de gérer et chaîner des webservices codés dans différents langages de programmation.

  • Services ZOO : Un suite grandissante d’exemples de Services Web basée sur diverses bibliothèques Open Source.

  • l’API ZOO : Une API JavaScript côté serveur capable d’appeler et de chaîner les services ZOO, qui rend le développement et le chaînage de processus plus simple et plus rapide.

ZOO a été conçu pour rendre la création de services et un déploiement facile, en fournissant un système puissant, capable de comprendre et exécuter des requêtes conformes au standard WPS. Il supporte sept langages de programmation, vous permettant ainsi de créer des services Web en utilisant celui que vous préférez. Il vous permet également d’utiliser du code existant et de le transformer en tant que service WPS. Les langages de programmation supportés sont les suivants:

  • C/C++
  • Python
  • Perl
  • Java
  • Fortran
  • PHP
  • JavaScript

Plus d’informations sur le projet sont disponibles sur le site officiel du projet ZOO .

Comment ZOO fonctionne ?

ZOO est basé sur un noyau en C qui est le système au coeur du ZOO-Project (c’est à dire le ZOO-Kernel). Ce dernier est capable de charger dynamiquement des bibliothèques et de les traiter comme des services Web à la demande.

Un service ZOO est un lien composé d’un fichier de métadonnées (.zcfg) et du code pour l’implémentation correspondante. Le fichier de métadonnée décrit toutes les fonctions disponibles qui peuvent être appelée en utilisant une requête WPS “Execute”, ainsi que les entrées/sorties désirées. Les services contiennent des algorithmes et des fonctions et peuvent être implémentés en utilisant n’importe lequel des langages supportés.

Le ZOO-Kernel fonctionne en tant qu’application CGI via Apache et peut communiquer avec les moteurs cartographiques et les clients de cartographie Web. Il ajoute simplement le support du WPS à votre infrastructure de données spatiales et à vos applications de webmapping. Il peut utiliser tous les formats supportés par GDAL/OGR comme données en entrée et créer des sorties vecteur ou raster pour votre moteur cartographique et/ou votre application cliente de cartographie Web.

Qu’est ce que nous allons faire dans ce workshop?

Vous apprendrez comment utiliser le Kernel ZOO et comment créer des Services ZOO utilisant l’OSGeo Live 7.0. Bien qu’un paquet ZOO 1.3-dev pré-compilé soit fourni dans l’OSGeoLive, certains supports optionnels ne sont pas disponibles dans la configuration par défaut. Ainsi, vous êtes invités à télécharger et décompresser un tarbal contenant des versions binaires du ZOO-Kernel. Il n’y a donc pas besoin de compiler quoi que ce soit. Des étapes simples pour installer le ZOO-Kernel seront fournies. Le fichier de configuration et des méthodes de base pour exécuter le Kernel Zoo et les services ZOO seront présentés. Ensuite, vous serez invités à commencer la programmation de votre propre service simple en utilisant le langage Python. Certains services ZOO seront présentés et testés individuellement dans une application OpenLayers prêtes à utiliser. Enfin, ces services seront chaînés à l’aide de l’API ZOO Javascript côté serveur.

Tout le workshop est organisé étape par étape et de nombreux extraits de code sont disponibles. Les instructeurs vérifierons que le ZOO-Kernel fonctionne sur chaque machine et vous aiderons pendant que vous codez. Les questions techniques sont bien sûr bienvenues pendant le workshop.

Conseils utiles pour la lecture

this is a code block

Warning

Ceci est un message d’alerte.

Note

Ceci est une note importante.

Allons-y !