The main objectives of services:
Provide the remote interface to call from the client tier.
Check the availability of the active user session, that corresponds to the session identifier transferred from the client.
Log unhandled middleware exceptions.
In addition, it is recommended to perform user authorization in the service layer, i.e. to check their rights for a particular functionality.
The objectives common to all services are handled as follows:
Checking the availability of the user session and logging exceptions are performed by the
ServiceInterceptor, class which intercepts the execution of each service method using Spring AOP.
The remote interface to access the service through Spring HTTP Invoker is created by the
RemoteServicesBeanCreator, bean, which is configured in the remoting-spring.xml file of the core module.