[659] | 1 | .. kernel-what: |
---|
| 2 | |
---|
| 3 | .. include:: <xhtml1-lat1.txt> |
---|
| 4 | .. include:: <xhtml1-symbol.txt> |
---|
| 5 | |
---|
| 6 | What is ZOO-Kernel ? |
---|
| 7 | ==================== |
---|
| 8 | |
---|
| 9 | ZOO-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] | 11 | ZOO-Kernel is an extensible WPS server that makes your system more |
---|
| 12 | powerful. It provides a full-featured processing engine which runs on |
---|
| 13 | Linux, Mac OSX |trade| and Windows |trade| operating |
---|
| 14 | systems. 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 |
---|
| 17 | new or existing web platforms. |
---|
[659] | 18 | |
---|
| 19 | |
---|
[711] | 20 | ZOO-Kernel lets you process geospatial or non geospatial data using |
---|
| 21 | well formed WPS requests. The WPS server is able to manage and chain |
---|
| 22 | WPS Services (see ZOO-Services for examples) by loading dynamic |
---|
| 23 | libraries and source code written in different programming languages. |
---|
| 24 | |
---|
[659] | 25 | First class WPS server |
---|
| 26 | ----------------------- |
---|
| 27 | |
---|
[679] | 28 | Compliant |
---|
| 29 | ........................................................ |
---|
[659] | 30 | |
---|
[711] | 31 | ZOO-Kernel implements and complies with the `WPS 1.0.0 |
---|
| 32 | <http://www.opengeospatial.org/standards/wps/>`_ and the `WPS 2.0.0 |
---|
| 33 | <http://www.opengeospatial.org/standards/wps/>`_ standards edited by |
---|
| 34 | the `Open Geospatial Consortium <http://www.opengeospatial.org/>`_. It |
---|
| 35 | is able to perform the WPS operations defined in the OpenGIS |reg| |
---|
| 36 | specification, such as: |
---|
[659] | 37 | |
---|
[711] | 38 | * **GetCapablities**: Returns service-level metadata information.It |
---|
| 39 | provides the list of available processing services. |
---|
| 40 | * **DescribeProcess**: Returns a description of a process, including |
---|
| 41 | its supported input and output. |
---|
| 42 | * **Execute**: Launches computation and returns the output produced |
---|
| 43 | by a particular process. |
---|
| 44 | * **GetStatus**: only available in WPS 2.0.0, it lets the client fetch |
---|
| 45 | the ongoing status of a running service. |
---|
| 46 | * **GetResult**: only available in WPS 2.0.0, it lets the client fetch |
---|
| 47 | the final result of a running service. |
---|
| 48 | * **Dismiss**: only available in WPS 2.0.0, it lets the client ask |
---|
| 49 | the server to stop a running service and remove any file it created. |
---|
[679] | 50 | |
---|
[697] | 51 | ZOO-Kernel compliancy and performances can be tested using the |
---|
| 52 | following tools: |
---|
| 53 | * `cptesting <https://github.com/WPS-Benchmarking/cptesting>`_ |
---|
| 54 | * WPS Test Suite provided by the `OGC compliancy program <http://cite.opengeospatial.org/>`_ |
---|
| 55 | * XML responses validity can also be simply tested using `XMLint <http://xmlsoft.org/xmllint.html/>`_. |
---|
[679] | 56 | |
---|
| 57 | Polyglot |
---|
[663] | 58 | ........................................................ |
---|
[659] | 59 | |
---|
[679] | 60 | ZOO-Kernel is a **polyglot**. The software is written in a valid form |
---|
| 61 | of multiple programming languages, which performs the same operations |
---|
| 62 | independent of the programming language used to compile or interpret |
---|
| 63 | it. The supported programming languages are listed bellow: |
---|
[659] | 64 | |
---|
| 65 | ============ =================== ========================= ============ |
---|
| 66 | **Language** **ServiceProvider** **DataStructure** **Return** |
---|
| 67 | ------------ ------------------- ------------------------- ------------ |
---|
| 68 | C / C++ Shared Library maps* M integer |
---|
| 69 | Java Class File `HashMap`_ integer |
---|
| 70 | Python Module File `Dictionary`_ integer |
---|
| 71 | PHP Script File `Array`_ integer |
---|
| 72 | Perl Script File integer |
---|
| 73 | Ruby Script File `Hash`_ integer |
---|
| 74 | Fortran Shared Library CHARACTER*(1024) M(10,30) integer |
---|
| 75 | JavaScript Script file `Object`_ or Array Object/Array |
---|
| 76 | ============ =================== ========================= ============ |
---|
| 77 | |
---|
| 78 | .. _`HashMap`: http://download.oracle.com/javase/6/docs/api/java/util/HashMap.html |
---|
| 79 | .. _`dictionary`: http://docs.python.org/tutorial/datastructures.html#dictionaries |
---|
| 80 | .. _`Array`: http://php.net/manual/language.types.array.php |
---|
| 81 | .. _`Object`: http://www.json.org/ |
---|
| 82 | .. _`Hash`: http://ruby-doc.org/core-2.2.0/Hash.html |
---|
| 83 | |
---|
| 84 | |
---|
[679] | 85 | Scalable |
---|
| 86 | ........................................................ |
---|
[659] | 87 | |
---|
[679] | 88 | ZOO-Kernel can **scale** to large infrastructures involving high |
---|
| 89 | numbers of (concurrent) WPS requests and/or huge amounts of |
---|
| 90 | input/output. |
---|
[659] | 91 | |
---|
| 92 | |
---|
[697] | 93 | |
---|