ebXML Service Layer ¶
author: Heikki Doeleman
This page describes GeoNetwork's implementation of a Service Layer in the ebXML project.
Introduction ¶
The Service Layer exposes various services to the outside world. This section describes these services along with how they are implemented.
Web Services ¶
Various services are exposed as Web Services, i.e. clients use them by making requests over the HTTP protocol. Two main Web Service interface styles are SOAP and REST; both use the HTTP protocol, but in the case of SOAP the message payload is wrapped in a SOAP Envelope, whereas in the case of REST the payload is either posted as-is, or expressed in GET parameters. In order to easily provide both interface styles we use the Web Services library Axis2.
For a description on how to use REST in addition to SOAP with Axis2, see RESTful Web Services Support.
For a description on how to use JiBX as the XML Binding framework with Axis2, see JiBX Integration With Axis2.
Design decisions:
JiBX support in Axis2 mandates the use of the Document/Literal interface style. This still leaves choice between Document/Literal per se, and Wrapped Document/Literal. For a comparison of these two styles in Axis2-with-JiBX see here and here. My preference is for Wrapped Document/Literal but this remains to be decided.