WEB SERVICES - آ  Web Services: riepilogo •Che cosa sono quindi in sintesi i web services:

download WEB SERVICES -  آ  Web Services: riepilogo •Che cosa sono quindi in sintesi i web services:

of 29

  • date post

    23-Mar-2020
  • Category

    Documents

  • view

    3
  • download

    0

Embed Size (px)

Transcript of WEB SERVICES - آ  Web Services: riepilogo •Che cosa sono quindi in sintesi i web services:

  • WEB SERVICES

  • Successo del Web • Negli anni passati il Web ha avuto un enorme

    successo principalmente per due motivi: – Semplicità: – Ubiquità

    • Per un fornitore di servizi è semplice raggiungere un numero molto elevato di utenti.

    • Per un utente è semplice accedere ad un servizio ovunque esso si trovi

    • Si tratta però di un sistema fortemente orientato all’interazione tra utenti e sistemi

  • Interazione fra applicazioni • L’evoluzione dell’utilizzo di Internet e del Web ha fatto

    emergere l’esigenza di interazioni fra applicazioni in diversi contesti: – Un programma di gestione aziendale deve poter

    integrare le informazioni locali con quelle messe a disposizione su Internet dai fornitori, dalle banche o dall’amministrazione pubblica

    – Un’applicazione per agenti mobiliari deve poter attingere in tempo reale a informazioni provenienti dai mercati finanziari di tutto il mondo e organizzarle in un quadro coerente

    – Il sistema di gestione di una biblioteca ha la necessità di cercare un libro sia nel catalogo locale che in quello di un sistema bibliotecario più vasto (Comune, Provincia, Università…)

  • Limiti del web • Purtroppo il modello del web non è adatto all’interazione

    fra applicazioni • Si basa su modello molto semplice:

    – L’utente, usando un browser, trasmette un URL, digitandolo direttamente oppure cliccando su un link

    – Il web server restituisce una pagina HTML che viene resa graficamente dal browser

    • In un colloquio fra applicazioni questo schema presenta due elementi critici: – Gli URL sono uno strumento troppo rudimentale per

    esprimere richieste complesse e articolate – L’HTML è in qualche modo un ibrido tra un linguaggio per

    descrivere il contenuto informativo e un linguaggio per descrivere la presentazione. Non c’è una separazione netta fra forma e contenuto.

  • Un nuovo modello • Queste considerazioni hanno portato alla definizione di

    un nuovo modello in grado di superare queste limitazioni: i web services.

    • Si è scelto un approccio di tipo evolutivo: – Continuare ad utilizzare HTTP come protocollo di

    trasporto delle informazioni, in modo da riutilizzare l’infrastruttura già esistente e conservare la semplicità del modello di interazione

    – Trovare uno strumento più adeguato per descrivere gli elementi del colloquio: la richiesta e la risposta.

    • Per quanto riguarda questo secondo aspetto la scelta è caduta su XML

  • XML e SOAP • XML è conosciuto soprattutto come linguaggio per la

    descrizione di documenti • In realtà è adatto a descrivere qualunque contenuto

    informativo, anche molto complesso e articolato • Può quindi essere utilizzato per esprimere sia le richieste

    che le risposte, in un modello di interazione come quello che abbiamo appena delineato

    • E’ stato definito un protocollo chiamato SOAP - basato su HTTP e XML - che definisce un modo semplice ed efficace per creare interazioni fra applicazioni e sistemi attraverso Internet

    • SOAP è un protocollo di invocazione remota: permette di richiedere ad un’applicazione remota di svolgere una determinata azione e di restituire dei risultati

  • 7

    Cos’è un web service?

    “Un WS è un’applicazione software identificata da un URI, le cui interfacce pubbliche e relativi binding sono definiti e descritti in XML. La sua definizione può essere trovata da altre applicazioni software. Questi ultimi possono poi interagire con il WS seguendo le direttive presenti nella definizione del servizio, usando messaggi XML trasportati da protocolli internet.”

    (“Web Services Architecture” http://www.w3c.org/TR/2002/WD-ws-arch-20021114)

  • A web service is defined as:

    a standardized way of integrating Web-based applications using XML, SOAP, WSDL and UDDI open standards over an Internet backbone: XML is used to tag the data, SOAP is used to transfer the data, WSDL is used for describing the service available, and UDDI is used for listing what services are available.

  • web services work on assumption that the functionality made available by a company will be exposed as a service.

    In middleware terms, a service is a procedure, method, or object vith a a stable, published interface that can be invoked by clients.

    The invocation, and this very important, is made by a program. Thus, requesting and executing a service involves a program calling another program.

    Web services assume that services are loosely coupled, since in general they are defined, developed and managed by different companies

  • Web services are analogous to sophisticated wrappers tha incapsulate one or more applications by providing an unique interface and a web access.

  • Introduzione

    • Interazione tra applicazioni web

    • Modello di interazione tra applicazioni basato su standard esistenti o emergenti:

    - HTTP (Hypertext Transfer Protocol) - XML (Extensible Markup Language) - SOAP (Single Object Access Protocol) - WSDL (Web Services Description Language) - UDDI (Universal Description Discovery and Integration)

  • Definizione di web services

    • Un web service è un’interfaccia che descrive un insieme di operazioni accessibili sulla rete tramite messaggi standardizzati XML.

    • Un Web service è descritto usando una notazione XML formale standard (service description).

    • La service description contiene tutte le informazioni necessarie per l’interazione con il servizio: il formato dei messaggi (relativi alle operazioni), il protocollo di trasporto e la localizzazione del servizio.

  • L’interfaccia nasconde i dettagli di implementazione del servizio (hardware, software, linguaggio di programmazione).

    Un web service corrisponde ad una specifica azione o ad un insieme di azioni.

    Può essere usato da solo o con altri web services per realizzare una transazione complessa.

  • The Web Services Model -

    Service Producer

    Service Consumer

    Service Registry

    Pu bl

    ish Bind Find

    Service Description

    Service Description

    Service

    WSDL,UDDI

    WSDL,UDDI

  • Ruoli in una architettura web services

    Service producer. E’ il proprieterio del servizio. Da un punto di vista architetturale, rappresenta il nodo che contiene il servizio.

    Service consumer E’ l’applicazione che sta cercando, chiamando o iniziando un’interazione con un servizio. Un service consumer può essere un browser o un’applicazione (es., un altro web service)

    Service register Registro che contiene le descrizioni di servizi pubblicate su richiesta dei service producer e ricercate dai service consumer.

  • Operazioni in una architettura web services

    •Publish Per essere accessibile una descrizione di un servizio deve essere pubblicata in modo che il service consumer la possa ritrovare. •Find L’operazione di find può avvenire in due fasi distinte per il consumer: a tempo di progetto del programma per ricercare la descrizione dell’interfaccia, a run time per effettuare il binding del servizio richiesto. •Bind L’interazione con un servizio ha luogo usando le informazioni di binding nella descrizione del servizio per localizzare e chiamare il servizio

  • Web Services – Come funziona?

    • Il service consumer si collega ad un registro UDDI (internet o intranet)

    • Ricerca (per categorie, per fornitore, ecc…) il servizio che gli interessa (esempio: web services che fornisca le quotazioni di mercato)

    • Trova la descrizione del servizio (funzionalità, dove collegarsi, come invocarlo)

    • Si collega al server del fornitore del servizio ed usufruisce del servizio

    • il service consumer è un’applicazione software

    I web services sono applicazioni web che forniscono servizi ad altre applicazioni web

  • Web Services – Tecnologie

    • SOAP – Simple Object Access Protocol – Protocollo per lo scambio di informazioni in un architettura distribuita e decentralizzata . E’ un protocollo di invocazione remota: permette di richiedere ad un’applicazione remota di svolgere una determinata azione e di restituire dei risultati. Basato su XML e HTTP

    • WSDL – Web Services Definition Language – Standard utilizzato per la descrizione di un web service; fornisce cosa un servizio può fare (richieste, risposte e parametri) dove risiede e come chiamarlo.Basato su XML

    • UDDI – Universal Description, Discovery and Integration – Standard utilizzato per la pubblicazione di servizi in rete

  • Web Services – SOAP

    Il richiedente fa una richiesta (SOAP request), il server ascolta su una porta, accetta la richiesta, esegue il servizio (service) ed invia il risultato al richiedente (SOAP response)

    Client Server

    SOAP request

    SOAP response

    Service

  • SOAP header

    header block

    SOAP envelop

    SOAP body

    body block

    Rappresentazione schematica di un messaggio SOAP

  • Web Services – Esempio di richiesta SOAP

    POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI"

    DIS