Top Banner
Pernici Barbara Pernici Barbara Politecnico di Milano [email protected] http://www.elet.polimi.it/people/pernici Master Universitario di II livello in Tecnologia dell'Informazione Master Universitario di II livello in Tecnologia dell'Informazione 13 novembre 2003 13 novembre 2003 ICT ICT C enter of enter of E xcellence xcellence F or or R esearch, esearch, I nnovation, nnovation, E ducation, and life-long ducation, and life-long L earning earning Politecnico di Milano Politecnico di Milano Tecnologie per e-service Tecnologie per e-service Web services Web services
58

Pernici Barbara Politecnico di Milano [email protected] Master Universitario di II livello in Tecnologia.

May 01, 2015

Download

Documents

Settimio Lanza
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Pernici BarbaraPernici BarbaraPolitecnico di Milano

[email protected]://www.elet.polimi.it/people/pernici

Master Universitario di II livello in Tecnologia dell'InformazioneMaster Universitario di II livello in Tecnologia dell'Informazione

13 novembre 200313 novembre 2003

ICT ICT CCenter of enter of EExcellence xcellence FFor or RResearch, esearch, IInnovation, nnovation, EEducation, and life-long ducation, and life-long LLearningearning

Politecnico di MilanoPolitecnico di Milano

Tecnologie per e-serviceTecnologie per e-service

Web servicesWeb services

Page 2: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

SommarioSommario

Web service Service oriented architecture SOAP UDDI WSDL

Page 3: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Virtual Enterprise: ScenarioVirtual Enterprise: Scenario

WFMS 1

WFMS 2

Browser

MessageQueuing

AnyCommunication

SOAP, WSDL,UDDI,...

HTTP,IIOP,...

Customer

Your Company

Supplier

Page 4: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ConseguenzeConseguenze

Si possono... ...dare in outsourcing „servizi“

(es. dove non si è competitivi) ...offrire „servizi“ (es. Guadagnare con funzioni e

servizi effettuate per altri) I servizi vanno da

...funzioni semplici... ...a processi di business completi, cioè funzioni

complesse

Page 5: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ContestoContesto

Introduzione SOC Service-Oriented Computing

Realizzare applicazioni distribuite collaborative inter aziendali

Servizi: “Component capable of performing a task”

(W3C) Qualcosa che ha dei parametri in ingresso ed in

uscita Realizzazione tramite architettura SOA

Page 6: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

O.K., Ma come accedere ai O.K., Ma come accedere ai servizi?servizi?

I firewalls sono ostacoli per l‘accesso ai servizi

Ampia varietà di linguaggi di programmazione, paradigmi di programmazione, ambienti, ... rendono difficile l‘orchestrazione

Serve un meccanismo di invocazione generale!

Page 7: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Web servicesWeb services

Servizi che possono essere chiamati da altri programmi in rete

Decentralizzazione dell’elaborazione (Sun, 1990)

Def: Web Service: raccolta di funzioni packaged e pubblicate in rete per essere utilizzate da altri programmi client

i dati vengono scambiati tra le applicazioni in maniera standardizzata (testuale attraverso XML)

Page 8: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

VantaggiVantaggi

interfacciamento a un web service di un partner:

non è necessario conoscere niente di quello che sta dal suo lato,

si devono esclusivamente chiedere a lui i parametri per connettersi a quel particolare web service

che serve senza preoccuparsi della piattaforma hardware, del linguaggio di programmazione o del pacchetto applicativo usato.

Page 9: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Esempio B2CEsempio B2C

Prenotazioni aeree Si vuole prenotare un viaggio con soggiorno in

albergo Situazione tradizionale

Airline.com HTTP Server

Hotel.com HTTP Server

Client

Page 10: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ProblemiProblemi

L’utente deve più volte interagire con i server e cercare di trovare la combinazione giusta di voli A/R e alberghi

Tempo perso Processo a volte lungo Interfacce web non standard Problemi di comunicazione

Page 11: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Soluzione web servicesSoluzione web services

Fornire all’utente un servizio Web Input:

Intervallo di arrivo, partenza Categoria di albergo (tipo di stanza etc. etc.)

Output Prenotazione

Booking Web server

Page 12: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Soluzione web servicesSoluzione web services

Al posto del HTTP server della compagnia aerea

Web Server Input

Data e luogo di partenza Data e luogo di arrivo

Output Schedule costi

Airline.com Web Server

Page 13: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Soluzione Web ServicesSoluzione Web Services

Al posto del HTTP server dell’hotel Web Server Input

Data di arrivo Data di partenza Tipo di stanza

Output Tipologia di stanza costi Hotel.com

Web Server

Page 14: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Soluzione Web ServicesSoluzione Web Services

Hotel.com HTTP Server

Airline.com Web Server

Booking Web server

Page 15: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Soluzione Web ServiceSoluzione Web Service

Il booking web server cerca un primo possibile schedule dialogando con il web server della compagnia aerea

In base allo schedule il web server dialoga con l’hotel per trovare la stanza

Se non esiste soluzione si cambia schedule e così via

Al client finale solo due tipi di risposta Schedule e la prenotazione Impossibile completare il servizio.

Page 16: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

VantaggiVantaggi

L’utente vede solo i risultati finali Interoperabilità

I web server dialogano usando degli standard Automazione

La comunicazione è automatica Generalità

Il server booking può dialogare con QUALSIASI web server di compagnie aeree e hotel che realizzino l’interfaccia descritta precedentemente.

Page 17: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ProblematicheProblematiche

Linguaggi di descrizione delle interfacce e del comportamento di un servizio

rivolto a chi realizza e pubblica il servizio Rivolto a chi lo cerca e utilizza;

Componenti per la memorizzazione e il reperimento di servizi

Interrogabili secondo diversi criteri Linguaggi di specifica per la conversazione tra

diversi servizi Linguaggi di specifica di composizione di servizi

a valore aggiunto partendo da servizi di base Per ogni problema sono stati proposti diversi

standard

Page 18: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Ciclo di vitaCiclo di vita

I 4 problemi indicati precedentemente rispecchiano il seguente ciclo di vita

Page 19: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Service Oriented Architecture Service Oriented Architecture (SOA)(SOA)

Page 20: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

IngredientiIngredienti

Descrizione servizi (WSDL) Archivio servizi (registry, UDDI) Meccanismi di invocazione (SOAP)

Page 21: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

WSDLWSDL

Page 22: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Come definire nuovi servizi?Come definire nuovi servizi?

Riferimenti a modelli definiti da altri (= tModels) ...ma se voglio pubblicare i miei servizi

es. Semplici funzioni utili a altri o processi di business completi che offro a altri

...senza creare uno standard!

WSDL(Web Services Description Language)

Abbiamo bisogno di un linguaggio per secificare i servizie descrivere come gli altri possono collegarsi a esso!

Page 23: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

WSDL IngredientsWSDL Ingredients

Message

OperationPort Type

Port

Binding

Service

Input & Output

Supports

Formats &Protocols

How to in

voke

How to encode

Implements

Provides

Page 24: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

o3o3

o4o4

pt

Port Types: Graphical Port Types: Graphical RepresentationRepresentation

Request

-Response

One-Way

Notification

o1o1o1

o2o2o2o2

-Response

Solicit

Page 25: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Rendere disponibili i serviziRendere disponibili i servizi

Message

OperationPort Type

Input & Output

Supports

Binding

Formats &Protocols

How to in

voke

How to encode

Port Service

Implements

Provides

HowTo Do

BusinessWith Me

(WidelyAccepted)AbstractService

WhatBusiness

You Can DoWith Me

1.

2.

3.

Page 26: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

WSDLWSDL

WSDL propone una struttura in cui: l’entità types permette di definire un tipo di dato

utilizzato nel resto della descrizione; l’entità message i messaggi trasmessi; l’entità portType definisce un servizio in termini

di operazioni (operation) messe a disposizione; l’entità port ridefinisce le operation di una

portType legandole ad una particolare tecnologia di comunicazione;

l’entità service definisce il Web Service realmente fruibile come insieme di port.

Page 27: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

WSDL - messageWSDL - message

<message name="CalcolaICIRequest">

<part name="sup" type="float" />

<part name="tipo" type="string" />

</message>

<message name="CalcolaICIResponse">

<part name="risultato" type="float" />

</message>

Page 28: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

WSDL portType e operationWSDL portType e operation

<portType name="pRagioneria">

<operation name="CalcolaICI">

<input message="CalcolaICIRequest" />

<output message="CalcolaICIResponse" />

</operation>

</portType>

Page 29: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

WSDL - bindingWSDL - binding

<!-- estratto dal file WSDL del servizio Ragioneria--><binding name="RagioneriaHttpGet" type="pRagioneria"><http:binding verb="GET" /> <operation name="CalcolaICI">

<http:operation location="/CalcolaICI" /><input> <http:urlEncoded /></input><output> <mime:mimeXml part="risultato" /></output>

</operation> </binding><binding name="RagioneriaHttpPost" type="pRagioneria"><http:binding verb="POST" /> <operation name="CalcolaICI">

<http:operation location="/CalcolaICI" /><input> <mime:content type="application/x-www-

form- urlencoded" /></input><output> <mime:mimeXml part="risultato" /></output>

</operation></binding>

Page 30: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Rendere disponibili i serviziRendere disponibili i servizi

Message

OperationPort Type

Input & Output

Supports

Binding

Formats &Protocols

How to in

voke

How to encode

Port Service

Implements

Provides

HowTo Do

BusinessWith Me

(WidelyAccepted)AbstractService

WhatBusiness

You Can DoWith Me

1.

2.

3.

Page 31: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Tipi di documenti WSDLTipi di documenti WSDL

Page 32: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Struttura WSDLStruttura WSDL

Page 33: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

UDDIUDDI

Page 34: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Repositories e registriesRepositories e registries

systems storing and managing e-Service specifications e-service providers

Alcune iniziative UDDI

Page 35: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

UDDIUDDI

accesso alla descrizione di servizi, di tipologie di servizi e di fornitori di servizi secondo una struttura dati ben definita;

astrazione dalla tecnologia utilizzata nella realizzazione del servizio;

la ricerca di un servizio secondo differenti chiavi di ricerca (tassonomie)

Ricerca sia da utente che da programma Repository disponibile globalmente

UDDI(Universal Description, Discovery &

Integration)

Page 36: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

How UDDI WorksHow UDDI Works

UDDI

Marketplaces, search engines, and business apps query the registry to discover services at other companies

3.

Service TypeRegistrations

SW companies, standards bodies, and programmers populate the registry withdescriptions of different types of services

1.

BusinessRegistrations

Business uses this data to facilitate easier integration with each other over the Web

4.Businesses populate the registry withdescriptions of the services they support

2.

Page 37: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Registry DataRegistry Data

Businesses register public informationabout themselves

WhitePages

YellowPages

GreenPages

Service TypeRegistrations

Who am I?

What do Ioffer?

How to dobusiness with me

• Standards bodies, Programmers, Businesses register information about their Service Types(„tModels“)

Page 38: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Standard: UDDIStandard: UDDI

metodologia di ricerca possiede una forte analogia con quella offerta dagli elenchi telefonici

Struttura del registro pagine bianche Nome azienda Descrizione testuale del servizio

Lista multi lingua del servizio Dati di contatto

Nome, numero di telefono, web site … Identificatori conosciuti

Page 39: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Standard: UDDIStandard: UDDI

Registro pagine gialle Categorie di Business

3 tassonomie standard nella versione 1.0 Industria: Prodotti/servizi Localizazione geografica

Coppie nome, valore per associazione con le pagine bianche

possibile eseguire ricerche basate su: l’ambito in cui si colloca il servizio; la localizzazione geografica dei fornitori; l’ambito in cui si colloca il fornitore del servizio.

Page 40: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Standard: UDDIStandard: UDDI

Pagine verdi Insieme di informazioni che le aziende usano per

descrivere come sia possibile fare e-commerce insieme Create sulla base delle informazioni legate alla tecnologia Possibile trovare informazioni legate alla tipologia del

servizio secondo criteri legati alla tipologia di invocazione, ai protocolli utilizzati e alle caratteristiche tecniche del servizio. Modello nidificato

Processi di business Descrizione del servizio Informazioni sulla comunicazione

I Servizi possono essere organizzati come un albero

Page 41: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

tModeltModel

Page 42: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Example of a RegistrationExample of a Registration

businessEntityTB993… Frank‘s Flowershopwww.Frank-Flower.com“Flowers for the world!“contactsbusinessServicesidentifierBagcategoryBag

+49-7031-163998Boeblingen, [email protected]

Frank Leymann

businessServiceKeyNameDescriptionBindingTemplates

businessService

23T701e54683nf…Online catalog“Website where you can …BindingTemplates

BindingTemplate5E2D412E5-44EE-…http://www.flowers.de/flowerCattModelInstanceDetails

tModelInstanceInfo

4453D6FC-223C-3ED0…

http://www.rosetta.net/catalogPIP

keyedReference

DFE-2B…DUNS45231

keyedReference

EE123…NAICS02417

tModelKeys

Page 43: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

IBM

Ariba

Microsoftother

other

Registry OperationRegistry Operation

Peer nodes (websites) Companies register

with any node Registrations replicated

on a daily basis Complete set of

“registered” recordsavailable at all nodes

Common set ofSOAP APIs supportedby all nodes

Compliance enforced bybusiness contract UDDI.org

queries

Page 44: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Architettura generale UDDIArchitettura generale UDDI

Page 45: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

SOAPSOAP

Page 46: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

SOAP: Simple Object Access SOAP: Simple Object Access ProtocolProtocol

Fornire un (Object) RPC su Internet

Interoperabilità tra un ampio numero di programi su un ampio numero di piattaforme Differenti linguaggi e paradigmi di

programmazione, e di ambienti operativi Rendere i programmi esistenti disponibili a un numero

elevato di utenti Utilizzare ove possibile la tecnologia esistente

Uso di HTTP e XML („XML as HTTP payload“) HTTP come RPC transport XML come RPC encoding scheme

Nessuna API SOAP speciale, nessun ORB SOAP

Page 47: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

HTTP POST: Invoking CodeHTTP POST: Invoking Code

Client Server

POST /myFunctions/reverse HTTP/1.1Host: www.Frank-Leymann.comContent-Type: text/plainContent-Length: 12 

Hello, World

200 OKContent-Type: text/plainContent-Length: 12 dlroW ,olleH

RunProgram

A simpleRPC

Page 48: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

Tunneling The FirewallTunneling The Firewall

Client

RMI

IIOP

HTTP

Page 49: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ApprofondimentiApprofondimenti

Page 50: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ExampleExample

<?xml version="1.0"?><definitions name="StockQuote" xmlns:tns=http://leymann.com/stockquote.wsdlxmlns:xsd="http://leymann.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="GetLastTradePriceRequest"> <part name="tickerSymbol" element="xsd:string"/> <part name="time" element="xsd:timeInstant"/> </message> <message name="GetLastTradePriceResponse"> <part name="result" type="xsd:float"/> </message> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="GetLastTradePriceRequest"/> <output message="GetLastTradePriceResponse"/> </operation> </portType> ...

Page 51: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ExampleExample

<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">

<soap:binding style="rpc"

transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"><soap:operation soapAction="http://leymann.com/GetLastTradePrice"/><input><soap:body use="encoded" namespace="http://leymann.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body use="encoded" namespace="http://leymann.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output> ...

Page 52: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

ExampleExample

<service name="StockQuoteService"><documentation>My first service</documentation><port name="StockQuotePort"

binding="tns:StockQuoteSoapBinding"><soap:address

location="http://leymann.com/stockquote"/></port></service>

Page 53: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

SOAP Request/Response StructureSOAP Request/Response Structure

Object ID(Which object?)

Interface ID(Which interface?)

Method ID(Which method?)

Extension Headers(What has been forgotten

to be build into the protocol?)

Parameter(In and inout parms)

Request

Status Code(Did it work?)

Response

Extension Headers(What has been forgotten

to be build into the protocol?)

Parameter(Out and inout parms)E

nd

poi

nt

Ref

eren

ce

Page 54: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

SOAP Endpoint ReferenceSOAP Endpoint Reference

POST /StockServer HTTP/1.1Host: 209.111.234.34Content-Type: text/xml; charset=„utf-8“Content-Length: nnnn<SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI">

... 

/StockServer/getLastTradePrice

Object Endpoint ID

80

TCP Port No

209.111.234.34

IP Host Address

Page 55: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

A Simple SOAP RPCA Simple SOAP RPC

POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8„Content-Length: nnnn

<SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <tickerSymbol>DIS</ tickerSymbol > </m:GetLastTradePrice> </SOAP-ENV:Body></SOAP-ENV:Envelope>

MethodName

Input Parameter

Page 56: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

A Simple SOAP ResponseA Simple SOAP Response

HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8„Content-Length: nnnn 

<SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>

StandardSuffix

Page 57: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

SOAP HeaderSOAP Header

POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml; charset="utf-8„Content-Length: nnnnSOAPAction: „Some-URI“

 <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:Transaction xmlns:t="some-URI, SOAP-ENV:mustUnderstand="1"> 5 </t:Transaction> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DEF</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body></SOAP-ENV:Envelope>

ProtocolExtensions

Page 58: Pernici Barbara Politecnico di Milano barbara.pernici@polimi.it  Master Universitario di II livello in Tecnologia.

BibliografiaBibliografia

Conallen, Building Web Applications with UML, Addison Wesley Professional; 2nd edition (October, 2002, vers. Ital. Nov. 2003)

P. Plebani, Web service: tecnologie e piattaforme. Rapporto Fondazione Tronchetti Provera, 2002