= ZooKernel description page = On this page you will find everything you need to know about the ZooKernel. == Current status == Acutaly, you could compile and use the code available on the svn server on your own GNU / LINUX platform this way : ==== Requirements ==== To be able to compile the current source, you need to have some library allready installed on your system : * [http://www.fastcgi.com/drupal/node/5 FastCGI] (installed in /path/to/trunk/dist/, using --prefix=/path/to/trunk/dist configure option), * [http://dev.cartography.st/zoo-project/changeset/15 cgic] (same, use just {{{make}}}) . * [http://www.xmlsoft.org/index.html libxml2], * [http://www.python.org Python]. ==== Getting the source code ==== To get the source code and compile on your platform, use the following command : {{{ #!sh cd zoo/trunk/ svn checkout svn+ssh://dev.cartography.st/mnt/data3/zoo-project/trunk/zoo-kernel zoo-kernel }}} ==== Compiling the source code ==== First of all, you'll need to edit the Makefile and uncomment "{{{-DLINUX_FREE_ISSUE}}}" on the first line, then use the following commands : {{{ #!sh cd zoo-kernel make make zoo_loader.cgi make demo_service.zo }}} Now, you get the ZooKernel (Shell and Cgi version) and two "service providers" of different kind : {{{demo_service.zo}}} (C++) and {{{test_service.py}}} (Python). ==== Using the code ==== To run request with ZooKernel from command command line, use the following example : {{{ #!sh ./service_loader ./ test_service.zo GetCapabilities ./service_loader ./Buffer.zcfg test_service.zo DescribeProcess ./service_loader ./Buffer.zcfg ./demo_service.zo Execute helloworld ./service_loader ./Buffer.zcfg ./demo_service.zo Execute printAgrument 1 2 ./service_loader ./Buffer.zcfg ./demo_service.zo Execute printAgrument 1 2 bg ./service_loader ./Distance.zcfg test_service Execute helloworld }}} Your could also see the Cgi Version from [http://shilpa.media.osaka-cu.ac.jp/cgi-bin/zoo_loader.cgi?ServiceProvider=/var/www/localhost/cgi-bin/demo_service.zo&metapath=/var/www/localhost/cgi-bin/&Service=WPS&request=GetCapabilities&Version=1.0.0&Language=en-CA&Identifier=helloworld Shilpa !] Some other samples from the Shilpa server : * [http://shilpa.media.osaka-cu.ac.jp/cgi-bin/zoo_loader.cgi?ServiceProvider=/var/www/localhost/cgi-bin/test_service.zo&metapath=/var/www/localhost/cgi-bin/Distance.zcfg&Service=WPS&Request=DescribeProcess&Version=1.0.0&Language=en-CA&Identifier=Buffer,Distance DescribeProcess Response Sample 1] * [http://shilpa.media.osaka-cu.ac.jp/cgi-bin/zoo_loader.cgi?ServiceProvider=/var/www/localhost/cgi-bin/test_service.zo&metapath=/var/www/localhost/cgi-bin/Buffer.zcfg&Service=WPS&Request=DescribeProcess&Version=1.0.0&Language=en-CA&Identifier=Buffer,Distance DescribeProcess Response Sample 1] * [http://shilpa.media.osaka-cu.ac.jp/cgi-bin/zoo_loader.cgi?ServiceProvider=/var/www/localhost/cgi-bin/demo_service.zo&metapath=/var/www/localhost/cgi-bin/Buffer.zcfg&request=Execute&service=WPS&version=1.0.0&language=en-CA&Identifier=helloworld&DataInputs=A=12;BufferDistance=10&ResponseDocument=BufferedPolygon&StoreExecuteResponse=true Execute Response Sample] (not working). Finally you've runed two services from two services provider, the same way.