Changes between Version 6 and Version 7 of ZooWebSite/ZooServices/ZCFGReference


Ignore:
Timestamp:
Jan 16, 2011, 5:46:33 AM (13 years ago)
Author:
djay
Comment:

Small modifications

Legend:

Unmodified
Added
Removed
Modified
  • ZooWebSite/ZooServices/ZCFGReference

    v6 v7  
    1 = .zcfg Reference =
     1= ZOO Configuration File Reference =
    22
    3 .zcfg is the ZOO Service configuration file which describes the service and being parsed by ZOO Kernel. You can use the generic example bellow to compose .zcfg files, and get working examples on the ZOO Trac.
     3The ZOO Service configuration file (.zcfg) describes the service and will be parsed by ZOO Kernel to know how to handle it. You can use the generic example bellow to compose your own .zcfg files, and take a look at working examples on the ZOO-Project SVN source tree.
    44
    55A ZOO Configuration file is divided in three distinct sections :
     
    1313== Main metadata informations ==
    1414
    15 The fist part in a ZOO Configuration containing the metadata informations relatives to the service. Note that the "name of your service" have to be the exact same name as the function you defined in you service code.
     15The fist part in a ZOO Configuration contains the metadata informations relatives to the service. Note that the "name of your service", between bracket on the first line, have to be the exact same name as the function you defined in you service code.
     16
     17You can see bellow a description of the main metadata informations:
    1618{{{
    1719#!Lineno
     
    2224storeSupported = true/false
    2325statusSupported = true/false
    24 serviceType = the programming language used to implement the service (C/Python/Java/PHP/Fortran/Javascript)
    25 serviceProvider = Name of your service provider (.zo)
     26serviceType = the programming language used to implement the service (C/Fortran/Python/Java/PHP/Javascript)
     27serviceProvider = name of your services provider (shared library/Python Module/Java Class/PHP Script/JavaScript script)
    2628<MetaData>
    2729  title = Metadata title of your service
     
    3133== List of Inputs ==
    3234
    33 The list of inputs your service can handle, it contains metadata informations of each services and it is a {{{<DataInputs>}}} node.
     35The list of inputs contains metadata information of each defined input and it is a {{{<DataInputs>}}} node.
    3436
    35 A tipical list of inputs ({{{<DataInputs>}}}) look like the following:
     37A typical list of inputs ({{{<DataInputs>}}}) look like the following:
    3638{{{
    3739#!Lineno
     
    5254}}}
    5355
     56Note that you can add {{{<MetaData>}}} node as in the main metadata information.
     57
    5458== List of Outputs ==
    5559
     60The list of outputs is similar to a list of inputs except it is designed as a {{{<DataOutputs>}}} node.
     61
     62A typical {{{<DataOutputs>}}} node look like the following:
    5663{{{
    5764#!Lineno
     
    6976
    7077You can define your data as:
    71   * LiteralData
    72   * BoundingBoxData
    73   * ComplexData
     78  * [#LiteralDatanode LiteralData]
     79  * [#BoundingBoxDatanode BoundingBoxData]
     80  * [#ComplexDatanode ComplexData]
    7481
    75 === LiteralData node ===
     82Each Type Of Data node have at least one {{{<Default>}}} and one {{{<Supported>}}} node. Even if one of those are empty it has to be present as an opening and closing tag.
    7683
    77 A tipical {{{<LiteralData>}}} node look like the following:
     84=== !LiteralData node ===
    7885
     86A {{{<LiteralData>}}} node get one {{{<Default>}}}, one or more {{{<Supported>}}} node depending on the number of Unity Of Mesures (UOM) and a {{{dataType}}} property. The {{{dataType}}} property define the type of literal data, a string, an interger and so on ([http://www.w3.org/TR/xmlschema-2/#built-in-datatypes complete list] of supported data types).
     87
     88For input {{{<LiteralData>}}} nodes, you can add value to the {{{<Default>}}} properties to define a default value for this input. This means that when your Service will be run even if the input wasn't defined, this default value will be set as the current value for this input.
     89
     90A typical {{{<LiteralData>}}} node look like the following:
    7991{{{
    8092#!Lineno
    8193<LiteralData>
    82   DataType = float
     94  dataType = float
    8395  <Default>
    8496    uom = meters
    85     value = 10
    8697  </Default>
    8798  <Supported>
     
    91102}}}
    92103
    93 === BoundingBoxData node ===
     104=== !BoundingBoxData node ===
    94105
    95 A {{{<BoundingBoxData>}}} node contains one {{{<Defautl>}}} node defining the default Coordinate Reference Systems (CRM) and same number of {{{<Supported>}}} nodes as number of CRM your service support (note that you can also use a list of supported CRS separated them by coma in only one {{{<Supported>}}} node.
     106A {{{<BoundingBoxData>}}} node contains one {{{<Defautl>}}} node getting a CRS property defining the default Coordinate Reference Systems (CRS) and one or more {{{<Supported>}}} nodes depending on the number of CRS your service support (note that you can also use a list of supported CRS separated them by coma in only one {{{<Supported>}}} node).
    96107
    97108A tipical {{{<BoundingBoxData>}}} node, for two supported CRM ([http://www.epsg-registry.org/indicio/query?request=GetRepositoryItem&id=urn:ogc:def:crs:EPSG::4326 EPSG:4326] and [http://www.epsg-registry.org/indicio/query?request=GetRepositoryItem&id=urn:ogc:def:crs:EPSG::3785 EPSG:3785] ), look like the following:
     
    112123}}}
    113124
    114 === ComplexData node ===
     125=== !ComplexData node ===
     126
     127A ComplexData node get a {{{<Default>}}} and one or more {{{<Supported>}}} nodes depending on the number of supported format. A format is this set of properties : {{{mimeType}}}, {{{encoding}}} and optionaly {{{schema}}}.
     128
     129For output ComplexData nodes, you can add the {{{extension}}} property to define what extension to use to name the file when storing the result is required. Obviously, you'll have to add the extension to each supported format. You can also add the {{{asReference}}} property for each input to define if the output should be stored on server side per default. Note, that the client can always modify this behavior setting {{{asReference}}} attribute to {{{true}}} or {{{false}}} for this output in the {{{ResponseDocument}}}.
     130
     131You can see above a sample ComplexData node for default {{{application/json}}} and {{{text/xml}}} mimeTypes support:
    115132{{{
    116133#!Lineno

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