http://zoo-project.org

ZOO-Project

News about the Open WPS Platform

An introduction to ZOO-Project



ZOO-Project is a Web Processing Service (WPS) implementation written in C and C++. It is an open source platform, released under MIT/X11 Licence, which implements the WPS standards (1.0.0 and 2.0.0) published by the OGC


ZOO-Project provides a developer-friendly framework for creating and chaining WPS compliant Web Services. Its main goal is to provide generic and standard-compliant methods for using existing open source librairies as WPS.



The ZOO-Project Story



ZOO idea at FOSS4G 2008

ZOO 1st talk at FOSS4G 2009

ZOO-Project 1.0 release at FOSS4G 2010

ZOO-Project 1.1 release at FOSS4G 2011

ZOO-Project 1.2 enters OSGeo incubation in 2012

ZOO-Project 1.3 release at FOSS4G 2013

ZOO-Project 1.4 release at FOSS4G 2014

ZOO-Project 1.5 release in July 2015

ZOO-Project 1.6.0 has been released early 2017

ZOO-Project 1.7.0 has been released June 2019

ZOO-Project 1.8.0 has been released December 2020

ZOO-Project Tribes

ZOO Tribal Council (PSC)


Prénom Nom Organisation Pays
Nicolas BOZON Klokan Technologies GmbH
Gérald FENOY GeoLabs
Jeff McKENNA Gateway Geomatics
Venkatesh RAGHAVAN Osaka City University
Rajat SHINDE IIT Bombay
Angelos TZOTSOS National Technical University of Athens

ZOO PSC


ZOO Keepers (Comiters)


Prénom Nom Organisation Pays
Nicolas BOZON Klokan Technologies Gmbh
Trevor CLARKE Ball Aerospace
Rémi Créson IRSTea
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 Mundialis
David SAGGIORATO Cleolys
Angelos TZOTSOS National Technical University of Athens

ZOO Supporters

Knowledge Partners
   
   

Get involved!

Talk to the ZOO-Tribe

  • Mailing lists
  • IRC

Contribute Code

  • Bug tracking
  • Languages support
  • New WPS services

Contribute Docs

  • Enhancements and corrections
  • Translation (Transifex)

Open WPS platform


WPS Server

ZOO-Kernel is a powerful server-side C Kernel able to manage and chain WPS services

WPS Services

ZOO-Services is a collection of ready to use WPS services based on existing libs.

WPS API

ZOO-API is a server side Javascript API for creating and chaining WPS Services.

WPS Client

ZOO-Client is a client side JavaScript library for interacting with WPS Services.

ZOO-Kernel


ZOO-Kernel implements the WPS 1.0.0 and WPS 2.0.0 specifications of the Open Geospatial Consortium and runs on GNU/Linux, MacOS X and Windows™ platforms.

ZOO-Kernel is able to execute WPS Services written in C/C++, Fortran, Java, PHP, Perl, Ruby, Python, C#, JavaScript and R.

ZOO-Kernel is able to interract with GIS engines such as GRASS, OTB or SAGA-GIS. So no more coding is needed!


Run your code through WPS compliant web services.

OGC WebServices Publication


MapServer support: automatic result publication as : WMS/WFS/WCS

Asynchronous request


GetStatus: ongoing status informations.

GetStatus also available as a service for WPS 1.0.0!

ZOO-Kernel HPC Support

This work was supported by public funds received in the framework of GEOSUD, a project (ANR-10-EQPX-20) of the program "Investissements d'Avenir" managed by the French National Research Agency

The schema has been provided by IRD, IRSTEA, Geolabs, Noveltis.

The ZOO-Kernel now supports remote execution of Services!

ZOO-Kernel HPC Support use

OGC API - Processes

WPS is dead long life to WPS!

No need to modify your service code to access them using REST

Thanks to the OGC!

The ZOO-Project has proven to be a great prototyping platform.

Ongoing developments


Combining IRODS and SLURM to run application within Singularity container as a service and move the process to the data

ZOO-Services


ZOO-Services is a growing collection of ready to use WPS services built on top of reliable open source libraries such as GDAL, CGAL and more.

A ZOO-Service is a couple gathering a source code to execute and a ZCFG or YAML file which describes the Service and the needed input/output.

In the 1.7.0 version, the metadata informations of a ZOO-Services can also be stored in a structured PostgreSQL database.


Turn your code into a WPS service easily.


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

Available services


500+ ready to use WPS


GDAL

GDAL

CGAL

CGAL

GRASS

GRASS GIS

OTB 7.0.0

Orfeo Toolbox

SAGA 7.3

SAGA GIS

 

What's next ?

GeoTools (new)

GeoTools


GSoC2016 available on github!

ZOO-API


ZOO-API is a server side Javascript library designed to simplify the creation and chaining of existing WPS processes.

ZOO.Process server side classes help the developper to create new services by invoking other WPS processes through HTTP.

ZOO-API only support WPS 1.0.0.


Call and chain your WPS Services the simple way.

Example 1/2 (MapMint 1.0)

Example 2/2 (MapMint 1.0)

ZOO-Client


ZOO-Client is a client-side JavaScript API which provides simple methods for interacting with WPS 1.0.0 and 2.0.0 server from web applications.

It is helpful for sending requests to any WPS compliant server and to parse the output responses using simple JavaScript.

ZOO-Client relies on modern JavaScript libraries and can be seamlessly integrated in new or existing web applications.

ZOO-Client uses logic-less Mustache templates for creating well-formed WPS requests


ZOO-Client integration


Example 1/5 (SAGA Demo)

Example 2/5 (OTB Demo)

Example 3/5 (MapMint 2.0 Client)

Example 4/5 (MapMint 2.0)

Example 5/5 (MapMint 2.0 / Manager)

ZOO-Project on Docker


Build, deploy and run ZOO-Project everywhere using Docker Compose!

ZOO-Project has moved:


GitHub Action to build and publish latest ZOO-Project Docker image and, run tests validating requests and responses for both WPS versions.

MS4W: a ZOO-Project package

A spatial thanks to Jeff McKenna for his hard work!

MapMint

Fast and easy webmapping

GIS in the browser and Web GIS generator
http://mapmint.com

Questions ?


KATIKA KWA KUJIBU.


Thanks for listening.


ありがとうございました


Merci de votre attention.