Introduction

Qu’est-ce que le ZOO-Project ?

Le ZOO-project est une implémentation open source du WPS (Web Processing Service) publiée sous licence de type MIT/X-11. 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 quatre parties:

  • ZOO Kernel : Un noyau en C s’exécutant coté serveur et facilitant la gestion et le chaînage des webservices codés dans différents langages de programmation.
  • Services ZOO : Une suite grandissante d’exemples de Services Web basés sur diverses bibliothèques Open Source.
  • 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 encore plus simple et plus rapide.
  • Client ZOO : Une API JavaScript utilisable dans les applications web afin d’interragir avec des serveurs WPS.

ZOO a été conçu pour rendre la création de services et leur déploiement facile, en fournissant un système puissant, capable de comprendre et d’exécuter des requêtes conformes au standard WPS. Il supporte huit 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 un service WPS très facilement. Les langages de programmation supportés actuellement sont les suivants:

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

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

Comment le 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 utiliser comme des services WPS à la demande.

Un service ZOO est un couple composé d’un fichier de métadonnées (.zcfg) et du code correspondant. Le fichier de métadonnées décrit une fonction disponible qui peut être appelée en utilisant une requête WPS “Execute”, ainsi que les entrées/sorties désirées. Le code des services contient 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 (et sous certaines contraintes en FastCGI) via Apache et peut communiquer avec les moteurs cartographiques et les clients de cartographie Web. Il peut utiliser tous les formats supportés par GDAL/OGR comme données d’entrée et de sortie et les diffuser automatiquement via le moteur cartographique MapServer : WMS, WFS et WCS.

Qu’allons-nous faire dans cet atelier ?

Nous apprendrons comment utiliser le ZOO-Kernel et comment créer des Services ZOO en utilisant l’image disque de la machine viruelle OSGeoLiveDVD 9.1. L’ensemble des outils et applications nécessaires à la réalisation de cet atelier sont déjà installés, 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 ZOO-Kernel et les services ZOO seront présentés. Ensuite, nous commencerons la programmation d’un premier service simple en utilisant le langage Python. Certains services ZOO seront présentés et testés individuellement dans une application OpenLayers prêtes à être utilisée. Enfin, ces services seront chaînés à l’aide de l’API ZOO Javascript côté serveur.

Le workshop est organisé étape par étape et de nombreux extraits de code sont disponibles. Les questions techniques sont bien sûr bienvenues pendant le workshop.

Conseils utiles pour la lecture

Ceci est un bloc de code

Warning

Ceci est un message vous mettant en garde.

Note

Ceci est une information importante.

Commençons !