Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: IDL Vs WSDL ---- a comparison

From: woyna@-------.--- (---- -----)
To: NULL
Date: 6/1/2004 10:09:00 AM
usenet@s... (Generic Usenet Account) wrote in message news:<90e5135.0405271429.6c170153@p...>...
> Does anyone have an opinion on how IDL and WSDL compare to each other?
>  Are they equally powerful in their "expressive power"?  Sometimes it
> appears to me that IDL is a little easier for humans to follow.  Also,
> it appears to be more compact.

How is that possible???!!! I thought XML was selected because it was
human readable???

Not.

<definitions name="StockQuoteService"
             targetNamespace="http://argonne.com/stockquoteservice.wsdl"
             xmlns:tns="http://argonne.com/stockquoteservice.wsdl"
             xmlns:xsd1="http://argonne.com/stockquoteservice.xsd"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
       <xsd:schema targetNamespace="http://argonne.com/stockquoteservice.xsd"
              xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
           <xsd:element name="LastSaleRequest">
              <xsd:complexType>
                  <xsd:all>
                      <xsd:element name="stockSymbol" type="string"/>
                  </xsd:all>
              </xsd:complexType>
           </xsd:element>
           <xsd:element name="LastSalePrice">
              xsd:<complexType>
                  <xsd:all>
                      <xsd:element name="price" type="float"/>
                  </xsd:all>
              </xsd:complexType>
           </xsd:element>
       </xsd:schema>
</wsdl:types>
<wsdl:message name="getLastSaleInput">
        <wsdl:part name="body" element="xsd1:LastSaleRequest"/>
</wsdl:message>
<wsdl:message name="getLastSaleOutput">
        <wsdl:part name="body" element="xsd1:LastSalePrice"/>
</wsdl:message>
<wsdl:portType name="StockQuoteServicePortType">
	<wsdl:operation name="getLastSale">
           <wsdl:input message="tns:getLastSaleInput"/>
           <wsdl:output message="tns:getLastSaleOutput"/>
        </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="StockQuoteServiceSoapBinding"
type="tns:StockQuoteServicePortType">
	<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
	<wsdl:operation name="getLastSale">
	    <soap:operation soapAction="http://argonne.com/getLastSale"/>
              <wsdl:input>
               	        <soap:body use="literal"/>
               </wsdl:input>
               <wsdl:output>
               	        <soap:body use="literal"/>
               </wsdl:output>
       </wsdl:operation>
</wsdl:binding>
<wsdl:service name="StockQuoteService">
    <wsdl:documentation>Argonne Technologies Stock Quote
Service</documentation>
    <wsdl:port name="StockQuoteServicePort"
binding="tns:StockQuoteServiceBinding">
          <soap:address
location="http://argonne.com/StockQuoteService"/>
     </wsdl:port>
</wsdl:service>



/* StockService IDL - not at all readable */

module stockServices {

  typedef float LastSalePrice;

  struct LastSaleRequest {
    string stockSymbol;
  };

  interface StockService {
    LastSalePrice getLastSale(in LastSaleRequest request);
  };
};


> 
> Are IDL and WSDL equally powerful in expressing complex data types,
> and describing inheritance and association relationships?

Other than the fact that the Simple Object Access Protocol (SOAP) has
no concept of Objects, and is in no way simple?

WSDL has no concept of inheritance or objects. Granted, the overuse
of fine-grained distributed objects did give CORBA a performance black
eye in its early days (although no worse than the initial overuse of
J2EE Entity Beans), it is sometimes necessary to expose a handful of
stateful objects implementing the same interface in the same server.
Without the concept of object identity, this is not possible with
WSDL/SOAP, or at least not trivial.

Again, accepted practice is to expose singleton "service" objects,
i.e.
facade pattern, and keep entity objects behind the facade. Since
CORBA/IDL can implement either model, many believe that CORBA/IDL is
more powerful in this respect. On the otherhand, some have argued that
this capability makes CORBA/IDL  less "simple" that Web
Services/SOAP/WSDL.

> What would
> be the most compelling reasons to choose one over the other?

IDL == CORBA == Working == Boring 'ol technology.

WSDL == Web Services == Not quite there yet == Another buzzword to put
on a resume.

:-)

Mark


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent