Table of Content
About
This is a document for S2Remoting-1.0.1
.
Documents for older versions of S2Remoting are included in
their respective distribution archive file.
Architecture
S2Remoting is a common platform that enables application to call remotely
without directly calling RMI nor web service (JAX-RPC).
When remote call is not used, client application or client component is
related to components managed by S2 as follows
(client may also be managed by S2 container):
When S2Remoting is used, distributed components may be called as follows.
Client and components does not have to be modified.
S2Remoting is the interceptor in the above diagram. S2Remoting also offers connector interfaces and abstract classes, but it does not offer any implementation classes. Connector and adapter implementations are offered by related packages such as S2RMI and S2Axis which offers different protocol implementation.
Using an Interceptor
To call a remote component, use RemotingInterceptor
made available by S2Remoting.
<!-- Remote Call Interceptor --> <component name="remoting" class="org.seasar.remoting.common.interceptor.RemotingInterceptor"/> <!-- Component's Proxy (Interface) --> <component name="name" class="Component's Interface"> <aspect>remoting</aspect> </component>
Component's interface is specified as <component> element's attribute.
Value of a name attribute differs by protocol but is commonly remote object location.
Refer to software document for the protocol for details on what this value should be set to.
Interceptor should be set to a connector.
Usually, an interceptor is defined in the same dicon file as a connector so S2 S2 will automatically set it by injection.