La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Web Services.

Presentazioni simili


Presentazione sul tema: "Web Services."— Transcript della presentazione:

1 Web Services

2 Definizione di Web Service
“Un servizio web è un'interfaccia che descrive una collezione di operazioni, accessibili attraverso una rete mediante messaggistica XML [WSCA10].” “Per Web Service si intende un servizio riutilizzabile che può essere richiamato attraverso tecnologie Internet (come HTTP, FTP o IMAP) e che dialoga in XML.”

3 Vantaggi dei Web Services
accoppiamento debole (“loosely coupled”) disaccoppiamento tra client e server non servono tecnologie specifiche di interfaccia con la rete (e.g. CORBA, DCOM) sul lato client o server “platform neutral” interoperabilità tra client e server indipendente dalle piattaforme interoperabili attraverso Internet basati su SOAP, HTTP e XML descrivibili mediante XML WSDL

4 Utilità I Web Services possono essere utilizzati: Es:
nelle applicazioni B2B per interfacciare diversi partner commerciali, nelle applicazioni B2C per fornire servizi all'utente finale. Es: un servizio che fornisce le quotazioni di borsa un servizio di traduzione da una lingua ad un'altra

5 Struttura dei Web Services
Si possono distinguere varie componenti: (Universal Definition and Discovery Interface) registro che permette la pubblicazione e la successiva ricerca dei servizi. (Web Services Definition Language) strumento per la definizione dei servizi, definiscono le interfacce e le modalità di colloquio. (Simple Object Access Protocol) protocollo a basso livello per la comunicazione di messaggi XML Protocolli di trasporto nativi di Internet (http, ftp, altro)

6 Tipologie di interazione con i servizi
Le tipologie di interazione che possono essere descritte da WSDL sono molteplici: ONE-WAY – il client invia semplicemente al servizio un messaggio, è una sorta di notifica. REQUEST-RESPONSE – a una richiesta del client il server fornisce una risposta. SOLICIT-RESPONSE – il servizio esegue una notifica al client e quest’ultimo gli invia un messaggio di risposta. NOTIFICATION – prevede l’invio di messaggi dal servizio al client senza risposta da parte di quest’ultimo.

7 WSDL: Web Services Description Language
WSDL è un formato XML per la descrizione di servizi di rete. Le specifiche di WSDL definiscono la struttura di un documento XML che contiene: le definizioni dei messaggi di input/output di un determinato servizio le relazioni tra questi, ovvero le operazioni che si possono compiere il collegamento fisico ad un determinato “end-point” che costituisce il punto di fornitura fisico del servizio web.

8 Esempio di WSDL (1) <wsdl:definitions targetNamespace=" <!-- WSDL created by Apache Axis version: 1.2beta Built on Jun 23, 2004 (05:03:42 CEST) --> <wsdl:message name="ciaoRequest"> </wsdl:message> <wsdl:message name="ciaoResponse"> <wsdl:part name="ciaoReturn" type="xsd:string"/> <wsdl:portType name="CiaoATutti"> <wsdl:operation name="ciao"> <wsdl:input message="impl:ciaoRequest" name="ciaoRequest"/> <wsdl:output message="impl:ciaoResponse" name="ciaoResponse"/> </wsdl:operation> </wsdl:portType> contiene la struttura dei messaggi di scambio del servizio Definisce le operazioni esposte, per ogni funzione è definito il messaggio di input ed output

9 Esempio di WSDL (2) contiene il collegamento tra il portType e l’end-point fisico in termini di protocollo di comunicazione, ad esempio SOAP <wsdl:binding name=“CiaoMondoSoapBinding" type="impl:CiaoMondo"> <wsdlsoap:binding style="rpc" transport=" <wsdl:operation name="ciao"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="ciaoRequest"> <wsdlsoap:body encodingStyle=" namespace=" use="encoded"/> </wsdl:input> <wsdl:output name="ciaoResponse"> <wsdlsoap:body encodingStyle=" namespace=" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CiaoMondoService"> <wsdl:port binding="impl:CiaoMondoSoapBinding" name="CiaoMondo"> <wsdlsoap:address location=" </wsdl:port> </wsdl:service> </wsdl:definitions> contiene la definizione del servizio in termini della sua descrizione e della posizione fisica

10 SOAP: Simple Object Access Protocol
SOAP è un protocollo leggero per lo scambio di informazioni in un ambiente distribuito e decentrato. Le specifiche di SOAP descrivono principalmente la struttura dei documenti XML utilizzati per lo scambio di informazioni. Le specifiche SOAP, inizialmente proposte da Microsoft, sono state condivise da IBM e sottoposte al W3C per la standardizzazione.

11 Esempio di risposta SOAP
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv = xmlns:xsd=" xmlns:xsi=" <soapenv:Body> <ciaoResponse soapenv:encodingStyle=" <ciaoReturn xsi:type="xsd:string"> Ciao a tutti </ciaoReturn> </ciaoResponse> </soapenv:Body> </soapenv:Envelope> SOAP:Envelope, è la “busta” che contiene tutte le informazioni. SOAP:Body – contiene il messaggio vero e proprio espresso in qualche tipo di codifica, per esempio l’encoding SOAP

12 Cosa è necessario… Per implementare un webservice ed utilizzarlo sono necessari i seguenti componenti: Lato server: Application Web Server – Apache Tomcat SOAP Engine – Apache Axis Lato Client: Browser JAX-RPC Client

13 Apache Axis Axis è un SOAP engine
E’ un framework con cui costruire dei processori SOAP sia lato server che client La versione 1.1 è una stabile ed affidabile base su cui implementare dei Java Web Services Può essere usato come server stand-alone o come plug-in per servlet engine

14 Apache Axis Le specifiche JAX-RPC sono la base su cui sono sviluppati i client che usano Axis L’endpoint è un URL che punta ad un server che processa messaggi SOAP Ci sono due modi per usare JAX-RPC per collegarsi ad un endpoint SOAP: Usare java.xml per comporre a mano il messaggio SOAP Usare Axis per creare una classe wrapper per il web service

15 Schema Globale

16 Un esempio di WSDL nome del servizio punto di contatto formato input
formato output nome della funzione specifica della funzione

17 Un esempio di messaggio
HTTP Header richiesta di un servizio via HTTP POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: " <env:Envelope xmlns:env=" > <env:Body> <m:GetLastTradePrice env:encodingStyle=" xmlns:m=" <symbol>DIS</symbol> </m:GetLastTradePrice> </env:Body> </env:Envelope> SOAP Envelope SOAP Body nome del servizio parametri in input

18 Un esempio di messaggio
HTTP Header risposta da un servizio via HTTP SOAP Envelope HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <env:Envelope xmlns:env=" > <env:Body> <m:GetLastTradePriceResponse env:encodingStyle=" xmlns:m=" <Price>34.5</Price> </m:GetLastTradePriceResponse> </env:Body> </env:Envelope> SOAP Body risposta del servizio output del servizio


Scaricare ppt "Web Services."

Presentazioni simili


Annunci Google