deegree3 developer meeting (2008-09-30)
Protocol by: MarkusSchneider
Participants: OliverTonnhofer, RutgerBezema, MarkusSchneider
1. Status reports
SOAP and support for multipart requests are currently being added. Several SOAP-APIs have been inspected:
- SAAJ: Seems to require a DOM representation of the request. This is not acceptable for large requests.
- Axis2: Axis2 is based on AXIOM, and it's additional features seems mostly to address databinding (WSDL). However, this is not relevant to OGC services at the moment, as OGC-SOAP just uses encapsulated OGC XML requests/responses.
- AXIOM: Already used as XML tree API in deegree3, offers specialized OMElements for SOAP (SOAPEnvelope, SOAPBody, ...)
SOAP handling will be realized using AXIOM.
The SOS is progressing. A test service is available at: http://edim.lat-lon.de
2. Versioning of services configuration files
The best approach for versioning the service configuration files has still to be decided. However, there seems to be a general agreement on the advantages/disadvantages of the two suggested approaches.
2.1. Approach A
The version of the configuration file format is determined by the namespace. If the format is changed, a new schema file and namespace has to be used.
Pro:
- The namespace may also be used to identify (and load) the corresponding schema.
- deegree services can definitely determine if they can handle a given configuration file by looking at the namespace.
Con:
- Even little and uncritical changes imply that a new schema and JAXB parser have to be generated.
- For every new version, a user must update the config (at least adjust the namespace), although it would be perfectly parseable using the new parser.
2.2. Approach B
Several format versions may use the same namespace.
Pro:
- For little changes (e.g. a new optional element), only the schema has to be adjusted and a new generator has to be generated. An existing configuration may be used with a new deegree version (that uses the new schema) right away.
Con:
- Confusion is possible: A user may find that a configuration file does not work on a deegree installation (because the configuration file was developed with a newer version). It is not possible (for deegree) to determine the problem on startup and give a definitive error message.