SlideShare a Scribd company logo
1 of 15
Download to read offline
ZOO project : An Open WPS Platform



Gérald FENOY, GeoLabs SARL

Nicolas BOZON, 3LIZ SARL

Venkatesh RAGHAVAN, Osaka City Univ.
Welcome to the ZOO Tribe
What is ZOO ?
OSGeo softwares are useful for many GIS projects
but used in many different ways

> Many services available online
> Many specific Javascript API


Is that really sustainable ?

Let's build standardised OSGeo ecosystem using WPS and also
other OGC Web Services
Platform Overview
®
 C
           Mapserver
 G
O


     (WMS, WFS,WCS,SOS)
               +
          Apache Server
             (HTTP)
               +              ZOO OWS Platform
         Open Office Server
              (ODF)
              +
     ®
 C




           ZOO Kernel
 G
O




             (WPS)
Which Programming Language ?

               ZOO Babel

ZOO Kernel is able to support any language
        you want it to support !


     This way we don't force anybody
      to code in a specific language !
How does it work ?
A ZOO service is made of:

       A .zcfg metadata file (Title, Metadata, Inputs, Output...)

       « Service shared object » ( Dynamic library, Python, PHP ...)

WPS GetCapabilities and DescribeProcess requests are resolved
only by parsing the .zcfg file metadata (Flex+Bison)


The ZOO Kernel is able to dynamicaly load and run specific functions to
respond to WPS Execute requests.
KISS ! (Keep it simple stupid !)

ZOO Kernel make it simple for the end-developer to implement any
kind of services.


- Zoo Kernel uses KVP to treat the parameters coming from a GET
method request.

- For the POST method, Zoo Kernel will use the request parameter sent
as an XML file containing a specific operation request document
(GetCapabilities, DescribeProcess or Execute).
Hello World
HelloWorld.py

def HelloPy(conf,inputs,outputs):
    outputs["output1"]={"value": "helloworld","datatype": "string"}
    return SERVICE_SUCCEEDED

HelloWorld.zcfg

[HelloWorld]
 Title = Get the HelloWorld string.
 serviceProvider = test_service
 serviceType = Python
  <DataOutputs>
  [output1]
  Title = HelloString
  <LiteralData>
   DataType = string
  </LiteralData>
  </DataOutputs>
ZOO Sample Services
DescribeProcess and Execute for:


                              Multiply

                                   Buffer

                              Distance

                              Boundary

                             ConvexHull
ZOO and Processes Chaining
Since WPS already support service chaining, therefore ZOO is also able
to use the output of one process as an input for another process.


Moreover, as ZOO Kernel support the XML POST Request (mandatory)
you could even easily store your requests for a future use, to re-execute a
process on demand.


We didn't provide the storage of your XML request currently, please do it
by yourself !
ZOO Kernel next steps

Get some more services running !

   - GRASS and/or SEXTANTE service

   - Statistical service using R

   - SOS implementation (Zoo Box demo in FOSS4G Osaka)

   - OpenOffice reporting service


Developer guide to be written by March 2010
ZOO Client plans

Mozilla Desktop GIS Client

   - XULRunner hybrid GIS application

   - Implementation of ZOO Kernel in the heart of the Mozilla platform
       (ZOO Kernel as an XPCOM component)


ZOO Client Javascript API

   - GeoExt Web GIS client
   - Automated Toolbar creation (ZooSkins)
ZOO Asia Pacific tour
Oct 14th 2009: ZOO Tshirt printing in Hanoi

Oct 15th 2009 : ZOO presentation at Asian Institue of Technology (Bangkok)

Oct 16th 2009: ZOO presentation at OSGeo-Thai Chapter meeting held in
Chulalongkorn University (Bangkok)

Oct 20th to 23rd : ZOO Poster at FOSS4G 2009 (Drift-X WPS)
                   ZOO Project : an open WPS platform
                   Canaweb Client which will serve as base to develop our ZOO
             Desktop Client



Nov 1st and 2nd 2009: ZOO @
www.zoo-project.org


     Thank you for your time !
Thanks to Frank Warmerdam for his great GDAL /OGR
               and constant support !

More Related Content

Viewers also liked (9)

Zoo Education Strategy Alignment
Zoo Education Strategy AlignmentZoo Education Strategy Alignment
Zoo Education Strategy Alignment
 
Content construction with zoo
Content construction with zooContent construction with zoo
Content construction with zoo
 
Zoo campaign
Zoo campaignZoo campaign
Zoo campaign
 
A Visit to the Zoo
A Visit to the ZooA Visit to the Zoo
A Visit to the Zoo
 
Zoo presentation foss4g.jp-2011
Zoo presentation foss4g.jp-2011Zoo presentation foss4g.jp-2011
Zoo presentation foss4g.jp-2011
 
Zoo Project PowerPoint
Zoo Project PowerPointZoo Project PowerPoint
Zoo Project PowerPoint
 
Zoo presentation....
Zoo presentation....Zoo presentation....
Zoo presentation....
 
Bad PowerPoint Example
Bad PowerPoint ExampleBad PowerPoint Example
Bad PowerPoint Example
 
Good and Bad Power Point Examples Ed Tech
Good and Bad Power Point Examples Ed TechGood and Bad Power Point Examples Ed Tech
Good and Bad Power Point Examples Ed Tech
 

Similar to Zoo First Presentation

ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPSONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
otb
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
Jachym Cepicky
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
oscon2007
 
Devoxx - Flying with Griffon
Devoxx - Flying with GriffonDevoxx - Flying with Griffon
Devoxx - Flying with Griffon
Andres Almiray
 

Similar to Zoo First Presentation (20)

Zoo Presentation Cumtb 2010
Zoo Presentation Cumtb 2010Zoo Presentation Cumtb 2010
Zoo Presentation Cumtb 2010
 
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPSONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
ONLINE IMAGE PROCESSING WITH ORFEOTOOLBOX WPS
 
PyWPS at COST WPS Workshop
PyWPS at COST WPS WorkshopPyWPS at COST WPS Workshop
PyWPS at COST WPS Workshop
 
Running High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclioRunning High-Speed Serverless with nuclio
Running High-Speed Serverless with nuclio
 
Introduction to Apache Beam
Introduction to Apache BeamIntroduction to Apache Beam
Introduction to Apache Beam
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
Os Henrikson
Os HenriksonOs Henrikson
Os Henrikson
 
Big Data Hadoop Training
Big Data Hadoop TrainingBig Data Hadoop Training
Big Data Hadoop Training
 
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
 
Javascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basicsJavascript, DOM, browsers and frameworks basics
Javascript, DOM, browsers and frameworks basics
 
Opw presentation of open office-lgma
Opw presentation of open office-lgmaOpw presentation of open office-lgma
Opw presentation of open office-lgma
 
JSON Part 2: Working with Ajax
JSON Part 2: Working with AjaxJSON Part 2: Working with Ajax
JSON Part 2: Working with Ajax
 
ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?
 
Nodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredevNodejs a-practical-introduction-oredev
Nodejs a-practical-introduction-oredev
 
Cytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis ToolsCytoscape and External Data Analysis Tools
Cytoscape and External Data Analysis Tools
 
Devoxx - Flying with Griffon
Devoxx - Flying with GriffonDevoxx - Flying with Griffon
Devoxx - Flying with Griffon
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
 
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten ZiegelerMonitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
 
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
 

Zoo First Presentation

  • 1. ZOO project : An Open WPS Platform Gérald FENOY, GeoLabs SARL Nicolas BOZON, 3LIZ SARL Venkatesh RAGHAVAN, Osaka City Univ.
  • 2. Welcome to the ZOO Tribe
  • 3. What is ZOO ? OSGeo softwares are useful for many GIS projects but used in many different ways > Many services available online > Many specific Javascript API Is that really sustainable ? Let's build standardised OSGeo ecosystem using WPS and also other OGC Web Services
  • 5. ® C Mapserver G O (WMS, WFS,WCS,SOS) + Apache Server (HTTP) + ZOO OWS Platform Open Office Server (ODF) + ® C ZOO Kernel G O (WPS)
  • 6. Which Programming Language ? ZOO Babel ZOO Kernel is able to support any language you want it to support ! This way we don't force anybody to code in a specific language !
  • 7. How does it work ? A ZOO service is made of: A .zcfg metadata file (Title, Metadata, Inputs, Output...) « Service shared object » ( Dynamic library, Python, PHP ...) WPS GetCapabilities and DescribeProcess requests are resolved only by parsing the .zcfg file metadata (Flex+Bison) The ZOO Kernel is able to dynamicaly load and run specific functions to respond to WPS Execute requests.
  • 8. KISS ! (Keep it simple stupid !) ZOO Kernel make it simple for the end-developer to implement any kind of services. - Zoo Kernel uses KVP to treat the parameters coming from a GET method request. - For the POST method, Zoo Kernel will use the request parameter sent as an XML file containing a specific operation request document (GetCapabilities, DescribeProcess or Execute).
  • 9. Hello World HelloWorld.py def HelloPy(conf,inputs,outputs): outputs["output1"]={"value": "helloworld","datatype": "string"} return SERVICE_SUCCEEDED HelloWorld.zcfg [HelloWorld] Title = Get the HelloWorld string. serviceProvider = test_service serviceType = Python <DataOutputs> [output1] Title = HelloString <LiteralData> DataType = string </LiteralData> </DataOutputs>
  • 10. ZOO Sample Services DescribeProcess and Execute for: Multiply Buffer Distance Boundary ConvexHull
  • 11. ZOO and Processes Chaining Since WPS already support service chaining, therefore ZOO is also able to use the output of one process as an input for another process. Moreover, as ZOO Kernel support the XML POST Request (mandatory) you could even easily store your requests for a future use, to re-execute a process on demand. We didn't provide the storage of your XML request currently, please do it by yourself !
  • 12. ZOO Kernel next steps Get some more services running ! - GRASS and/or SEXTANTE service - Statistical service using R - SOS implementation (Zoo Box demo in FOSS4G Osaka) - OpenOffice reporting service Developer guide to be written by March 2010
  • 13. ZOO Client plans Mozilla Desktop GIS Client - XULRunner hybrid GIS application - Implementation of ZOO Kernel in the heart of the Mozilla platform (ZOO Kernel as an XPCOM component) ZOO Client Javascript API - GeoExt Web GIS client - Automated Toolbar creation (ZooSkins)
  • 14. ZOO Asia Pacific tour Oct 14th 2009: ZOO Tshirt printing in Hanoi Oct 15th 2009 : ZOO presentation at Asian Institue of Technology (Bangkok) Oct 16th 2009: ZOO presentation at OSGeo-Thai Chapter meeting held in Chulalongkorn University (Bangkok) Oct 20th to 23rd : ZOO Poster at FOSS4G 2009 (Drift-X WPS) ZOO Project : an open WPS platform Canaweb Client which will serve as base to develop our ZOO Desktop Client Nov 1st and 2nd 2009: ZOO @
  • 15. www.zoo-project.org Thank you for your time ! Thanks to Frank Warmerdam for his great GDAL /OGR and constant support !