About

Documentation

Project Documentation

Built by Maven

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.