En guise d'avant-goût à la prochaine présentation du
projet ZOO au
Géoséminaire 2010, je vous propose ce post qui liste les évolutions
récentes et aborde la suite des aventures.
Le
Projet ZOO a pour objectif de fournir un serveur de services
WPS
respectant la norme
Web Processing Service de l'
OGC.
Les
Web Processing Services permettent de réaliser des opérations sur des données en mode distribué
comme par exemple la reprojection, la modification de format, différents traitements avancés, etc...

La force du
ZOO est de pouvoir charger dynamiquement des
modules externes codés dans différents langages
C/C++,
Python et
PHP.
C'est donc un serveur
WPS extensible et personnalisable à souhaits.
Depuis
la présentation du
FOSS4G2009 de Sydney,
GeoLabs et
3Liz se sont
concentrées sur l'
implémentation complète de la norme WPS et le support de
différents langages, ainsi que le support
multi-plateforme du
ZOO (Linux, Mac et Windows).
D'ici la release de ce projet sous licence
open source, annoncée
prochainement, un certain nombre de travaux restent à accomplir.
En effet, nous sommes actuellement dans une phase de test et nous
préparons le code et la documentation nécessaires à la prise en main du
ZOO.
Une des récentes avancées du
ZOO consiste à supporter le
JavaScript
comme langage de programmation de Process. Au même titre que le
C/C++ ou
Python, le
JavaScript est un des langages qui vous permettra de créer
vos propres traitements. Il est donc possible de compiler le
ZOO avec le
support du
JavaScript. Celui-ci est assuré par l'interpréteur
JavaScript
SpiderMonkey,
issu du navigateur de la
fondation Mozilla,
Firefox.
Toutefois, le support du
JavaScript ne signifie pas que
l'environnement d'exécution du
JavaScript est le même que celui que nous
retrouvons dans un navigateur. Le
ZOO n'exploite que l'interpréteur
JavaScript, donc un certain nombre d'éléments comme
XMLHttpRequest,
window,
document ou encore le
DOM ne sont pas présents.
Les possibilités vous semblent donc peut être limitées puisqu'il n'est pas
possible d'utiliser directement des bibliothèques de
fonctions développées pour les navigateurs. Qu'à cela ne tienne, nous
proposons tout de même de quoi faire du
JavaScript un langage charnière
au sein de la création et au chainage de traitements.
La première chose que nous avons fait est d'ajouter à l'environnement
d'exécution
JavaScript une méthode pour la réalisation de
requêtes HTTP.
Il s'agit de la méthode
ZOORequest et non d'un objet comme
XMLHttpRequest.
Ensuite afin de faciliter les développements, nous proposons une
API JavaScript (aka ZOO API).
Cette
API JavaScript est a destination des développeurs du domaine de la
géomatique, et comme il existe déjà de très bonne bibliothèques de
fonctions
JavaScript pour ce domaine (comme
OpenLayers et
Proj4JS), nous
nous en sommes inspiré.
La
ZOO API se compose tout d'abord d'une adaptation de
Proj4JS à l'environnement
d'exécution du
JavaScript dans le
ZOO. Il est donc possible d'utiliser
le
JavaScript pour faire des transformations et exploiter dynamiquement
n'importe quelle projection définie sur
spatialreference.org.
La seconde partie de l'
API est une adaptation d'
OpenLayers à l'environnement du
ZOO.
Cette adaptation a consisté à supprimer toutes références aux
objets window et document, ne conserver que ce qui est utile côté serveur,
c'est à dire les classes
Geometry et
Format, et réécrire tout ce qui
exploite le
DOM par des méthodes
E4X (
Ecma For XML).
Enfin cette
API fourni des méthodes facilitant la réalisation de
requêtes HTTP, mais aussi
de requêtes d'exécution de
traitement WPS. Le
JavaScript offre la
possibilité d'évaluer dynamiquement des scripts de traitement et de
réaliser des chaînages incluant des règles de décision.
Stay tuned!
Lire sur le site
Commentaires récents
il y a 1 semaine 4 jours
il y a 2 semaines 1 heure
il y a 2 semaines 2 jours
il y a 2 semaines 3 jours
il y a 2 semaines 5 jours
il y a 3 semaines 3 heures
il y a 3 semaines 2 jours
il y a 3 semaines 3 jours
il y a 3 semaines 6 jours
il y a 4 semaines 5 jours