source: trunk/docs/tutorial/introduction.txt @ 245

Last change on this file since 245 was 134, checked in by jmckenna, 14 years ago

sample tutorial pages

File size: 4.7 KB
Line 
1.. _tutorialintro:
2
3Introduction
4============
5
6What is ZOO?
7------------
8
9ZOO is a WPS (Web Processing Service) open source project recently released under a MIT/X-11
10style license. It provides an OGC WPS compliant developer-friendly framework to create and
11chain WPS Web services. ZOO is made of three parts:
12
13ZOO Kernel
14  A powerful server-side C Kernel which makes it possible to manage and chain Web services
15  coded in different programming languages.
16 
17ZOO Services
18  A growing suite of example Web Services based on various open source libraries.
19 
20ZOO API
21  A server-side JavaScript API able to call and chain the ZOO Services, which makes the
22  development and chaining processes easier.
23
24ZOO is designed to make the WPS server-side development easier by providing a powerful system
25able to understand and execute WPS compliant queries. It supports several programming languages,
26thus allowing you to create Web Services in your favorite language and from existing code.
27Further information on the project is available on the
28`ZOO Project official website <http://www.zoo-project.org/>`__.
29
30How does ZOO work?
31------------------
32
33ZOO is based on a 'WPS Service Kernel' which constitutes the ZOO's core system (aka ZOO Kernel).
34The latter is able to load dynamic libraries and to handle them as on-demand Web services.
35The ZOO Kernel is written in C language, but supports several common programming languages
36for creating ZOO Services.
37
38A :ref:`ZOO Service <services>` is a link composed of a ZOO metadata file (.zcfg) and the code
39for the corresponding implementation. The metadata file describes all the available functions
40which can be called using a WPS Exec Request, as well as the desired input/output. Services
41contain the algorithms and functions, and can now be implemented in C/C++, Fortran, Java,
42Python, PHP and JavaScript.
43
44:ref:`ZOO Kernel <kernel>` works with Apache and can communicate with cartographic engines
45and Web mapping clients. It simply adds the WPS support to your spatial data infrastructure
46and your Web mapping application. It can use every GDAL/OGR supported formats as input data
47and create suitable vector or raster output for your cartographic engine and/or your
48web-mapping client application.
49
50What are we going to do in this workshop?
51-----------------------------------------
52
53This workshop aims to present the ZOO Project and its features, and to explain its capabilities
54regarding the WPS 1.0.0 specification. The participants will learn in 3 hours how to use ZOO
55Kernel, how to create ZOO Services  and their configuration files and finally how to link
56the created Service with a client-side webmapping application.
57
58A pre-compiled ZOO 1.0 version is provided inside OSGeoLive, the OSGeo official Live DVD.
59For the sack of simplicity, an OSGeoLive Virtual Machine image disk is already installed
60on your computers. This will be used during this workshop, so the participants won't have
61to compile and install ZOO Kernel manually. Running and testing ZOO Kernel from this
62OSGeoLive image disk is thus the first step of the workshop, and every participants should
63get a working ZOO Kernel in less than 30 minutes.
64
65Once ZOO Kernel will be tested from a Web browser using GetCapabilities requests,
66participants will be invited to create an OGR based ZOO Service Provider aiming to enable
67simple spatial operations on vector data. Participants will first have to choose whether
68they will create the service using C or Python language. Every programming step of the ZOO
69Service Provider and the related Services will be each time detailed in C and Python.
70
71Once the ZOO Services will be ready and callable by ZOO Kernel, participants will finally
72learn how to use its different functions from an OpenLayers simple application. A sample
73dataset from Geoserver will be displayed on a simple map using WMS/WFS standards and used as
74input data by the ZOO Services. Then, some specific selection and execution controls will be
75added in the JavaScript code in order to execute single and multiple geometries on the displayed
76polygons.
77
78Once again, the whole procedure will be organized step-by-step and detailed with numerous code
79snippets and their respective explanations. The instructors will check the ZOO Kernel functioning
80on each machine and will assist you while coding. Technical questions are of course welcome
81during the workshop.
82
83Usefull tips for reading
84------------------------
85
86Codes snipets are included in yellow blocks
87
88Code changes are included in grey blocks
89
90Code snipets included in sentences are displayed this way
91
92HTTP and XML Requests are included in blue blocks
93
94
95
96*Let's go !*
97
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