Hello there,
I have a very basic question about local interfaces:
does Tuscany require parameters passed over a local service interface to be
Serializable?
Example:
<sca:component name="mappingcache">
<sca:implementation.java
class="com.softwareag.ps.platform.mappingcomponent.impl.MappingCacheServiceImpl"/>
<sca:service name="MappingCacheService">
<sca:interface.java
interface="com.softwareag.ps.platform.mappingcomponent.api.MappingCacheService"/>
</sca:service>
</sca:component>
<sca:component name="mapping">
<sca:reference name="mappingCacheService"
target="mappingcache/MappingCacheService"/>
</sca:component>
The service “mappingcache/MappingCacheService” implicitly exposes binding.sca
and the service interface is not @Remotable.
“Tuscany SCA in Action” says in section 2.5: “The default binding allows
vendors to provide optimized communication where
interoperability isn’t required”. I believe this would be just such a case.
Therefore I would assume that a service call from the mapping component over
the service reference “mappingCacheService”
would simply involve Java reflection, without any Serialization/Deserialization
going on for any of the parameters in the
methods exposed by the MappingCacheService interface .
Is my assumption correct? If it is not, what would be the reason?
-- Sebastian