PARTE 11. Web Services

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PARTE 11. Web Services"

Transcript

1 PARTE 11 Web Services

2 Parte 11 Modulo 1: Motivazioni

3 Il miraggio dell informatica moderna Integrazione delle applicazioni Interoperabilità In pratica, ogni meccanismo che consenta a diversi sistemi software di condividere, scambiarsi o aggregare informazioni I Web services costituiscono l ultimo tentativo (in ordine di tempo) per riuscire nell intento Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.3

4 Sistemi di una tipica azienda Un sistema gestisce materials requirement planning (MRP) Un altro sistema gestisce il controllo del magazzino Un terzo sistema gestisce il processo di distribuzione Un altro gestisce gli ordini dei clienti Un altro tiene traccia delle informazioni sui clienti Nel frattempo, un sistema completamente differente è utilizzato per stimare le previsioni di vendita Alcuni ricevono ordini via Web o addirittura effettuano transazioni economiche via rete e allora tutto si complica Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.4

5 Motivazioni per l integrazione Scambiarsi dati e condividere informazioni tra queste applicazioni è fondamentale per i processi che gestiscono il business di aziende o di enti pubblici Senza questo scambio continuo, il processo si interrompe E se si interrompe, si perdono soldi Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.5

6 Hershey s nightmare Hershey: azienda leader USA nella produzione di cioccolata e altri prodotti dolciari Nel 1999, ha speso 112 M$ in un progetto di integrazione che coinvolgeva software di SAP, Manugistics e Siebel Primo errore: un progetto di 4 anni in 30 mesi Nel periodo di Halloween i primi problemi: 25% in più di prodotti nei magazzini invenduti Perdita del fatturato del 19% nel quarto trimestre Nuovo progetto (senza Web services): OK nel 2002 Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.6

7 Cos è un Web Service? Qualcosa che ha a che fare con - il Web Insieme di Risorse Web, dove una risorsa è qualsiasi oggetto identificabile con un URL - un Service Un applicazione che espone le proprie funzionalità mediante una Application Programming Interface (API). In altre parole, una risorsa progettata per essere usufruita da un software e non da un uomo Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.7

8 Altri aspetti correlati I Web Services come tecnologia per realizzare Service Oriented Architecture (SOA) Utility computing E-business on demand Outsourcing (verso data center) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.8

9 Service-Oriented Architecture (SOA) Fondamento per la maggior parte dei middleware Caratteristica principale separazione dell interfaccia dall implementazione Metafora dell automobile Un client non ha bisogno di conoscere i dettagli implementativi per usare i servizi di una SOA Attivare e sfruttare servizi remoti su di un altro server da parte di un software richiede tecnologie molto più complesse di quelle relative al Web dove l interazione è fatta da un uomo Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.9

10 Web services (una definizione) Un Web service è un applicazione che fornisce una Web API (Application Programming Interface), che a sua volta consente alle applicazioni di comunicare utilizzando XML e il Web I Web service usano il Web per realizzare l integrazione di applicazioni eterogenee operanti su piattaforme eterogenee Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.10

11 A favore e contro E una nuova forma di middleware, basata su principi innovativi rispetto al passato E la tecnologia che ci consentirà di portare a pieno compimento l e-business E yet another tecnologia per il calcolo distribuito che fallirà così come hanno fallito le altre (non per motivi tecnologici, ma a causa di strategie aziendali in competizione) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.11

12 Ci sono altri prodotti? Message-oriented middleware (MOM) IBM WebSphereMQ Microsoft MQ Sonic Software SonicMQ Prodotti proprietari: non standard, costi di licenze, non comunicano tra di loro RPC middleware (client/server, sincrono) Distributed Computing Environment (DCE RPC) Microsoft RPC, Microsoft DCOM (*) CORBA (*) Java RMI Standard industriali, ma un RPC non interagisce con un altro RPC. Serve lo stesso sistema da entrambe le parti. Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.12

13 Leader di mercato prima dei Web services Microsoft DCOM CORBA Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.13

14 CORBA Vers. 1.1 introdotta nel 1991 dall Object Management Group (OMG) Definisce l Interface Definition Language (IDL) e l Application Programming Interfaces (API) che consente l interazione a oggetti client/server all interno di una specifica implementazione di un Object Request Broker (ORB) Un oggetto CORBA è presentato al mondo esterno da un interfaccia con un insieme di metodi L ORB è il middleware che definisce e stabilisce le relazioni requestor-provider tra oggetti distribuiti Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.14

15 CORBA 2.0 CORBA 2.0, adottato nel 1994, mirava all interoperabilità specificando come possono interagire ORB di produttori differenti Un ORB riceve un messaggio per invocare uno specifico metodo per un oggetto registrato. L ORB intercetta il messaggio ed è responsabile per: trovare un oggetto che possa gestire la richiesta passargli i parametri invocare il suo metodo restituire i risultati In teoria, il nodo requestor non deve conoscere altri dettagli sul provider oltre all interfaccia dell oggetto: dove l oggetto si trova, il suo linguaggio di programmazione, il suo sistema operativo, ecc. Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.15

16 Microsoft DCOM DCOM è l estensione distribuita del modello Microsoft COM (Component Object Model), che costruisce un livello per remote procedure call ad oggetti (ORPC) al di sopra di DCE RPC Un server COM può creare istanze di oggetti di classi multiple. Un oggetto COM può supportare interfacce multiple, ciascuna rappresentante una vista o un comportamento differente di un oggetto Un interfaccia è costituita da un insieme di metodi Un client COM interagisce con un oggetto COM acquisendo un puntatore ad una delle interfacce dell oggetto e invocando metodi mediante quel puntatore, come se l oggetto risiedesse nello spazio di indirizzamento del client Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.16

17 Stile RPC object-oriented (simile per tutti) Client Server Client Procedure() argomenti risultati Client Stub Called Procedure Server Stub Network transport Network Transport RETE Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.17

18 Denominazioni a confronto Architett. RPC Client Stub Server Stub CORBA Stub Skeleton DCOM Proxy Stub Web services Service Proxy Service Implementation Template Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.18

19 Piccole differenze impattano sull interoperabilità DCOM e CORBA hanno molte similitudini Entrambi i protocolli usano endpoint identifier per individuare un certo oggetto all interno del middleware lato server Entrambi usano method identifiers per determinare la signature del metodo da invocare Tre differenze sostanziali impediscono l interoperabilità 1. Supporto per interfacce multiple per un oggetto In CORBA, l identificatore di interfaccia è implicito perché viene supportata una sola interfaccia per un oggetto In DCOM è possibile supportare interfacce multiple per ciascun oggetto Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.19

20 Piccole differenze impattano sull interoperabilità (2) 2. Naming degli endpoint di comunicazione Nei protocolli ORPC, è necessaria una rappresentazione di un endpoint ORPC per comunicare i riferimenti agli oggetti CORBA/IIOP usa Interoperable Object Reference (IOR), che contiene informazioni sugli indirizzi in un formato portabile che ogni prodotto CORBA può tradurre in un oggetto endpoint DCOM usa il formato OBJREF, che combina riferimenti distribuiti con l identificazione dell oggetto endpoint Purtroppo, IOR non interagisce con OBJREF, causando problemi di interoperabilità tra applicazioni CORBA e DCOM 3. Formato dei valori dei parametri DCOM usa Network Data Representation (DR) IIOP/GIOP usa Common Data Representation (CDR) Piccole differenze tra questi formati li rendono incompatibili Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.20

21 Difetti di CORBA e DCOM Sebbene CORBA e DCOM siano stati implementati su varie piattaforme, la realtà è che ogni soluzione costruita al di sopra di questi middleware è dipendente dalla implementazione di un singolo venditore Applicazioni DCOM tutti i nodi che operano all interno dell applicazione distribuita, devono utilizzare qualche versione di Windows e relativi linguaggi/tecnologie Applicazioni CORBA tutti i nodi devono eseguire lo stesso prodotto ORB. Vi sono casi di ORB di produttori diversi che interoperano, ma questa interoperabilità non si estende ai servizi di alto livello: Gestione della sicurezza Gestione delle transazioni Impossibilità di ottimizzazioni Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.21

22 CORBA: i veri motivi del fallimento L Object Management Group (OMG) e i suoi più di 700 membri hanno provato a definire come i venditori avrebbero dovuto progettare i cosiddetti object request brokers (ORB) in modo da raggiungere la piena interoperabilità Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.22

23 CORBA: i veri motivi del fallimento (2) In realtà, la maggior parte dei venditori era in competizione per la realizzazione di implementazioni di ORB differenti Infatti, il loro vero obiettivo era quello di vendere la propria soluzione ad entrambe le parti delle applicazioni distribuite: nodi requestor nodi provider Così non c era alcuna vera motivazione, dal punto di vista delle prospettive del business, per raggiungere la piena interoperabilità multipiattaforma. (Raggiungibile, invece, dal punto di vista tecnologico e scientifico) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.23

24 Perché dell insuccesso Middleware tradizionale non supporta l eterogeneità non funziona su scala geografica Internet non è pervasivo è difficile da usare è costoso ha costi di manutenzione oltraggiosi ha connessioni fragili e difficili da riutilizzare Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.24

25 Perché i Web services dovrebbero avere successo dove tanti hanno fallito Uso di Internet e del Web per comunicare (invece di protocolli ad hoc o proprietari) Uso di XML (extensible Markup Language), text-based, comprensibile da applicazioni scritte in qualsiasi linguaggio Sono indipendenti dalle piattaforme e dai linguaggi con cui sono implementate le applicazioni Sono pervasivi perché utilizzano protocolli standard (Web e XML) o specifiche accettate anche a livello di W3C Eliminazione dei costi e dei problemi di gestione di licenze diverse, in quanto basati su principi di public domain software Uso di open standard Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.25

26 Perché i Web services dovrebbero avere successo dove tanti hanno fallito (2) Estensione dell interoperabilità oltre la propria Intranet aziendale Grazie all uso di HTTP, si possono attraversare i firewall funzionano sia a livello di LAN sia a livello di WAN funzionano sia all interno di una Intranet sia all esterno supportano l interoperabilità tra applicazioni eterogenee (ad oggi) non richiedono licenze; il guadagno è sul valore aggiunto dei servizi realizzati Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.26

27 Parte 11 Modulo 2: Definizioni

28 Definizioni di Web services Definizione ufficiale del W3C (http://www.w3.org/tr/ws-arch/) A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols. Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.28

29 Definizione di Web services (2) Definizione IBM Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions that can be anything from simple requests to complicated business processes. A sample Web service might provide stock quotes or process credit card transactions. Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service. Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.29

30 Parte 11 Modulo 3: Caratteristiche operative

31 Caratteristiche dei Web services Rappresentano una soluzione per permettere la comunicazione tra applicazioni in ambito Web L idea su cui si basano è quella di fornire un linguaggio ed una piattaforma comune a sistemi differenti Sono una combinazione di diversi standard tecnologici Sono basati su standard aperti (XML, HTTP, SOAP, ) che permettono a chiunque di utilizzarli Sono accessibili mediante un interfaccia standard Permettono a sistemi eterogenei di lavorare insieme per realizzare il Web computing Programmazione con componenti distribuite sul Web Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.31

32 Stack UDDI WSDL SOAP XML (tipicamente) HTTP Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.32

33 Operazioni Web services Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.33

34 Operazioni Web services (2) Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Un client non può specificare quale linguaggio, sistema operativo o tipo di computer è stato usato Dati binari non possono essere inviati o ricevuti (ma ci sono eccezioni) <name>character data </name><cost>123.45</cost> <response>character data </response> Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.34

35 Operazioni Web services (3) Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Un Web service deve descrivere se stesso: quali tipi di richieste possono essere fatte, quali sono gli argomenti, quale è il trasporto What information do you need? 2 arguments: (1) Item name (2) Quantity Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.35

36 Operazioni Web services (4) Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Un Web service deve indicare ad un registro di servizi dove è localizzato (una sorta di pagine gialle ) Here I am Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.36

37 Operazioni Web services (5) Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Un potenziale client deve trovare il Web service in un registro di servizi Here I am Where is a service that I can use to find airline flight schedules? Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.37

38 Operazioni Web services (6) Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Gli argomenti ed i tipi di dato restituiti devono essere noti API nota <name>character data </name><cost>123.45</cost> <response>character data </response> Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.38

39 Operazioni Web services (7) Componenti software indipendenti dalla piattaforma e dall implementazione che possono essere: Descritti usando un linguaggio di descrizione del servizio Pubblicati in un registro di servizi Scoperti mediante un meccanismo standard (a runtime o a tempo di progetto) Invocati mediante un API, solitamente tramite la rete Composti con altri servizi Il servizio può a sua volta essere un client <name>character data </name><cost>123.45</cost> <response>character data </response> Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.39

40 Possibili applicazioni Informazioni con contenuto ricco Previsioni del tempo Notiziari Orari (effettivi) treni e aerei Ambito di borsa Verifica su conto corrente Validazione carta di credito Aste on-line Servizi transazionali per B2B Prenotazioni on-line Contratti auto a nolo Gestione della supply chain Acquisizione e gestione ordini Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.40

41 ma soprattutto è indispensabile per Esternalizzazione del processo produttivo o gestionale ( outsourcing ) L ambito è prevalentemente o esclusivamente B2B All interno della stessa azienda (decentralizzata) o tra aziende partner Consente una piena integrazione a livello di processi aziendali Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.41

42 Parte 11 Modulo 4: Tecnologie dei Web service

43 Tecnologie del Web TCP/IP HTTP HTML XML Caratteristiche comuni? Standard aperti Indipendenti dalla piattaforma (Java) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.43

44 Tecnologie dei Web services Tecnologie cruciali XML SOAP Tecnologie per service discovery UDDI WSDL Le 3 nuove tecnologie Importanti (W3C) (WSIL) Caratteristiche comuni? Standard aperti Indipendenti dalla piattaforma Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.44

45 Componenti dei Web services Service requestor (o service user): richiede l esecuzione di un Web service Service provider: fornisce servizi e soddisfa le richieste per Web service che gli arrivano Discovery agency (o service broker): repository mediante cui è resa pubblica e individuabile la descrizione di un Web service (Service Broker) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.45

46 Operazioni principali Publish/Unpublish: pubblicizzare o rimuovere un Web service da parte del service provider verso il service broker Find: il service requestor effettua una richiesta per un Web service al service broker, che restituisce il risultato migliore Bind+Interact: service requestor e service provider contrattano per il Web service e, dopo accordo, interagiscono Il client cerca i dettagli sul servizio in una directory di servizi Il servizio è pubblicato in una directory di servizi Il client interagisce con il servizio Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.46

47 Tecnologie dei Web Services Il service provider costruisce e definisce il servizio usando WSDL Web Services Description Language (WSDL) Il service provider registra il servizio mediante UDDI Universal Description Discovery and Integration (UDDI) Il service requestor trova il servizio cercando in un registro UDDI Il service requestor si collega al Web service fornito dal service requestor ed invoca le sue operazioni mediante il protocollo SOAP Simple Object Access Protocol (SOAP) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.47

48 Tecnologie dei Web Services WSDL, UDDI WSDL, UDDI SOAP Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.48

49 Tecnologie dei Web services XML HTTP SOAP (Simple Object Access Protocol) WSDL (Web Services Description Language) UDDI (Universal Description, Discovery, Integration) WSIL (Web Services Inspection Language) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.49

50 Capire l importanza delle tecnologie Una definizione essenziale (da parte di IBM) per comprendere il significato e l importanza di tante sigle è la seguente Un Web service è un oggetto SOAP integrato con una descrizione WSDL. La directory UDDI e tutte le altre tecnologie sono opzionali Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.50

51 Protocolli per Web services Web Service Requestor Find a Service Link per individuare un servizio Discovery HTML con link a WSDL Come parliamo? (WSDL) Restituisce descrizione di un servizio (XML) Interazioni (SOAP) Restituisce la risposta per un servizio (XML) UDDI Web Service Provider Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.51

52 Tecnologie in sintesi Alla base dello stack dei Web service, c è il protocollo HTTP, un protocollo RPC-like che è semplice, diffuso, aperto e firewall-friendly Poi, c è un linguaggio comune per la rappresentazione dei dati, XML, che è altrettanto diffuso e aperto SOAP è un protocollo di scambio messaggi basato su HTTP e su XML che sono indipendenti dalle piattaforme, dai sistemi operativi e dai linguaggi. SOAP supporta sia un modello a scambio di messaggi sia un modello di comunicazione request/response Come CORBA e DCOM, anche i Web services richiedono un Interface Description language (IDL): viene usato WSDL, che è un linguaggio descrittivo dei servizi basato su XML. WDSL definisce sia l interfaccia dei servizi sia le caratteristiche implementative Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.52

53 Parte 11 Modulo 4a: XML

54 XML XML: extensible Markup Language E un (meta-)linguaggio flessibile utilizzato per la rappresentazione di documenti o dati strutturati di qualunque tipo Un documento XML è, in realtà, una gerarchia di elementi XML Un elemento rappresenta una parte di informazione (es., nome) Ciascun elemento può essere strutturato in sottoelementi (es., nome e cognome) Un elemento viene identificato tra <tag>. Es. del nome: <name>marco</name> Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.54

55 Come HTML, più di HTML XML Come HTML, usa i tag per identificare gli elementi Il vocabolario dei tag dell HTML è standard e fissato A differenza di HTML dove i tag sono specificati, in XML è possibile definire qualsiasi tag sia necessario per l applicazione, attribuendogli un significato XML è un meta-linguaggio di markup Usa un formato auto-descrittivo: un documento XML fornisce informazioni complete sui valori dei campi associati ai vari tag Descrive un documento: non specifica cosa significa, né come visualizzarlo (XML separa il contenuto dalla presentazione) Grazie a XSLT (Style Sheet) è possibile trasformare un documento XML in documenti di diversi formati, quali HTML, WirelessML (WML), VoiceXML, ecc. Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.55

56 Esempio XML: descrizione aule <?xml version="1.0"?> <rooms> <room name= FA-2A"> <capacity>80</capacity> <equipmentlist> <equipment>proiettore</equipment> <equipment>microfono</equipment> </equipmentlist> </room> <room name= FA-2X"> <capacity>50</capacity> <equipmentlist /> <features> <feature>senza finestre</feature> </features> </room> </rooms> Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.56

57 XML e Web services I Web services si basano su XML perché è indipendente da linguaggi, applicazioni e piattaforme specifiche XML garantisce Ricchezza espressiva Estendibilità ( ricordare la X ) Portabilità Facilità di comprensione Gli schemi XML possono essere convalidati da entrambe le parti che comunicano Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.57

58 Parte 11 Modulo 4b: SOAP

59 SOAP Simple Object Access Protocol (Service-Oriented Application Protocol) Specifico protocollo di comunicazione tra Web service basato su XML per la descrizione dei messaggi utilizza principalmente HTTP come protocollo di trasporto, ma può usare anche altri (SMTP, ecc.) Permette alle applicazioni distribuite di invocare servizi remoti (ovvero metodi su oggetti remoti) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.59

60 SOAP Un Service requestor può utilizzare un servizio remoto in maniera trasparente e senza conoscerne i dettagli implementativi L applicazione client deve solo utilizzare le specifiche di chiamata per il servizio remoto passandogli solo i parametri Caratteristiche del protocollo SOAP Serializzazione specificata Indipendente dalla piattaforma Robusto e flessibile Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.60

61 Motivazioni per SOAP Per l interoperabilità di applicazioni distribuite è necessario utilizzare chiamate a procedura remota (RPC) tra oggetti distribuiti (come, ad esempio, DCOM e CORBA) PROBLEMA: Le chiamate RPC non possono essere adattate facilmente ad Internet Esistono problemi di sicurezza per RPC La maggior parte dei firewall e dei proxy server sono impostati per bloccare questo tipo di traffico Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.61

62 Motivazioni per SOAP (2) HTTP non è progettato per funzionalità RPC classiche non è efficiente come i protocolli delle vecchie RPC Tuttavia, è supportato da tutti i Web browser e server è basato su un meccanismo request/response (che serve a SOAP) e soprattutto è l unico vero protocollo firewall-friendly Scelta Usare HTTP come protocollo di trasporto principale (anche se non ci sono controindicazioni a usarne altri) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.62

63 Struttura del messaggio SOAP Envelope Definisce il contenuto del messaggio Header (opzionale) Contiene informazioni, estensioni Buon posto per la sicurezza Body Contienechiamate e risposte SOAP Envelope SOAP Header SOAP Body Payload Document(s) SOAP Fault Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.63

64 Struttura del messaggio SOAP (2) SOAP Message HTTP Headers SOAP Envelope SOAP Header SOAP Body Payload Document(s) SOAP Fault Il messaggio SOAP Standard HTTP e SOAP HTTP Header <Envelope> Info globali <Header> Tag per racchiudere gli Header (opzionale) <Body>: il contenitore attraverso cui viene spedita la parte importante di informazioni tra applicazioni Documento XML Encoded SOAP Message Name e Dati (contiene la chiamata al metodo remoto) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.64

65 Esempio messaggio SOAP: richiesta <SOAP-ENV:Envelope xmlns:soap-env= "http://www.w3.org/2001/06/soap-envelope" SOAP-ENV:encodingStyle= "http://www.w3.org/2001/06/soap-encoding"> <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <param>dis</param> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> DATA MODEL E ENCODING PER I PARAMETRI Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.65

66 Esempio messaggio SOAP: richiesta <SOAP-ENV:Envelope xmlns:soap-env= "http://www.w3.org/2001/06/soap-envelope" SOAP-ENV:encodingStyle= "http://www.w3.org/2001/06/soap-encoding"> <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <param>dis</param> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ENVELOPE Equivalente a: MESSAGE GetLastTradePrice(DIS) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.66

67 Esempio messaggio SOAP: risposta <SOAP-ENV:Envelope xmlns:soap-env= "http://www.w3.org/2001/06/soap-envelope" SOAP-ENV:encodingStyle= "http://www.w3.org/2001/06/soap-encoding"> <SOAP-ENV:Body> <m:getlasttradepriceresponse xmlns:m="some-uri"> <Price>154</Price> </m:getlasttradepriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.67

68 Esempio architettura SOAP Applicazione VisualBasic Applicazione Java Invoice VB-Structure SOAP client Invoice Java-Structure SOAP Server SOAP Message Per l applicazione client è come effettuare una chiamata di procedura su di un modulo remoto senza doversi proccupare dei dettagli tecnologici sottostanti Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.68

69 SOAP a confronto Un messaggio SOAP è in pratica una richiesta/risposta HTTP che rispetta lo schema e le regole di encoding dei parametri SOAP (descritti mediante XML) Un endpoint SOAP è un URL che identifica un destinatario per l invocazione di un metodo Come CORBA, anche SOAP non richiede che uno specifico oggetto sia legato ad un determinato endpoint. Al contrario, spetta al programmatore decidere come mappare l identificatore di un oggetto di un endpoint nel corrispondente oggetto dal lato server Lo spazio dei nomi URI che definisce i nomi dei metodi in SOAP è funzionalmente equivalente all interfaccia ID che definiva i nomi dei metodi in DCOM o CORBA Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.69

70 Perché SOAP ha speranza di successo Altre tecnologie distribuite non sono riuscite ad imporsi in Internet perché richiedono interfacce interdipendenti, e quindi avevano un intrinseca difficoltà di diffusione Esempi RMI richiede Java ad entrambi gli endpoint CORBA richiede ORB compatibili ad entrambi gli endpoint DCOM richiede Windows ad entrambi gli endpoint Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.70

71 Perché SOAP ha speranza di successo SOAP è una scelta neutrale, indipendente dalla piattaforma: Utilizza un semplice formato XML Non ha restrizioni sulle tecnologie implementative agli endpoint Le implementazioni sono free, alcune open-source Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.71

Un introduzione ai Web service

Un introduzione ai Web service Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ A Web service is a software system

Dettagli

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

Definizione di Web service (2) Un introduzione ai Web service. Caratteristiche dei Web service. Valeria Cardellini Università di Roma Tor Vergata Definizione di Web service Definizione fornita del W3C http://www.w3.org/tr/ws-arch/ Un introduzione ai Web service Valeria Cardellini Università di Roma Tor Vergata A Web service is a software system

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Introduzione a Service Oriented Architecture e Web Service

Introduzione a Service Oriented Architecture e Web Service Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Introduzione a Service Oriented Architecture e Web Service Corso di Sistemi Distribuiti e Cloud Computing

Dettagli

fornitore di servizi utente all interazione tra utenti e sistemi

fornitore di servizi utente all interazione tra utenti e sistemi 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

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Web Service Architecture

Web Service Architecture Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@di.univaq.it http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario di Sistemi Distribuiti RPC su SOAP Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

Web services. 25/01/10 Web services

Web services. 25/01/10 Web services Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Web Services Security

Web Services Security Web Services Security Introduzione ai Web Services Davide Marrone Sommario Cosa sono i web services Architettura dei web services XML-RPC SOAP (Simple Object Access Protocol) WSDL (Web Services Description

Dettagli

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

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP Web Services I web services servono a rendere interoperabili le applicazioni e favoriscono la loro integrazione. I servizi web sono applicazioni software che possono essere scoperte, descritte e usate

Dettagli

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org 1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto

Dettagli

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

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II SOA e Web Service Figure tratte dal testo di riferimento, Copyright

Dettagli

Service Oriented Architectures (SOA)

Service Oriented Architectures (SOA) Facoltà di Ingegneria dell Informazione Laurea Specialistica in Ingegneria Informatica Facoltà di Ingegneria dei Sistemi Laurea Magistrale in Ingegneria Biomedica Dipartimento di Elettronica e Informazione

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Service Oriented Architectures e Web Services Corso di Applicazioni Telematiche A.A. 20010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos è un Web Service?

Dettagli

8. Sistemi Distribuiti e Middleware

8. Sistemi Distribuiti e Middleware 8. Sistemi Distribuiti e Middleware Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 8. Sistemi distribuiti e Middleware 1 / 32 Sommario 1 Sistemi distribuiti

Dettagli

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel

Dettagli

Approfondimento. Web Services

Approfondimento. Web Services Approfondimento Web Services Esame di Programmazione per il Web Fedele Ladisa INDICE Capitolo 1. Introduzione 1.1 Introduzione ai Web Services 1.2 Architettura dei Web Services 1.3 Stack protocollare di

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

Le tecnologie software Internet

Le tecnologie software Internet Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B2_2 V1.5 Le tecnologie software Internet Microsoft/Web services Il contenuto del documento è liberamente utilizzabile

Dettagli

COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE

COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE Flavia Marzano marzano@cibernet.it 10/05/2004 ARPA Club Forum PA 2004 Contenuti Cenni normativi Sistema di gestione documentale:

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Web Services e Grid Services. OGSA e WSRF

Web Services e Grid Services. OGSA e WSRF Web Services e Grid Services OGSA e WSRF Sommario SOA Grid: Evoluzione OGSA - Open Grid Services Architecture WSRF Web Services Resource Framework Web services Servizi stateless Gestione dello stato Grid

Dettagli

Web Services e Grid Services. OGSA e WSRF. Sommario. Page 1

Web Services e Grid Services. OGSA e WSRF. Sommario. Page 1 Sommario Web Services e Grid Services OGSA e WSRF SOA Grid: Evoluzione OGSA - Open Grid Services Architecture WSRF Web Services Resource Framework Web services Servizi stateless Gestione dello stato Grid

Dettagli

Architettura Connettore Alfresco Share

Architettura Connettore Alfresco Share Direzione Sistemi Informativi Portale e Orientamento Allegato n. 2 al Capitolato Tecnico Indice Architettura Connettore Alfresco Share 1. Architettura del Connettore... 3 1.1 Componente ESB... 4 1.2 COMPONENTE

Dettagli

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1

Gli XML Web Service. Prof. Mauro Giacomini. Complementi di Informatica Medica 2008/2009 1 Gli XML Web Service Prof. Mauro Giacomini Medica 2008/2009 1 Definizioni i i i Componente.NET che risponde a richieste HTTP formattate tramite la sintassi SOAP. Gestori HTTP che intercettano richieste

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

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

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio

Dettagli

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

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

Dettagli

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996 Luca Cabibbo Architetture Software Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. Albert Einstein 1

Dettagli

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

Dettagli

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

Service Oriented Architecture and Web Services

Service Oriented Architecture and Web Services Service Oriented Architecture and Web Services Note per il corso di Ingegneria del Software Università di Camerino Dipartimento di Matematica ed Informatica Andrea Polini 11 gennaio 2007 Queste note sono

Dettagli

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

SOAP e Web Services. SOAP: introduzione

SOAP e Web Services. SOAP: introduzione SOAP e Web Services 1 SOAP: introduzione Attualmente le applicazioni distribuite rappresentano una grossa parte della produzione software. Inoltre lo sviluppo di Internet e delle Intranet rende utile creare

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Architetture a oggetti distribuiti

Architetture a oggetti distribuiti Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo

Dettagli

Distributed Object Computing

Distributed Object Computing Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi

Dettagli

Griglie computazionali LEZIONE N. 14. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno

Griglie computazionali LEZIONE N. 14. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno Griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno LEZIONE N. 14 Web Services SOAP WSDL UDDI CE-CREAM SRM Griglie computazionali - a.a.

Dettagli

Sistemi Distribuiti Introduzione al corso

Sistemi Distribuiti Introduzione al corso Altri testi di consultazione Sistemi Distribuiti Introduzione al corso Testo di riferimento G.Coulouris, J.Dollimore and T.Kindberg Distributed Systems: Concepts and Design IV Ed., Addison-Wesley 2005

Dettagli

Web service. A cura di Azzurra Ragone

Web service. A cura di Azzurra Ragone Web service A cura di Azzurra Ragone RPC (Remote Procedure Call) A type of protocol that allows a program on one computer to execute a program on a server computer. Using RPC, a system developer need not

Dettagli

Sistemi Distribuiti. Libri di Testo

Sistemi Distribuiti. Libri di Testo Sistemi Distribuiti Rocco Aversa Tel. 0815010268 rocco.aversa@unina2.it it Ricevimento: Martedì 14:16 Giovedì 14:16 1 Libri di Testo Testo Principale A.S. Tanenbaum, M. van Steen, Distributed Systems (2

Dettagli

Corso di Architetture Distribuite e Servizi di Rete. Web Services. Antonio Corradi & Paolo Bellavista. Web Services

Corso di Architetture Distribuite e Servizi di Rete. Web Services. Antonio Corradi & Paolo Bellavista. Web Services Università degli Studi di Bologna Master Integratori di Sistema Corso di Architetture Distribuite e Servizi di Rete Web Services Antonio Corradi & Paolo Bellavista Web Services 1 Web Services Differenza

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

MAX DOLGICER EAI. Architetture, Tecnologie e Best Practices LA TECHNOLOGY TRANSFER PRESENTA

MAX DOLGICER EAI. Architetture, Tecnologie e Best Practices LA TECHNOLOGY TRANSFER PRESENTA LA TECHNOLOGY TRANSFER PRESENTA MAX DOLGICER EAI Architetture, Tecnologie e Best Practices ROMA 26-28 MARZO 2008 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it www.technologytransfer.it

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Architetture orientate ai servizi

Architetture orientate ai servizi Architetture orientate ai servizi 1 Web Service Nuovo paradigma di sistema informativo basato su componenti software distribuiti I Web Service sono applicazioni indipendenti, modulari, autodescrittive,

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: Reti di computer ed Internet nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Reti di computer ed Internet

Reti di computer ed Internet Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.6 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Web Service SOAP e WSDL Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com SOAP Originariamente: Simple Object Access Protocol E poi evoluto in un Framework per lo scambio di messaggi in XML 2

Dettagli

JOHN KNEILING. Tools, Tecnologie NELL AMBIENTE LA TECHNOLOGY TRANSFER PRESENTA ROMA 19-21 MAGGIO 2008 ROMA 22-23 MAGGIO 2008

JOHN KNEILING. Tools, Tecnologie NELL AMBIENTE LA TECHNOLOGY TRANSFER PRESENTA ROMA 19-21 MAGGIO 2008 ROMA 22-23 MAGGIO 2008 LA TECHNOLOGY TRANSFER PRESENTA JOHN KNEILING WEB SERVICES E Tools, Tecnologie e Architetture SICUREZZA NELL AMBIENTE ROMA 19-21 MAGGIO 2008 ROMA 22-23 MAGGIO 2008 VISCONTI PALACE HOTEL - VIA FEDERICO

Dettagli

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4 Obiettivi Principali di un S.D. - 7 Tipi di Sistemi

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services

Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Integrazione di Sistemi Informativi Sanitari attraverso l uso di Middleware Web Services I. Marra M. Ciampi RT-ICAR-NA-06-04

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Table of Contents. Definizione di Sistema Distribuito 15/03/2013

Table of Contents. Definizione di Sistema Distribuito 15/03/2013 Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4-7 - 13 Definizioni e Principali Caratteristiche

Dettagli

Università della Calabria

Università della Calabria Università della Calabria Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Dipartimento DEIS TESI DI LAUREA Sviluppo di un sistema per la configurazione della rete UTRAN tramite un Enterprise

Dettagli

CORSO EDA Informatica di base. Introduzione alle reti informatiche Internet e Web

CORSO EDA Informatica di base. Introduzione alle reti informatiche Internet e Web CORSO EDA Informatica di base Introduzione alle reti informatiche Internet e Web Rete di computer Una rete informatica è un insieme di computer e dispositivi periferici collegati tra di loro. Il collegamento

Dettagli

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri. Il Servizio World Wide Web () Corso di Informatica Generale (Roberto BASILI) Teramo, 20 Gennaio, 2000 Il World Wide Web Storia : obbiettivi : tecnologie Le Applicazioni Scenari Futuri La Storia (1990)

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.7 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

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

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

Pieces of Technology at your service. SOAtest. & LoadTest

Pieces of Technology at your service. SOAtest. & LoadTest Pieces of Technology at your service SOAtest TM & LoadTest TM DESCRIZIONE E CARATTERISTICHE DEL PRODOTTO SOAtest è la piattaforma di test leader del settore per le architetture orientate ai servizi e applicazioni

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

Programmazione di sistemi distribuiti

Programmazione di sistemi distribuiti Programmazione di sistemi distribuiti I Sistemi Distribuiti, per loro natura, prevedono che computazioni differenti possano essere eseguite su VM differenti, possibilmente su host differenti, comunicanti

Dettagli

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

An Open Grid Service Architecture OGSA

An Open Grid Service Architecture OGSA An Open Grid Service Architecture OGSA Corso di laboratorio specialistico 2 Antonella Galizia Percorso Ripasso La tecnologia dei Web Service (molto!) in breve OGSA e l architettura Grid Grid Services Antonella

Dettagli

Il funzionamento delle reti

Il funzionamento delle reti Il funzionamento delle reti La rete ci cambia la vita L Età dell Informazione ha prodotto profondi cambiamenti nessun luogo è remoto le persone sono interconnesse le relazioni sociali stanno mutando l

Dettagli

Survey sui Framework per Testing di Sistemi Basati su Web Services

Survey sui Framework per Testing di Sistemi Basati su Web Services Survey sui Framework per Testing di Sistemi Basati su Web Services Severoni Francesco Facoltà di Scienze Dipartimento di Informatica Università degli Studi - L Aquila 67100 L Aquila, Italia Argomenti Trattati

Dettagli

Laboratorio di Sistemi Distribuiti

Laboratorio di Sistemi Distribuiti Laboratorio di Sistemi Distribuiti Bianchi Marco Univ. Roma Tor Vergata December 6, 2006 Bianchi Marco (Univ. Roma Tor Vergata) Laboratorio di Sistemi Distribuiti December 6, 2006 1 / 29 SOAP (2/2) 1 Gestione

Dettagli

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, Emergency healthcare process automation using workflow technology and web services M. Poulymenopoulou, F. Malamateniou, G. Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, 195 207 Processo

Dettagli

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

Introduzione ai Web Services. Tito Flagella tito@link.it

Introduzione ai Web Services. Tito Flagella tito@link.it Introduzione ai Web Services Tito Flagella tito@link.it Web Services Beppe, secret 2 Web Services (2) I Web Services sono uno sforzo di standardizzazione teso a rendere interpretabili, in maniera indipendente

Dettagli

Introduzione alle Applicazioni Web

Introduzione alle Applicazioni Web Introduzione alle Applicazioni Web di Mary Ercolini Con il termine Applicazione Web si intende un applicazione risiedente in un Server Web alla quale si accede tramite un browser Internet o un altro programma

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

INTRODUZIONE A RETI E PROTOCOLLI

INTRODUZIONE A RETI E PROTOCOLLI PARTE 1 INTRODUZIONE A RETI E PROTOCOLLI Parte 1 Modulo 1: Introduzione alle reti Perché le reti tra computer? Collegamenti remoti a mainframe (< anni 70) Informatica distribuita vs informatica monolitica

Dettagli

Sistemi Distribuiti Corso di Laurea in Ingegneria

Sistemi Distribuiti Corso di Laurea in Ingegneria Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi Parte: 1 -- Introduzione Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel: +39-055-4796523,

Dettagli

Presentazione di Cedac Software

Presentazione di Cedac Software Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994

Dettagli

La SOA e i servizi Web: il paradosso delle prestazioni

La SOA e i servizi Web: il paradosso delle prestazioni LIBRO BIANCO La SOA e i servizi Web: il paradosso delle prestazioni CA, division Wily Technology www.wilytech.com info@wilytech.com 2006 CA. Tutti i diritti riservati. All trademarks, trade names, service

Dettagli

Università degli Studi di Roma La Sapienza. Facoltà di Ingegneria

Università degli Studi di Roma La Sapienza. Facoltà di Ingegneria Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Tesi di Laurea In Ingegneria Informatica PROGETTO, REALIZZAZIONE, SPERIMENTAZIONE E TUNING DI UN ORCHESTRATORE DI WEB SERVICE Relatore:

Dettagli

Dipartimento di Sistemi e Informatica, University of Florence. Sistemi Distribuiti, Prof. Paolo Nesi

Dipartimento di Sistemi e Informatica, University of Florence. Sistemi Distribuiti, Prof. Paolo Nesi 1 Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi Parte: 2a Web Services & REST Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel:

Dettagli

Sistema Informativo. Funzione ICT in Azienda

Sistema Informativo. Funzione ICT in Azienda Definizione: Sistema Informativo Insieme di persone, macchine, applicazioni software e procedure (anche cartacee) che permettono ad un impresa di disporre delle informazioni necessarie alla realizzazione

Dettagli

Progettazione e sviluppo di una composizione di servizi web

Progettazione e sviluppo di una composizione di servizi web Progettazione e sviluppo di una composizione di servizi web Progetto di Tecnologie dei Servizi I Alessandro Marrandino Matr. 739695 Sommario In questo documento è descritto il lavoro svolto per realizzare

Dettagli

Internet e Tecnologia Web

Internet e Tecnologia Web INTERNET E TECNOLOGIA WEB Corso WebGis per Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Internet e Tecnologia Web...1 TCP/IP...2 Architettura Client-Server...6

Dettagli

CeBAS. Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009)

CeBAS. Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009) CeBAS Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009) Introduzione Il progetto CEBAS: la finalità è di migliorare l efficienza operativa interna dell Ente rispondere alle aspettative

Dettagli

Capitolo 3. Il funzionamento delle reti

Capitolo 3. Il funzionamento delle reti Capitolo 3 Il funzionamento delle reti La rete ci cambia la vita L Età dell Informazione ha prodotto profondi cambiamenti nessun luogo è remoto le persone sono interconnesse le relazioni sociali stanno

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli