Web Services Introduzione, esempio di utilizzo



Похожие документы
Web Services. Introduzione, stato dell'arte e temi di ricerca. Dott. Marco Bianchi 10 marzo 2004

Introduzione ai Web Services Alberto Polzonetti

1 Vincenzo de Stefano SAP e Servizi Web

Web Service Architecture

Presentazione di Cedac Software

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

Interoperabilità e cooperazione applicativa tra sistemi informativi

Composizione e Coreografia di Web Services

Introduzione al Semantic Web

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A

Web Services Security

Ministero del Lavoro e delle Politiche Sociali

POR Calabria FSE 2007/2013 Asse II Occupabilità Obiettivo operativo D1

Seminario di Sistemi Distribuiti RPC su SOAP

ESERCITAZIONE Semplice creazione di un sito Internet

Introduzione a Service Oriented Architecture e Web Service

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

Architetture Informatiche. Dal Mainframe al Personal Computer

Reti di Calcolatori. Il Livello delle Applicazioni

Un introduzione ai Web service

Corso di Informatica Modulo T3 B2 - Database in rete

Implementazione di MVC. Gabriele Pellegrinetti

Architetture Informatiche. Dal Mainframe al Personal Computer

Applicazioni web centrati sui dati (Data-centric web applications)

BPEL: Business Process Execution Language

Integration Software S.r.l.

Siti web centrati sui dati (Data-centric web applications)

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

B.P.S. Business Process Server ALLEGATO C10

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Lezione 1 Introduzione

Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata

Dal protocollo IP ai livelli superiori

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Reti e Internet: introduzione

Lo scenario: la definizione di Internet

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa

Comunicazione nel tempo

(Service o Oriented Architecture)

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Distributed Object Computing

sito web sito Internet

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Apprendimento collaborativo attraverso Wiki Wiki Web e Semantic Web

Reti di Calcolatori: una LAN

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Il Web-Service SDMX dell ISTAT

Simple & Efficient.

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

ESEMPI INTEGRAZIONE PRODOTTI

DFP.NET Dispositivo Fondi Pensione. DFP.NET Dispositivo Fondi Pensione Maurizio Noce

Corso di Applicazioni Telematiche

Introduzione alle applicazioni di rete

LE RETI: STRUMENTO AZIENDALE

Reti commutate. Reti commutate. Reti commutate. Reti commutate. Reti e Web

Knowledge Management

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Nuovi strumenti Microsoft EASI per la Cooperazione Applicativa ed il Sistema Pubblico di Connettività

Il funzionamento delle reti

fornitore di servizi utente all interazione tra utenti e sistemi

Iniziare con Internet Explorer. dott. Andrea Mazzini

Rappresentazione della Conoscenza. Lezione 10. Rappresentazione della conoscenza, D. Nardi, 2004, Lezione 10 0

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

1. Introduzione agli ERP e a SAP

Reti di Telecomunicazione Lezione 6

Costruire il futuro il valore delle scelte tecnologiche

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

Protocolli applicativi: FTP

TCP/IP: INDIRIZZI IP SIMBOLICI

01KTF CV. Architetture distribuite per i sistemi infomativi aziendali. Presentazione del corso

Protocolli e architetture per WIS

Framework. Impianti Informatici. Web application - tecnologie

Creare un Ipertesto. 1

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket.

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Giornale di Cassa e regolarizzazione dei sospesi

Modelli per la descrizione di protocolli

Транскрипт:

Web s Introduzione, esempio di utilizzo e stato dell arte Dott. Marco Bianchi Agenda Web s: Introduzione Cosa sono A cosa servono Perché sono importanti Tecnologie fondamentali Esempio pratico Stato dell arte Web s oggi Web s domani 1

Web s Introduzione Introduzione All interno All interno di di un un azienda azienda è è necessario necessario gestire gestire diversi diversi tipi tipi di di informazioni informazioni I sistemi informatici ne agevolano la gestione Fonte: http://www.microsoft.com/net/basics/webservices_flash/launch.html 2

Il problema Cosa Cosa accade accade quando quando si si vogliono vogliono mettere mettere in in comunicazione comunicazione sistemi sistemi diversi? diversi? Integrazioni Integrazioni personalizzate personalizzate sono sono costose, costose, time-consuming time-consuming e e fragili. fragili. La risposta Cosa Cosa sarebbe sarebbe accaduto accaduto se se ci ci fosse fosse stato stato un un modo modo standard standard e e far far interagire interagire i i sistemi sistemi software? software? Questo Questo sono sono i i Web Web 3

Aree di applicazione Enterprise Application Integration (EAI) Business-to-Business (B2B) Business-to-Customer (B2C) GoogleSearch( IASI ) Customer Return search results Internet Business Internet visto dagli utenti 4

Internet visto dalle componenti SW Defqweg3 vnncvbwe e346n2kv 2sdb3vds2 df3uy4e4v bjsd,gfqwe g3vnncvbn M7ùà+ù7 2,kxmr93k vp 2kfòv,r Bfj4iv829jc vnkm,ncxv0 erjjolijxlkjlj Defqweg3 vnncvbwe e346n2kv J3jfm4ò34 5ml2òvèò7l 8nbheèc-2l s2lbe5g3 er54ubcm bv3avdhj? Come migliorare la situazione? Nota Riassuntiva E necessario: 1) Linguaggio per la descrizione dei Servizi 2) Protocollo di comunicazione 3) Standard per la registrazione 1 2 Descrizione Funzionalità Descrizione Funzionalità Registri Descrizione Funzionalità Mumble mumble 5

Web s e relativi standard Web s (WS): insieme di funzionalità che applicazioni e servizi remoti rendono disponibili via Internet. I WS sono descritti in XML utilizzando il Web s Definition Language (WSDL) I WS sono registrati in appositi registri: Universal Description, Discovery and Integration (UDDI), ebxml I WS comunicano utilizzando Simple Object Access Protocol (SOAP) Perchè XML? I Web s si basano su XML perché: è uno standard aperto indipendente da: piattaforme hardware sistemi operativi linguaggi di programmazione XML garantisce: Ricchezza espressiva Estendibilità Portabilità Facilità di comprensione XML: Extensible Markup Language 6

Che cos è SOAP? Simple Simple Object Object Access Access Protocol Protocol A A lightweight lightweight and and simple simple XML-based XML-based protocol protocol to to allow allow the the exchange exchange of of structured structured and and typed typed information information across across the the Web Web Fonte: Definizione SOAP - http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000523 Formato dei messaggi SOAP Un Un elemento elemento radice, radice, <envelope>, <envelope>, obbligatorio. obbligatorio. Il Il namespace namespace di di SOAP SOAP viene viene dichiarato dichiarato all interno all interno di di questo questo elemento. elemento. Un Un elemento elemento <header> <header> opzionale. opzionale. Il Il suo suo scopo scopo è è quello quello di di trasportare trasportare informazioni informazioni non non facenti facenti parte parte del del messaggio, messaggio, destinate destinate agli agli attori attori che che il il messaggio messaggio attraverserà attraverserà per per arrivare arrivare al al suo suo destinatario destinatario finale. finale. Un Un elemento elemento <body> <body> obbligatorio. obbligatorio. Questo Questo elemento elemento contiene contiene il il messaggio messaggio vero vero e e proprio. proprio. 7

Che cos è WSDL? WSDL: Web s Description Language Permette di descrivere in XML l interfaccia di un Web Essenzialmente, un file WSDL descrive: Cosa fa un servizio Come vi si accede Dove è localizzato Livelli di descrizione in WSDL Descrizione astratta: Definizione dell interfaccia Descrizione concreta: Definizione dell endpoint Fonte: http://www-106.ibm.com/developerworks/library/ws-wsdl/ 8

Cos è UDDI? Problema Problema del del fornitore fornitoredi di servizio: servizio: Come Come pubblicizzare pubblicizzareil il Web Web?? Problema Problema del del fruitore: fruitore: Come Come trovare trovarei i Web Web interessanti? interessanti? 1 Pubblicazione 3 Utilizzo 2 Ricerca Fornitore Contenuto di un registro UDDI UDDI: Universal Description, Discovery and Integration Tre principali categorie di informazioni: Pagine bianche: Nome azienda, indirizzo, contatti, URL sito web, ecc. Pagine gialle: Tipo di azienda, prodotti, categorizzazione in tassonomie geografiche, industriali, ecc. Pagine verdi: Informazioni tecniche sul come interagire con il WS (WSDL, documentazione, ecc.) Fonte: UDDI Technical White Paper - http://www.uddi.org/pubs/iru_uddi_technical_white_paper.pdf 9

Il modello Web s Registry Description Find WSDL, UDDI Publish WSDL, UDDI Requestor Bind Provider Description Fonte: Web s Conceptual Architecture (WSCA 1.0) IBM 2001 Definizione di Web A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. [W3C Web s Glossary - 11 February 2004] Fonte: http://www.w3.org/tr/2004/note-ws-gloss-20040211/ 10

Web s Esempio di utilizzo Realizzazione di Web (1/2) Passo 1 Il fornitore crea un servizio Un esempio reale Il motore di ricerca Google ha implementato un WS che permette a tutte le applicazioni di: Eseguire ricerche su Internet utilizzando la banca dati di Google; Controllare lo spelling dei vocaboli sfruttando il vocabolario di Google; Utilizzare la cache di Google. 11

Realizzazione di Web (2/2) Passo 2 Il fornitore pubblica il servizio su un registro per WS Un esempio reale Il motore di ricerca Google ha sponsorizzato il suo WS: Pubblicando il WS nel repository XMethods (http://www.xmethods.com/): UDDI v2, WS-Inspection, RSS, SOAP, DISCO; Realizzando un sito dedicato per la registrazione, documentazione, download di apposite API Java, ecc. (http://www.google.com/apis/) Utilizzo di Web (1/3) Passo 1 Il client cerca e trova attraverso un registro il servizio desiderato Un esempio reale Il client può verificare per mezzo di diversi registri se la società Google offre qualche tipo di servizio (http://www.soapclient.com/uddisearch.html); 12

Utilizzo di Web (2/3) Passo 2 Il client scarica la descrizione del servizio e scrive il codice per utilizzarlo Un esempio reale Il client scarica il file WSDL Il client scrive il codice per inviare e ricevere messaggi SOAP in accordo con quanto specificato nel file WSDL Nota: nel caso di Google sono disponibili anche delle API Java per l utilizzo del servizio. Utilizzo di Web s (3/3) Passo 3 A regime, il servizio viene utilizzato dal client nel suo sistema informatico Un esempio reale Il client può considerare le banche dati di Google come se fossero appartenenti al suo sistema informatico. 13

Dimostrazione Esecuzione di un client Java: 1. Crea un messaggio SOAP contenente una query di ricerca da inviare a Google; 2. Invia il messaggio SOAP; 3. Riceve la risposta SOAP; 4. Memorizza la risposta SOAP in un file; 5. Esegue una trasformazione XSL sui risultati; 6. Memorizza la trasformazione in un altro file; Web s Stato dell arte 14

Alcuni dati sui WS nelle applicazioni d impresa Norberto Patrignani, analista di Meta Group: il 70% delle grandi aziende internazionali ed europee ha già cominciato a lavorare sui Web services all'interno della propria rete grandi istituti bancari impiegano Web services per creare bus d'interscambio dei dati le prime 1.000 aziende usano i Web services per l integrazione: all'interno di piattaforme omogenee Microsoft.Net 34% J2EE 19% tra piattaforme differenti Microsoft-J2EE 18%; SAP-Java, 13%; SAP-Microsoft 11%. Fonte: ComputerWorld Italia - http://www.cwi.it/ - "Standard ancora parziali, ma significativi i vantaggi - 6/11/2003 Evoluzione dei Web s (1) Adoption Today Point-to-Point Integration Tactical Time Fonte: Web s Journal November 2003 15

The Conceptual Web s Stack (2001) WSFL SERVICE FLOW UDDI SERVICE DISCOVERY UDDI WSDL SOAP HTTP, FTP, E-mail, ecc SERVICE PUBLICATION SERVICE DESCRIPTION XML-BASED MESSAGING NETWORK SECURITY MANAGEMENT QUALITY OF SERVICES = TECNOLOGIE = TECNOLOGIE UTILIZZATE CONSOLIDATE Fonte: Web s Conceptual Architecture (WSCA 1.0) IBM 2001 Modalità di interazione con Web s Web supportano vari stili di interazione, tra cui: RPC (Remote Procedure Call) emulation Asynchronous messaging One-way messaging Broadcast Publish/subscribe Fonte: Understanding Web s E. Newcomer - Addison Wesley 16

Interazione RPC-Oriented Requestor Provider Order Request Order Response Application Programs or Stored Procedures Database Web Interface Fonte: Understanding Web s E. Newcomer - Addison Wesley Interazione Document-oriented Requestor Purchase Order Receive Provider Business Process Flow Check Database Ack Order Response Ship Send Web Interface Fonte: Understanding Web s E. Newcomer - Addison Wesley 17

Evoluzione dei Web s (2) Adoption Today Point-to-Point Integration Enterprise Middleware B2B Integration Security Process flow Transactions Messagging Tactical Strategic Time Fonte: Web s Journal November 2003 Modalità di composizione Web orchestration VS. Web choreography Web Web process flow Web collaboration Web Web Web 18

The Conceptual Web s Stack (2003) DISCOVERY CONTRACTS BUSINESS PROCESS/WORKFLOW TRANSACTIONS CHOREOGRAPHY CONVERSATIONS NON-FUNCTIONAL DESCRIPTION SERVICE DESCRIPTION XML-BASED MESSAGING NETWORK SECURITY MANAGEMENT QUALITY OF SERVICES Fonte: Computer IEEE October 2003 Mappa tecnologica DISCOVERY UDDI ebxml registries CONTRACTS ebxml CPA BUSINESS PROCESS /WORKFLOW BPEL4WS BPML DAML-S service model BPML TRANSACTIONS WS-Transaction BTP BPT CHOREOGRAPHY CONVERSATIONS NON-FUNCTIONAL DESCRIPTION SERVICE DESCRIPTION WS-Coordination CS-WS WSCL WSEL WSDL WSCI DAML-S service model DAML-S service profile DAML-S service grounding ebxml BPSS ebxml CPP XML-BASED MESSAGING SOAP ebxml messagging NETWORK HTTP, FTP, SMTP and others WSDL-based Semantic-based ebxml-based Fonte: Computer IEEE October 2003 19

Proposte di standard per orchestration Web s Coreography Interface (WSCI) Gruppo di lavoro del W3C fondato nel gennaio 2003 Presidenza: Oracle ed Enigmatic Primo meeting: 13 marzo 2003 Conta 43 membri tra i quali BEA, Cisco, CA, EDS, HP, Novell, SAP e Sun Business Process Execution Language For Web s (BPEL4WS) Comitato tecnico di OASIS creato nell aprile 2003 Presidenza: IBM e Microsoft Primo meeting: 16 maggio 2003 Annovera tra i suoi membri BEA, EDS, NEC, Novell, Oracle, SAP, Sun, Sybase Web s Composite Application Framework (WS-CAF) Linee guida proposta tra gli altri da Iona, Sun, Oracle, Fujitsu e Arjuna Non ancora proposto a enti di standardizzazione Si articola in tre sottospecifiche: WS-CTX, WS-CF e WS-TXM Fonte: ComputerWorld - Italia - ottobre 2003 Evoluzione dei Web s (3) Adoption Oriented Architecture Enterprise Middleware Today B2B Integration Point-to-Point Integration Time Tactical Strategic Transformational Fonte: Web s Journal November 2003 Per approfondimenti: http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html 20

Cos è il Semantic Web Defqweg3 vnncvbwe + e346n2kv 2sdb3vds2 df3uy4e4v + bjsd,gfqwe g3vnncvbn M7ùà+ù7 2,kxmr93k + vp 2kfòv,r The The Semantic Web Webis is an an extension of of the thecurrent web web in inwhich information is is given given well-defined meaning, better better enabling computers and and people people to towork in in cooperation. Tim Tim Berners-Lee, Berners-Lee, James James Hendler, Hendler, Ora OraLassila, The TheSemantic SemanticWeb, Scientific ScientificAmerican, May May2001? Esempio di pagina Web semanticamente annotata 21

Esempio applicativo di Semantic Web Defqweg3 vnncvbwe + e346n2kv 2sdb3vds2 df3uy4e4v + bjsd,gfqwe g3vnncvbn M7ùà+ù7 2,kxmr93k + vp 2kfòv,r Esempio: Viaggio di di nozze nozze di di due due settimane con con destinazione Maldive, pernottamento in in hotel hotel 4 stelle stelle con con vista vista mare mare e spiaggia privata. Viaggio in in aereo aereo con con posto posto per per non non fumatori. Costo Costo massimo di di 2000 2000 Euro Euro a persona. Richiesta Informazioni Risultati ricerca Cosa si intende per Semantic Web s Defqweg3 vnncvbwe + e346n2kv 2sdb3vds2 df3uy4e4v + bjsd,gfqwe g3vnncvbn M7ùà+ù7 2,kxmr93k + vp 2kfòv,r DAML-S + Provider + DAML-S + Provider + DAML-S + Registries + DAML-S + Provider + Prenota il viaggio di nozze Per approfondire: Pizza and a movie: A case study in Advanced Web s - http://citeseer.nj.nec.com/dale02pizza.html 22

Evoluzione del World Wide Web Web s SOAP, WSDL, UDDI Semantic Web s DAML-S,, Semantic Web, Web Dinamico WWW, HTTP, HTML, XML Futuro Web Statico Oggi Fonte: Web s and the Semantic Web, Web s Journal, December 2002, www.wsj2.com Conclusioni I Web s sono interessanti perché: Favoriscono l interoperabilità tra sistemi in contesti EAI, B2B e B2C Tutti i maggiori produttori software (IBM, Microsoft, SUN, ecc.) contribuiscono attivamente al loro sviluppo C è spazio per la ricerca e la sperimentazione Rappresentano un possibile punto di contatto tra il mondo della ricerca e quello industriale 23

Links W3C Web s Activity http://www.w3.org/2002/ws/ Semantic Web http://www.w3.org/2001/sw/ http://www.semanticweb.org/ Semantic Web s http://swws.semanticweb.org/ Programmazione di WS in Java http://java.sun.com/webservices/ http://ws.apache.org/ Per scaricare le slide e il codice: http://www.di.univaq.it/~bianchi/presentazioni.html bianchi@di.univaq.it "Things should be made as simple as possible, but no simpler." -- Albert Einstein 24