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.