ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Web Services


   simplesourcecodes@live.com
? SOAP (Simple Object Access Protocol) is a simple
  protocol for exchange of information.

? UDDI (Universal Description, Discovery, and
  Integration) is a specification designed to allow
  businesses of all sizes to benefit in the new digital
  economy.

? WSDL (Web Services Description Language) defines
  the XML grammar for describing services as
  collections of communication endpoints capable of
  exchanging messages.
                      simplesourcecodes@live.com
Communication between Web-Service and
        heterogeneous clients




             simplesourcecodes@live.com
Introduction
    ? A Web service is a method of communication between
      two electronic devices over the web (internet).

    ? It has an interface described in a machine-processable
      format (WSDL)

    ? Other systems interact with the Web service using SOAP
      messages

    Features of Web Services
    ? Language Independent
    ? Operating System Independent
4
WSDL
? WSDL is written in XML
? used to describe & locate Web services
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.
                  simplesourcecodes@live.com
PortType
<portType name="glossaryTerms">
   <operation name="setTerm">
    <input name="newTerm"
  message="newTermValues"/>
   </operation>
  </portType >




                simplesourcecodes@live.com
Operation Types

The request-response type is the most common operation type, but
WSDL defines four types:

Type             Definition
One-way          The operation can receive a message but
                 will not return a response
Request-response The operation can receive a request and will
                 return a response
Solicit-response The operation can send a request and will
                 wait for a response
Notification     The operation can send a message but will
                 not wait for a response




                           simplesourcecodes@live.com
UDDI
? Universal Description, Discovery and Integration
  (UDDI)
? UDDI is a directory for storing information about web
  services
? UDDI is a directory of web service interfaces
  described by WSDL
? UDDI communicates via SOAP
? UDDI uses WSDL to describe interfaces to web
  services

                     simplesourcecodes@live.com
SOAP-based communication
  Waiting for
  Waiting for                                      Sending
                                                    Sending
   requests
    requests             Data in XML format       requests,
                                                   requests,
  (known location,
   (known location,
    known port)
                                                    getting
                                                     getting
     known port)
                                                    results
                                                     results




? SOAP:
   ¨C Data in a well-defined XML format
   ¨C Transport over various protocols
      ? HTTP, SMTP are the most used, perhaps because
        they are firewall-friendly
   ¨C server side: either an RPC call or a message delivered
SOAP Elements
? Envelope (mandatory)
   ¨C Top element of the XML document representing the
     message.
? Header (optional)
   ¨C Determines how a recipient of a SOAP message should
     process the message
   ¨C Adds features to the SOAP message such as
     authentication, transaction management, payment,
     message routes, etc¡­
? Body (mandatory)
   ¨C Exchanges information intended for the recipient of the
     message.
   ¨C Typical use is for RPC calls and error reporting.
SOAP Request
<SOAP-ENV:Envelope
   xmlns:SOAP-ENV=¡°http://schemas.xmlsoap.org/soap/envelope/¡±
   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/¡±>
   <SOAP-ENV:Header>
      <t:transId xmlns:t=¡°http://a.com/trans¡±>345</t:transId>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
      <m:Add xmlns:m=¡°http://a.com/Calculator¡±>
         <n1>3</n1>
         <n2>4</n2>
      </m:Add>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SOAP Response
<SOAP-ENV:Envelope
   xmlns:SOAP-ENV=¡°http://schemas.xmlsoap.org/soap/envelope/¡±
   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/¡±>
   <SOAP-ENV:Header>
      <t:transId xmlns:t=¡°http://a.com/trans¡±>345</t:transId>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
      <m:AddResponse xmlns:m=¡°http://a.com/Calculator¡±>
         <result>7</result>
      </m:AddResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SOAP Fault
? Used to carry error and/or status information within
  a SOAP message
? Appears within the SOAP body
? Defines the following:
   ¨C faultcode (mandatory)
      ? algorithmic mechanism for identifying the fault
      ? defined in the SOAP spec
   ¨C Faultstring (mandatory)
      ? human readable explanation of the fault
SOAP Fault
¨C faultactor (optional)
   ? information about who caused the fault to happen
   ? URI value identifying the source
¨C Detail
   ? error information related only to the Body element.
   ? if not present then indicates that the fault is not
     related to the Body element.
SOAP Fault Example

<SOAP-ENV:Envelope
   xmlns:SOAP-ENV=¡°http://schemas.xmlsoap.org/soap/envelope/¡±
   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/¡±>
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultcode>SOAP-ENV:Server</faultcode>
         <faultstring>Internal Application Error</faultstring>
         <detail xmlns:f=¡°http://www.a.com/CalculatorFault¡±>
            <f:errorCode>794634</f:errorCode>
            <f:errorMsg>Divide by zero</f:errorMsg>
         </detail>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML Messaging Using SOAP

More Related Content

Web services

  • 1. Web Services simplesourcecodes@live.com
  • 2. ? SOAP (Simple Object Access Protocol) is a simple protocol for exchange of information. ? UDDI (Universal Description, Discovery, and Integration) is a specification designed to allow businesses of all sizes to benefit in the new digital economy. ? WSDL (Web Services Description Language) defines the XML grammar for describing services as collections of communication endpoints capable of exchanging messages. simplesourcecodes@live.com
  • 3. Communication between Web-Service and heterogeneous clients simplesourcecodes@live.com
  • 4. Introduction ? A Web service is a method of communication between two electronic devices over the web (internet). ? It has an interface described in a machine-processable format (WSDL) ? Other systems interact with the Web service using SOAP messages Features of Web Services ? Language Independent ? Operating System Independent 4
  • 5. WSDL ? WSDL is written in XML ? used to describe & locate Web services 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. simplesourcecodes@live.com
  • 6. PortType <portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation> </portType > simplesourcecodes@live.com
  • 7. Operation Types The request-response type is the most common operation type, but WSDL defines four types: Type Definition One-way The operation can receive a message but will not return a response Request-response The operation can receive a request and will return a response Solicit-response The operation can send a request and will wait for a response Notification The operation can send a message but will not wait for a response simplesourcecodes@live.com
  • 8. UDDI ? Universal Description, Discovery and Integration (UDDI) ? UDDI is a directory for storing information about web services ? UDDI is a directory of web service interfaces described by WSDL ? UDDI communicates via SOAP ? UDDI uses WSDL to describe interfaces to web services simplesourcecodes@live.com
  • 9. SOAP-based communication Waiting for Waiting for Sending Sending requests requests Data in XML format requests, requests, (known location, (known location, known port) getting getting known port) results results ? SOAP: ¨C Data in a well-defined XML format ¨C Transport over various protocols ? HTTP, SMTP are the most used, perhaps because they are firewall-friendly ¨C server side: either an RPC call or a message delivered
  • 10. SOAP Elements ? Envelope (mandatory) ¨C Top element of the XML document representing the message. ? Header (optional) ¨C Determines how a recipient of a SOAP message should process the message ¨C Adds features to the SOAP message such as authentication, transaction management, payment, message routes, etc¡­ ? Body (mandatory) ¨C Exchanges information intended for the recipient of the message. ¨C Typical use is for RPC calls and error reporting.
  • 11. SOAP Request <SOAP-ENV:Envelope xmlns:SOAP-ENV=¡°http://schemas.xmlsoap.org/soap/envelope/¡± SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/¡±> <SOAP-ENV:Header> <t:transId xmlns:t=¡°http://a.com/trans¡±>345</t:transId> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:Add xmlns:m=¡°http://a.com/Calculator¡±> <n1>3</n1> <n2>4</n2> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 12. SOAP Response <SOAP-ENV:Envelope xmlns:SOAP-ENV=¡°http://schemas.xmlsoap.org/soap/envelope/¡± SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/¡±> <SOAP-ENV:Header> <t:transId xmlns:t=¡°http://a.com/trans¡±>345</t:transId> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:AddResponse xmlns:m=¡°http://a.com/Calculator¡±> <result>7</result> </m:AddResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 13. SOAP Fault ? Used to carry error and/or status information within a SOAP message ? Appears within the SOAP body ? Defines the following: ¨C faultcode (mandatory) ? algorithmic mechanism for identifying the fault ? defined in the SOAP spec ¨C Faultstring (mandatory) ? human readable explanation of the fault
  • 14. SOAP Fault ¨C faultactor (optional) ? information about who caused the fault to happen ? URI value identifying the source ¨C Detail ? error information related only to the Body element. ? if not present then indicates that the fault is not related to the Body element.
  • 15. SOAP Fault Example <SOAP-ENV:Envelope xmlns:SOAP-ENV=¡°http://schemas.xmlsoap.org/soap/envelope/¡± SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/¡±> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Internal Application Error</faultstring> <detail xmlns:f=¡°http://www.a.com/CalculatorFault¡±> <f:errorCode>794634</f:errorCode> <f:errorMsg>Divide by zero</f:errorMsg> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Editor's Notes

  1. A basic scenario of a distributed computing. RPC based communications. Various protocols.