Re: SOAP and OO: Dynamic Services

> I am not sure if SOAP itself should be enhanced with a dynamic object
> reference type, because this is against its stated design goals. However,
> without any standard way of representing dynamic objects I am sure that many
> different ways will (and have already been) invented of achieving this, none
> of which will interoperate. Surely it would be better for W3C to define a
> SOAP extension for representing dynamic objects? I would suggest doing this
> by adopting WSDL as the W3C standard for describing SOAP services, and
> enhancing WSDL so that it can be used to describe both static and dynamic
> objects by providing a way of defining dynamic references (URIs) for
> services.

hi,

you can even do it now but it would require SOAP processor to generate
WSDL on the fly (that is not that hard) and understand generated WSDL in
runtime (that is hard part especially for C++).
 
> I cannot find any articles really addressing this issue. Even articles
> comparing CORBA and SOAP do not mention that CORBA represents dynamic
> objects in standard way and SOAP does not, which seems a fundamental problem
> for the CORBA-SOAP bridges that are appearing. So am I missing something?
> Are we all meant to move away from object-oriented architecture (which when
> properly applied works ten times better than anything else I have seen), to
> some new service-based architecture? If so, what is this new architecture
> and why is it better?

we wrote a paper of design of RMI system on top of SOAP you can find at:
http://www.extreme.indiana.edu/soap/ (see part 'Remote Reference' in paper 
http://www.extreme.indiana.edu/soap/rmi/design/)
 
> Does anyone have any insight on this?

we have implemented SoapRMI that extends SOAP with simple remote reference
and as it is RMI it allows to implement example that you mentioned in a
very natural way. to represent remote reference we have decided to use a
simple XML document that is represented as SOAP encoded XML of structure
that contains QName of portType (as defined by WSDL) and enough
information to contact remote object:

<Port>
   <portType>
      <uri>PORT TYPE UNIQUE NAMESPACE</uri>
      <name>PORT TYPE LOCAL NAME</name>
   </portType>
   <endpoints>
      <location>URL OF OBJECT</location>
      <binding>
        ... <!-- protocol specific binding information -->
      </binding>
   <endpoints>
</Port>


for example to represent reference to remote event channel we have:

<Port>
  <portType>  
     <uri>urn:soaprmi-v11:temp-java-port-type</uri>                     
<name>soaprmi.events.LeasingFilteredEventChannel</name>
  </portType>
  <endpoint>
   
<location>http://192.168.1.7:4566/urn:soaprmi-v11:leasing-filtered-event-channel</location>
    <binding>
      <name>urn:soaprmi-v11:leasing-filtered-event-channel</name>
   </binding>
  </endpoint>
</Port>

such representation is simple and easy to implement but we would like to
use more standard way to represent remote reference in next update of
SoapRMI though...

thanks,

alek

Received on Wednesday, 11 July 2001 13:58:50 UTC