ZooKernel Internal mechanisms

The ZooKernel is the core of the Zoo WPS Server. Indeed, it is responsible to run services or get informations from an available service and provide a well formed output document.

Services

Before explaining processes involved in the ZooKernel we will explain what is a service from the ZooKernel point of view. A service is simply a metadata file (file using MetadataSyntax? and using the .zcfg extension) which describe the specific service metadata, such as Title, Metadata, Inputs, Outputs. Coupled to this metadata description file, ZooKernel use a dynamic library (or python module or ..., called service shared object) which it dynamicaly load and run specified function (the Identifier passed through a request).

General Principles

ZooKernel always parse the request provided by the web server. If the request has been sent using the GET method, then the ZooKernel will treat parameters in a normal way (using KVP). To treat the POST method, ZooKernel will use the request parameter sent as an XML file containing a specific operation request document (GetCapabilities, DescribeProcess or Execute).

ZooKernel store parsed values in a maps datastructure.

Requests

GetCapabilities

As the response to this request should simply include metadata of a services provided by a WPS server, the ZooKernel just parse the metadata file and output a well formed GetCapabilities document.

DescribeProcess

As the response to this request should simply include metadata of one (or more) service, ZooKernel parse one (or every metadata file for requested identifiers) and output a well formed DescribeProcess document.

Execute

In this case, ZooKernel first parse the metadata file to get specific requested informations, such as default value formating (if nothing was speficified in request or to check if specified was acceptable), then dynamicaly load the service shared object, try to call the process and output a well formed ResponseDocument or the returned file in case of RawDataOutput was queried.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png