PARTE 11. Web Services

Размер: px
Начинать показ со страницы:

Download "PARTE 11. Web Services"

Транскрипт

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 ( 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= " SOAP-ENV:encodingStyle= " <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= " SOAP-ENV:encodingStyle= " <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= " SOAP-ENV:encodingStyle= " <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

72 Attuali supporti per SOAP Apache supporta SOAP La piattaforma Microsoft.NET supporta SOAP IBM WebSphere supporta SOAP J2EE è compatibile con SOAP Sun ONE è compatibile con SOAP Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.72

73 Parte 11 Modulo 4c: WSDL

74 Descrizione dei servizi Una volta che un Web service è in esecuzione, come fanno i client a sapere quale tipo di messaggio inviare per la richiesta? SOAP è soltanto il formato di una envelope Occorre dire al client quale tipo di messaggio XML può inserire nel body WSDL (Web Services Description Language) è un dialetto XML che consente di descrivere i Web services e di pubblicarli WSDL è un altro tipo di documento XML che specifica esattamente il formato dei messaggi di richiesta e di risposta Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.74

75 WSDL WSDL è un tipo di documento scritto in XML contenente informazioni che servono per creare un contratto di Web service Un documento WSDL descrive: Quale funzionalità è offerta da un Web service La semantica dell interfaccia (come comunicare e anche eventuali dettagli amministrativi per la chiamata ad un Web service) Dove reperire il Web service Alcune parti di WSDL sono molto simili a IDL (Interface Description Language) di CORBA e DCOM Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.75

76 Cosa descrive WSDL? Le operazioni o metodi che sono forniti dal servizio Dettagli sui formati dei dati e sui protocolli necessari per accedere al servizio Schema XML Dettagli sulla locazione del servizio Variano a secondo del protocollo di trasmissione usato Ad esempio, URL, indirizzo di , Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.76

77 Uso di WSDL Quando un requestor vuole usare un Web service Individua il servizio mediante UDDI (o WSIL) Richiede il file WSDL Analizza il documento WSDL per determinare Locazione del servizio Chiamate dei metodi ed i parametri Come accedere ai metodi Altre info eventuali Crea una richiesta SOAP Invia la richiesta SOAP al servizio Tutto questo processo può essere automatizzato via software senza interazioni con utenti (persone) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.77

78 Architettura di WSDL WSDL descrive i Web services iniziando con i messaggi che possono essere scambiati tra il service requestor ed il service provider I messaggi sono descritti prima in modo astratto; solo in seguito vengono aggiunte informazioni pratiche sui protocolli di rete ed i formati dei messaggi Un messaggio consiste in un insieme di elementi tipati operation: uno scambio di messaggi porttype: un insieme di operation Un service rappresenta l implementazione di un servicetype e contiene un insieme di port, dove ogni port è l implementazione di un porttype e include tutti i dettagli necessari per realizzare la comunicazione Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.78

79 Descrizione di un servizio Un documento WSDL è formato essenzialmente da 7 elementi, ciascuno dei quali corrisponde ad una parte dell applicazione Messages Operations porttypes Types Bindings Ports Services Descrizione astratta Descrizione pratica WSDL definisce prima gli elementi astratti e poi le implementazioni specifiche degli elementi La versione astratta del servizio è generalizzabile, flessibile e facilmente estendibile Le specifiche sono definite solo in ognuno degli elementi che costituiscono il servizio Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.79

80 Parti di un documento WSDL types Tipo di dato in un messaggio Definito usando XML Schema messages Cosa viene effettivamente inviato tra requestor e provider Può essere un messaggio di input, output o fault operation Specifica i nomi delle operazioni, gli input e output E costituito da messaggi porttype Un port type è un insieme di operazioni astratte e di messaggi con un identificativo univoco Di solito uno per documento WSDL Corrisponde al servizio stesso Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.80

81 Parti di un documento WSDL (2) binding Fornisce i dettagli per l implementazione delle operazioni contenute in un porttype Specifica il protocollo di trasporto e di codifica dei dati (HTTP, SOAP, SMTP, FTP, ) port Specifica l indirizzo di rete del servizio con cui effettuare la connessione service Un insieme di porte correlate Permette di raggruppare tutti i porttype, in modo che sia immediatamente leggibile e comprensibile per un utente quali sono i port supportati da un determinato servizio Ad esempio, tutte le porte associate ad una transazione che richiede più passi Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.81

82 Esempio WSDL Definizione di un servizio per informazioni sul valore di azioni Definisce un metodo chiamatogetquote, con l informazione SOAP associata che consente ad un processo di trovare il servizio, invocare un metodo ed elaborare la risposta Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.82

83 Parte 11 Modulo 4d: UDDI

84 UDDI: Localizzare un Web service E necessario un archivio per permettere ai Web services di rendere pubblica la loro presenza e per renderli raggiungibili dagli utenti UDDI (Universal Description,Discovery, Integration) è un servizio di directory che permette ai service requestor di localizzare i Web services UDDI può essere considerato come una specie di pagine gialle dei Web services Senza UDDI, due applicazioni potrebbero comunicare solo se già si conoscessero, conoscessero i servizi offerti, la loro localizzazione e le modalità di interazione I servizi sono descritti in formato XML Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.84

85 UDDI UDDI è utilizzato da due classi di utenti Service Provider: azienda che offre Web services Service Requestor: utente o azienda che ricerca un Web service UDDI è simile al DNS (Domain Name System) La differenza è che DNS lavora ad un livello più basso, perché risolve indirizzi IP, mentre UDDI lavora ad un livello logico più alto perché risolve servizi Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.85

86 UDDI (2) UDDI è un servizio globale che può essere utilizzato su scale diverse: all interno della stesas organizzazione, oppure condiviso tra server sparsi in tutto il mondo, anche se non organizzati secondo una struttura gerarchica I diversi server condividono i dati mediante un protocollo di replicazione UDDI si basa su XML per la descrizione dei servizi e su SOAP per la trasmissione dei messaggi Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.86

87 Interazione con UDDI Due azioni principali Registration Discovery client query UDDI publish applicazione La sicurezza è un aspetto fondamentale Problema: un concorrente potrebbe cancellare o modificare (defacement) il servizio di un altro publisher Soluzione: autenticazione dei publisher Ogni server mantiene traccia dei publisher e di cosa hanno pubblicato Solo chi ha pubblicato un servizio è autorizzato a modificarlo o cancellarlo Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.87

88 Informazioni in UDDI Divise in tre categorie principali (in analogia con gli elenchi del telefono statunitensi ) White pages Contengono informazioni sui contatti e gli indirizzi del service provider Yellow pages Contengono informazioni sui diversi servizi disponibili organizzati per categorie di business, tipo di servizi, Green pages Contengono informazioni sul servizio stesso (possono eventualmente anche contenere il codice WSDL del servizio) Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.88

89 WSIL Web Services Inspection Language (WSIL) Lo scopo è simile a UDDI Complementare piuttosto che alternativo Informazioni sulla descrizione di un servizio che possono essere distribuite in ogni locazione usando un semplice documento in formato XML Caratteristiche principali: decentralizzato, leggero Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.89

90 WSIL (2) A differenza di UDDI, non è focalizzato su informazioni di business Utilizza altri meccanismi per la descrizione dei servizi come WSDL (analogamente ad UDDI) Evita una delle attuali difficoltà di UDDI Le entry in un registro UDDI non sono moderate ed un client non può essere sicuro che un servizio appartenga effettivamente al service provider che lo ha pubblicato nel registro UDDI Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.90

91 Parte 11 Modulo 5: Conclusioni

92 Un ultimo sguardo allo scenario WSDL, UDDI WSDL, UDDI SOAP Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.92

93 Software per Web services Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.93

94 Possibili prospettive Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.94

95 Problemi di sicurezza (enormi!) Sicurezza a livello di scambio di messaggi Affidabilità nelle comunicazioni Possibilità di definire e forzare delle politiche Supporto robusto per l identità digitale Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.95

96 Standard XML SOAP WSDL UDDI Tecnologie per la sicurezza Controllo accessi e Autorizzazioni XACML SAML Standard di sicurezza XML Digital Signature XML Encryption Sicurezza avanzata WS-* Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.96

97 Un esempio di Web service Google Web APIs Permette ad applicazioni remote (non ad utenti!) di inviare richieste di ricerca al motore di Google mediante un messaggio SOAP Google esegue la richiesta e restituisce al programma chiamante un documento XML strutturato, contenente il risultato Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.97

98 Altre informazioni SOAP Version 1.2 Part 0: Primer Introduction to WSDL E inoltre Programming/Internet/Web_Services/ Sistemi e Servizi di Rete - LS 2005/2006 Web Services 11.98

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 [email protected] Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Подробнее

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

Подробнее

Web Service Architecture

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

Подробнее

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

Подробнее

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica [email protected] Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Подробнее

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica [email protected] Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Подробнее

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Подробнее

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Подробнее

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

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare

Подробнее

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

Подробнее

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Подробнее

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

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Подробнее

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

Подробнее

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Подробнее

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Подробнее

Gestione Richieste Patenti Web

Gestione Richieste Patenti Web >> Specifiche Integrazione Web Services RTI Gestione Richieste Patenti Web Servizio di Sviluppo SVI Versione 1.0-07 Dicembre 2009 Indice dei contenuti 1 GENERALITA... 6 1.1 Lista di distribuzione...6 1.2

Подробнее

Network Services Location Manager. Guida per amministratori di rete

Network Services Location Manager. Guida per amministratori di rete apple Network Services Location Manager Guida per amministratori di rete Questo documento illustra le caratteristiche di Network Services Location Manager e spiega le configurazioni di rete per sfruttarne

Подробнее

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Подробнее

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Подробнее

Architetture Applicative

Architetture Applicative Alessandro Martinelli [email protected] 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Подробнее

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Подробнее

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);

Подробнее

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

Подробнее

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

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Подробнее

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Подробнее

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2 Docente: prof.silvio Salza Candidato: Protocollo di metadata harvesting OAI-PMH Open Archive Initiative OAI (Open Archive Initiative) rendere facilmente fruibili gli archivi che contengono documenti prodotti

Подробнее

Università Politecnica delle Marche. Progetto Didattico

Università Politecnica delle Marche. Progetto Didattico Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro

Подробнее

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Подробнее

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Подробнее

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Подробнее

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Подробнее

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica). Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:

Подробнее

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

Подробнее

Versione 1. (marzo 2010)

Versione 1. (marzo 2010) ST 763-27 - Soluzione tecnica di interconnessione per i servizi SMS e MMS a sovrapprezzo Allegato 1 - Linee guida per l interfaccia di accesso tra operatore telefonico ed il CSP Versione 1 (marzo 2010)

Подробнее

JNDI. Massimo Merro Programmazione di Rete 214 / 229

JNDI. Massimo Merro Programmazione di Rete 214 / 229 JNDI Abbiamo già visto come i registri RMI espletino un servizio di Naming attraverso cui vengono associati nomi simbolici a referenze a server remoti. Esistono comunque altri servizi di naming: COS (Common

Подробнее

Specifiche tecniche e funzionali del Sistema Orchestra

Specifiche tecniche e funzionali del Sistema Orchestra Specifiche tecniche e funzionali del Sistema Orchestra Sommario 1. Il Sistema Orchestra... 3 2. Funzionalità... 3 2.1. Sistema Orchestra... 3 2.2. Pianificazione e monitoraggio dei piani strategici...

Подробнее

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Подробнее

MANUALE UTENTE FORMULA PEC

MANUALE UTENTE FORMULA PEC MANUALE UTENTE FORMULA PEC Stampato il 03/12/10 16.22 Pagina 1 di 22 REVISIONI Revisione n : 00 Data Revisione: 01/04/2010 Descrizione modifiche: Nessuna modifica Motivazioni: Prima stesura Stampato il

Подробнее

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Подробнее

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Подробнее

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

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Подробнее

OmniAccessSuite. Plug-Ins. Ver. 1.3

OmniAccessSuite. Plug-Ins. Ver. 1.3 OmniAccessSuite Plug-Ins Ver. 1.3 Descrizione Prodotto e Plug-Ins OmniAccessSuite OmniAccessSuite rappresenta la soluzione innovativa e modulare per il controllo degli accessi. Il prodotto, sviluppato

Подробнее

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Подробнее

Una minaccia dovuta all uso dell SNMP su WLAN

Una minaccia dovuta all uso dell SNMP su WLAN Una minaccia dovuta all uso dell SNMP su WLAN Gianluigi Me, [email protected] Traduzione a cura di Paolo Spagnoletti Introduzione Gli attacchi al protocollo WEP compromettono la confidenzialità

Подробнее

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

Подробнее

Standard di comunicazione

Standard di comunicazione Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un

Подробнее

Groups vs Organizational Units. A cura di Roberto Morleo

Groups vs Organizational Units. A cura di Roberto Morleo Groups vs Organizational Units A cura di Roberto Morleo Gruppo Windows 2 Groups vs Organizational Units Organizational Units Groups OU Design Using OUs to Delegate Administration Group Policies and OU

Подробнее

IBM Software Demos The Front-End to SOA

IBM Software Demos The Front-End to SOA Oggi, imprese piccole e grandi utilizzano software basato sull'architettura SOA (Service-Oriented Architecture), per promuovere l'innovazione, ottimizzare i processi aziendali e migliorare l'efficienza.

Подробнее

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Подробнее

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA Ottimizzazione dei processi aziendali Con il modulo E-mail Integrata, NTS Informatica ha realizzato uno strumento di posta elettronica

Подробнее

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano. LE POLICY SULLA PRIVACY DI QUESTO SITO PERCHE QUESTO AVVISO In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

Подробнее

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Подробнее

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Подробнее

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

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Подробнее

Firewall applicativo per la protezione di portali intranet/extranet

Firewall applicativo per la protezione di portali intranet/extranet Firewall applicativo per la protezione di portali intranet/extranet Descrizione Soluzione Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 [email protected] 20121 MILANO (MI)

Подробнее

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Подробнее

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it redatto ai sensi del decreto legislativo n 196/2003 2 GENNAIO 2014 documento pubblico 1 PREMESSA 3 SEZIONE

Подробнее

Oreste Signore, <[email protected]> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Подробнее

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Подробнее

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

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Подробнее

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Подробнее

Ente Ospedaliero Specializzato in Gastroenterologia "Saverio de Bellis" Istituto di Ricovero e Cura a Carattere Scientifico

Ente Ospedaliero Specializzato in Gastroenterologia Saverio de Bellis Istituto di Ricovero e Cura a Carattere Scientifico Ente Ospedaliero Specializzato in Gastroenterologia "Saverio de Bellis" Istituto di Ricovero e Cura a Carattere Scientifico Via Turi, 27 70013 Castellana Grotte (BA) PRIVACY POLICY DEL SITO ISTITUZIONALE

Подробнее

Modelli e Sistemi di Elaborazione Peer-to-Peer

Modelli e Sistemi di Elaborazione Peer-to-Peer Università degli Studi della Calabria Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Matematica Modelli e Sistemi di Elaborazione Peer-to-Peer Concetti di base sul Peer-to-Peer: -

Подробнее

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Подробнее

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Подробнее

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Подробнее

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Подробнее

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Подробнее

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Подробнее

Internet e posta elettronica. A cura di Massimiliano Buschi

Internet e posta elettronica. A cura di Massimiliano Buschi Internet e posta elettronica A cura di Massimiliano Buschi Concetti fondamentali Internet www Tcp/ip Browser Terminologia Esistono un sacco di termini con cui bisogna famigliarizzare http url Link Isp

Подробнее

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Подробнее

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Подробнее

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Подробнее

Si applica a: Windows Server 2008

Si applica a: Windows Server 2008 Questo argomento non è stato ancora valutato Si applica a: Windows Server 2008 Protezione accesso alla rete è una tecnologia per la creazione, l'imposizione, il monitoraggio e l'aggiornamento dei criteri

Подробнее

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Подробнее