Professional Documents
Culture Documents
presented by Xiang Fu
Source
WSDL 1.1 specification
http://www.w3.org/TR/wsdl
What is WSDL
Web Service Description Language.
An XML language used to describe and
locate web services.
Written in XML.
Describe functionality of a web service
Specify how to access the service (binding
protocol, message format, and etc.)
Related Standards
Type System: XML Schema
Name space: XML namespaces
Binding: SOAP, HTTP, MIME and etc.
Types
<types> define types used in
message declaration
XML Schema, DTD, and etc.
XML Schema must be supported by
any vendor of WSDL conformant
products.
<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string
minOccur = 1 maxOccur=10/>
<element name = payment>
<complexType> <choice>
<element name = account type=string>
<element name = creditcard
type=string>
</choice> </complexType>
</element>
</all>
</complexType>
</element>
</schema>
</types>
WSDL Messages
The <message> element defines the
<message name="GetLastTradePriceInput">
<part name="body" element="TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="TradePrice"/>
</message>
WSDL Ports
The <portType> element is the most important
WSDL element.
It defines a web service, the operations that can
be performed, and the messages that are involved.
The <port> defines the connection point to a web
service, an instance of <portType>.
It can be compared to a function library (or a
module, or a class) in a traditional programming
language. Each operation can be compared to a
function in a traditional programming language.
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output
message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
Operation Types
The request-response type is the most common
operation type, but WSDL defines four types:
Binding
Binding defines how message are
<binding name="StockQuoteSoapBinding"
type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation
soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<documentation>My first service</documentation>
<port name="StockQuotePort"
binding="tns:StockQuoteBinding">
<soap:address
location="http://example.com/stockquote"/>
</port>
</service>
What is UDDI
UDDI is a platform-independent framework for
Whats missing?
Quality of service. (how fast, how reliable?)
Smart Searching (currently business code
match)
DAML-S project.
DARPA Agent Markup Language for web Services.
Describes control flow
Quality of service.
Support smart discovery of service
Ontology based technology.
A big dictionary defining the relations between concepts.
e.g. vehicle car truck
Problems
Complex long running web services.
Communication infrastructure
Asynchronous communication