Web Services.

Slides:



Advertisements
Presentazioni simili
Informazioni di base sul funzionamento
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Web Services Mario Arrigoni Neri.
Architetture dei sistemi distribuiti Prof
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
ASP .NET & Web Service: Introduzione
Consumare Web Service Andrea Saltarello
Sistema di gestione flussi documentali
SOAP (Simple Object Access Protocol)
Java Enterprise Edition (JEE)
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
Università degli Studi di Modena e Reggio Emilia
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Usare Apache Axis.
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
REST Il paradigma REST è basato su un protocollo di comunicazione stateless, client-server, chacheable e scalabile, tipicamente HTTP (ma non necessariamente,
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Ambiente di Invocazione Dinamica dei Servizi Enrico Mussi - WP2.
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
1 Il servizio di prestito e fornitura documenti ILL-SBN una visione di insieme caratteristiche della procedura illustrazione delle funzionalità
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
L'innovazione Tecnologica Per Il Federalismo Efficiente Roma 30 Giugno 2005 Sistema Pubblico di Cooperazione Applicativa.
SOA…overview La parola d’ordine delle situazioni di sviluppo applicativo odierne è integrazione. Le applicazioni sviluppate si trovano a condividere flussi.
Integrazione Software via Web-Services
Carotenuto Raffaele Distante Federico Picaro Luigi
Open Archives Initiative e Metadata harvesting ICCU Seminario nazionale sui Metadati Roma 3 aprile 2001 Dr. Valdo Pasqui Università di Firenze.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
Introduzione ad ASP.net
Struts. Framework open source per lo sviluppo di applicazioni web su piattaforma J2EE. Progetto inizialmente sviluppato come sotto-progetto di Apache.
Architettura Java/J2EE
Standard per il B2B a confronto: una rassegna Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Informatica.
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
MODELLI DI RIFERIMENTO
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Corso di Web Services A A Domenico Rosaci 1. Introduzione
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Web Information Systems Prof
Internet: una panoramica
Lezione 8.
Distributed System ( )7 TCP/IP four-layer model.
Università degli Studi di Bologna FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica I web services come soluzione per l’interoperabilità.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
EDIFACT Framework Architecture Acceleratore di soluzioni basate su EDIFACT
Java Enterprise Edition
Creato da Riccardo Nuzzone
Lo SNAP Agreement Protocol Il nucleo dell’architettura di gestione delle risorse è rappresentato da un’interazione tipo client-server utilizzata per negoziare.
Cloud SIA V anno.
Laboratorio di Servizi Web - servlet - Ardissono 1 Java Servlet API package javax.servlet: include classi e interfacce di gestione di servlet indipendenti.
1 Storia di Internet Internet non è un’invenzione degli anni ’90….. Nata dagli studi di un’agenzia detta ARPA (Advanced Research Projects Agency) Internet.
La posta elettronica o è un servizio Internet grazie al quale ogni utente può inviare o ricevere dei messaggi. La sua nascita risale al 1972,
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 11 Marzo 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Servizi Internet Claudia Raibulet
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
1 RE.VE.N.GE CORBA REliver and VErsatile News delivery support for aGEncies. Sistema per la creazione di notizie e la loro trasmissione sul sistema di.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Eprogram informatica V anno.
Architetture software
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Competenze Informatiche Avanzate
Transcript della presentazione:

Web Services

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.”

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

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

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)

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.

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.

Esempio di WSDL (1) <wsdl:definitions targetNamespace="http://localhost:8080/axis/CiaoATutti.jws"> <!-- 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

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="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="ciao"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="ciaoRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded"/> </wsdl:input> <wsdl:output name="ciaoResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/CiaoMondo.jws" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CiaoMondoService"> <wsdl:port binding="impl:CiaoMondoSoapBinding" name="CiaoMondo"> <wsdlsoap:address location="http://localhost:8080/axis/CiaoMondo.jws"/> </wsdl:port> </wsdl:service> </wsdl:definitions> contiene la definizione del servizio in termini della sua descrizione e della posizione fisica

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.

Esempio di risposta SOAP <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv = http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ciaoResponse soapenv:encodingStyle="http://... <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

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

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

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

Schema Globale

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

Un esempio di messaggio HTTP Header richiesta di un servizio via HTTP POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "http://example.org/2001/06/quotes" <env:Envelope xmlns:env="http://www.w3.org/2001/06/soap-envelope" > <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> SOAP Envelope SOAP Body nome del servizio parametri in input

Un esempio di messaggio HTTP Header risposta da un servizio via HTTP SOAP Envelope HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <env:Envelope xmlns:env="http://www.w3.org/2001/06/soap-envelope" > <env:Body> <m:GetLastTradePriceResponse env:encodingStyle="http://www.w3.org/2001/06/soap-encoding" xmlns:m="http://example.org/2001/06/quotes"> <Price>34.5</Price> </m:GetLastTradePriceResponse> </env:Body> </env:Envelope> SOAP Body risposta del servizio output del servizio