source: branches/PublicaMundi_David-devel/docs/kernel/what.rst @ 914

Last change on this file since 914 was 722, checked in by djay, 9 years ago

Add document to help translating the internal messages using transifex. Put db creation in installation. Update windows installation procedure (nothing specific to setup on IIS or Apache, but it is known as working on both) including details for available options.

  • Property svn:keywords set to Date Author
File size: 4.7 KB
RevLine 
[659]1.. kernel-what:
2
3.. include:: <xhtml1-lat1.txt>
4.. include:: <xhtml1-symbol.txt>
5
6What is ZOO-Kernel ?
7====================
8
9ZOO-Kernel is the heart of the `ZOO-Project <http://zoo-project.org>`_ WPS platform. It is a WPS compliant implementation written in C language which provides a powerful and extensible WPS server.
10
[711]11ZOO-Kernel is an extensible WPS server that makes your system more
12powerful. It provides a full-featured processing engine which runs on
13Linux, Mac OSX |trade| and Windows |trade| operating
14systems. ZOO-Kernel is a CGI program which works on common web servers
15(namely `Apache <http://httpd.apache.org/>`_ or `IIS
16<http://www.iis.net/>`_ |trade|). It can be seamlessly integrated to
17new or existing web platforms.
[659]18
[711]19ZOO-Kernel lets you process geospatial or non geospatial data using
20well formed WPS requests. The WPS server is able to manage and chain
21WPS Services (see ZOO-Services for examples) by loading dynamic
22libraries and source code written in different programming languages. 
23
[659]24First class WPS server
25-----------------------
26
[722]27Simple
28......
29
30The ZOO-Kernel rely on simple principles and tends to ease the
31implementation of new services by sharing similar data structures for
32every supported programming languages. The ZOO-Kernel is responsible
33to parse the requests it receives and return the corresponding WPS
34response.
35
36In case of an *Execute* request, the ZOO-Kernel stores informations in
37a basic KVP data structure for the programming language used to
38implement the service, dynamically load the Service Provider defined
39in the zcfg file and run a specific function corresponding to the
40service, passing three arguments. Once the function return, ZOO-Kernel
41knows if the service run succeessfuly or failed by checking the
42returned value. In the case it succeeded, the ZOO-Kernel then parse
43the third arguments containing the result and produce the output in
44the desired format.
45
46
47
[679]48Compliant
49........................................................
[659]50
[711]51ZOO-Kernel implements and complies with the `WPS 1.0.0
52<http://www.opengeospatial.org/standards/wps/>`_ and the `WPS 2.0.0
53<http://www.opengeospatial.org/standards/wps/>`_ standards edited by
54the `Open Geospatial Consortium <http://www.opengeospatial.org/>`_. It
55is able to perform the WPS operations defined in the OpenGIS |reg|
56specification, such as:
[659]57
[711]58* **GetCapablities**: Returns service-level metadata information.It
59  provides the list of available processing services.
60* **DescribeProcess**: Returns a description of a process, including
61  its supported input and output.
62* **Execute**:  Launches computation and returns the output produced
63  by a particular process.
64* **GetStatus**:  only available in WPS 2.0.0, it lets the client fetch
65  the ongoing status of a running service.
66* **GetResult**: only available in WPS 2.0.0, it lets the client fetch
67  the final result of a running service.
68* **Dismiss**: only available in WPS 2.0.0, it lets the client ask
69  the server to stop a running service and remove any file it created.
[679]70
[697]71ZOO-Kernel compliancy and performances can be tested using the
72following tools:
73 * `cptesting <https://github.com/WPS-Benchmarking/cptesting>`_ 
74 * WPS Test Suite provided by the `OGC compliancy program <http://cite.opengeospatial.org/>`_
75 * XML responses validity can also be simply tested using `XMLint <http://xmlsoft.org/xmllint.html/>`_.
[679]76
77Polyglot
[663]78........................................................
[659]79
[679]80ZOO-Kernel is a **polyglot**. The software is written in a valid form
81of multiple programming languages, which performs the same operations
82independent of the programming language used to compile or interpret
83it. The supported programming languages are listed bellow:
[659]84
85============ =================== ========================= ============
86**Language** **ServiceProvider** **DataStructure**         **Return**
87------------ ------------------- ------------------------- ------------
88C / C++      Shared Library      maps* M                   integer
89Java         Class File          `HashMap`_                integer
90Python       Module File         `Dictionary`_             integer
91PHP          Script File         `Array`_                  integer
92Perl         Script File                                   integer
93Ruby         Script File         `Hash`_                   integer
94Fortran      Shared Library      CHARACTER*(1024) M(10,30) integer
95JavaScript   Script file         `Object`_ or Array        Object/Array
96============ =================== ========================= ============
97
98.. _`HashMap`: http://download.oracle.com/javase/6/docs/api/java/util/HashMap.html
99.. _`dictionary`: http://docs.python.org/tutorial/datastructures.html#dictionaries
100.. _`Array`: http://php.net/manual/language.types.array.php
101.. _`Object`: http://www.json.org/
102.. _`Hash`: http://ruby-doc.org/core-2.2.0/Hash.html
103
Note: See TracBrowser for help on using the repository browser.

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