25
1 Understanding Web Services Presented By: Woodas Lai

Understanding Web Services

  • Upload
    nyx

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Understanding Web Services. Presented By: Woodas Lai. Understanding Web Services. By Jaideep Roy and Anupama Ramanujan What is Web Services? Architecture Core technologies XML SOAP WSDL UDDI. What is Web Services?. A Web Services is a unit of application - PowerPoint PPT Presentation

Citation preview

Page 1: Understanding Web Services

1

Understanding Web Services

Presented By: Woodas Lai

Page 2: Understanding Web Services

2

Understanding Web Services By Jaideep Roy and Anupama Ramanujan

What is Web Services? Architecture Core technologies

XML SOAP WSDL UDDI

Page 3: Understanding Web Services

3

What is Web Services?What is Web Services?

A Web Services is a unit of application logic providing data and services to

other applications

They are published to the Web in such a way

that other applications can find and use them

Page 4: Understanding Web Services

4

Examples of Web Services

a credit card service thatprocesses credit card transactionsfor a given account

a market data service thatprovides stock market dataassociated with a specifiedstock symbol

Page 5: Understanding Web Services

5

Architecture

Page 6: Understanding Web Services

6

Core Technologies Technologies for Web Services

XML UDDI ( XML Based ) SOAP ( XML Based ) WSDL ( XML Based )

Page 7: Understanding Web Services

7

SOAP

Simple Object Access Protocol (SOAP)http://www.w3.org/TR/SOAP/

A lightweight XML communication message protocol

Page 8: Understanding Web Services

8

Role of SOAP

.NETapplication

J avaApplication

SOAP ClientSOAPServer

.NET function callrequest

Binary

Perform Serialization orMarshalling

Perform De-Serializationor Un-Marshalling

XML (Text Based)

Binary J ava function callrequest

SOAP Message

Page 9: Understanding Web Services

9

SOAP Overview

Describe the messaging format for machine-to-machine communication

Enable procedure calls on remote objects Define elements to specify remote function

names, parameters and return types

Page 10: Understanding Web Services

10

SOAP Overview

Support different Internet protocols, such as HTTP, SMTP, FTP (Protocol neutral)

SOAP = XML + RPC + HTTP (Typical use) A SOAP document is an XML document

designed to invoke methods on remote computers over HTTP

Page 11: Understanding Web Services

11

SOAP Structure

Header (Optional)

Body (Mandatory)

SOAP Message

Envelope

Page 12: Understanding Web Services

12

SOAP Example<env:Envelope xmlns:env="http://www.w3.org/2001/06/soap-envelope" >

<env:Header>……

</env:Header><env:Body>

<m:GetLastTradePrice env:encodingStyle= "http://www.w3.org/2001/06/soap-encoding

" xmlns:m="http://example.org/2001/06/quotes"><symbol>DIS</symbol>

</m:GetLastTradePrice></env:Body>

</env:Envelope>

Page 13: Understanding Web Services

13

WSDL Web Services Description Language (WSDL)

http://www.w3.org/TR/wsdl

Description of Web Services via XML-based standard format

Define the set of functions supported by the server and the formats a client should be used to request the service, like IDL in CORBA

Page 14: Understanding Web Services

14

WSDL WSDL is used to describe the web

services. So, how to describe? WSDL has its own XML vocabulary

defined so as to describe the web service

Page 15: Understanding Web Services

15

WSDL has a well-defined XML vocabulary to answer

the following questions regarding the web service

involved: What does the service do?

Both in machine and human-readable forms What language does the service speak?

The format/data structure of the message exchanged

WSDL

Page 16: Understanding Web Services

16

How does the client talk to the service? HTTP/SMTP/FTP

Where is the location of the web service? The access point (URL)

WSDL

Page 17: Understanding Web Services

17

WSDL  <?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions

targetNamespace="http://137.189.94.136:8080/axis/echo.jws" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://137.189.94.136:8080/axis/echo.jws" xmlns:intf="http://137.189.94.136:8080/axis/echo.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="echoStringResponse">  <wsdl:part name="echoStringReturn" type="xsd:string" />   </wsdl:message><wsdl:message name="echoStringRequest">  <wsdl:part name="str" type="xsd:string" />   </wsdl:message>

Page 18: Understanding Web Services

18

WSDL <wsdl:portType name="echo"> <wsdl:operation name="echoString" parameterOrder="str">  <wsdl:input message="intf:echoStringRequest"

name="echoStringRequest" />   <wsdl:output message="intf:echoStringResponse"

name="echoStringResponse" />   </wsdl:operation>  </wsdl:portType> <wsdl:binding name="echoSoapBinding" type="intf:echo">  <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="echoString">  <wsdlsoap:operation soapAction="" /> <wsdl:input name="echoStringRequest">  <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://137.189.94.136:8080/axis/echo.jws" use="encoded" />   </wsdl:input>

Page 19: Understanding Web Services

19

WSDL <wsdl:output name="echoStringResponse"> 

<wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/

namespace=http://137.189.94.136:8080/axis/echo.jws

use="encoded" />   </wsdl:output>  </wsdl:operation>  </wsdl:binding> <wsdl:service name="echoService"> <wsdl:port binding="intf:echoSoapBinding" name="echo">  <wsdlsoap:address location="http://137.189.94.136:8080/axis/echo.jws" />   </wsdl:port> 

</wsdl:service>  </wsdl:definitions>

Page 20: Understanding Web Services

20

UDDI Universal Description, Discovery, and Integration Specifications for service description and discovery Open-Standard

Raised By Ariba, IBM and Microsoft http://www.uddi.org (by Oasis)

XML-based message

Page 21: Understanding Web Services

21

Service Architecture

UDDI defines a way to publish and discover information about Web services

Page 22: Understanding Web Services

22

UDDI

• Information about the business (company name, company address ……)

• Categorization of the business and its services

• Technical information about services provided by a business (like the URL to invoke the Web Services)

White Page

Yellow Page

Green Page

Page 23: Understanding Web Services

23

Core Structures of UDDI

• Business Entity• White Pages information

• Business Services• Yellow Pages information

• Binding Templates• Green Pages information • Contains references to tModels

• tModels• Service Type Definitions• Interface specifications for a service (WSDL)

Business Entity

BusinessService

tModel

tModel

BindingTemplate

BindingTemplate

Page 24: Understanding Web Services

24

Research Challenge How to secure the Web Services

Invocation? How to ensure the reliability of the

Web Services? How to deal with the Quality of

Services?

Page 25: Understanding Web Services

25

Q&A