= ebXML Service Layer = author: Heikki Doeleman This page describes GeoNetwork's implementation of a Service Layer in the ebXML project. [[BR]] ---- == 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 [http://ws.apache.org/axis2/ Axis2]. For a description on how to use REST in addition to SOAP with Axis2, see [http://ws.apache.org/axis2/1_4_1/rest-ws.html RESTful Web Services Support]. For a description on how to use JiBX as the XML Binding framework with Axis2, see [http://ws.apache.org/axis2/1_4_1/jibx/jibx-codegen-integration.html JiBX Integration With Axis2]. Design decisions: JiBX support in Axis2 mandates the use of the [http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ 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 [http://ws.apache.org/axis2/1_4_1/jibx/jibx-unwrapped-example.html here] and [http://ws.apache.org/axis2/1_4_1/jibx/jibx-doclit-example.html here]. My preference is for Wrapped Document/Literal but this remains to be decided. ----