Architetture orientate ai servizi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architetture orientate ai servizi"

Transcript

1 Architetture orientate ai servizi 1

2 Web Service Nuovo paradigma di sistema informativo basato su componenti software distribuiti I Web Service sono applicazioni indipendenti, modulari, autodescrittive, basate su tecnologie e standard aperti legati a Internet Possono essere pubblicati, ricercati e utilizzati da attori qualsiasi attraverso la rete Possono essere aggregati per create nuove applicazioni, servizi e processi Possono descrivere se stessi, cercare e interagire dinamicamente con altri Web service Anche applicazioni legacy possono essere pubblicate come Web service 2

3 SOA: Service Oriented Architecture 3

4 Elementi di una SOA I componenti chiave di una SOA sono: gli agenti che forniscono i servizi (service provider), quelli che li usano (service requester) e quelli adibiti alla loro registrazione e pubblicazione (service registry) i descrittori dei servizi, utilizzati per descriverne pubblicamente l interfaccia a scopi di discovery (è previsto uno standard di definizione delle interfacce dei servizi denominato WSDL Web Service Description Language) i messaggi e i meccanismi di comunicazione che permettono lo scambio delle informazioni tra i servizi (è previsto uno standard di definizione dei messaggi denominato SOAP Simple Object Access Protocol) 4

5 Tecnologie e linguaggi di una SOA L architettura dei Web Service è definita su 6 livelli (layers) di tecnologie e standard su cui i servizi possono essere implementati XML-based languages BPEL4WS WSCI BPML WSFL XLANG ebbpss UDDI ebxml WSDL XMLP SOAP HTTPR HTTP IBM, Microsoft Sun BPMI.org IBM Microsoft ebxml.org UDDI.org ebxml.org W3C W3C W3C IBM W3C Service Integration SLA (Service Level Agreement) Service Publication & Discovery Service Description XML-based Messaging Transport 5

6 Scenario applicativo Ski portal memorizza informazioni turistiche su hotel, permettendo inoltre la prenotazione di camere e il pagamento on-line La prenotazione è effettuata tramite i servizi messi a disposizione da ciascun hotel (HMS Hotel Management System) Il pagamento on-line è effettuato appoggiandosi su altri servizi messi a disposizione da un terzo sistema (PS - Payment System) L HMS fornisce anche servizi ausiliari utilizzabili dallo Ski portal (per esempio, news sugli hotel, notifiche di eventi, gestione dei commenti da parte degli utenti) Ski portal Hotel management system (HMS) HTTP Web appl. HTTP Resorts Ski slopes Hotels Clients Reservations Web service operations Payment system (PS) 6

7 Tipi di interazione L elemento fondamentale di un Web service è l operazione, che prevede lo scambio di 1 o 2 messaggi Request-Response Solicit-Response Notification One-Way Ski portal Web application One-way subscription to hotel news HMS Hotel news notification Get room offers request Room offer response Concert tickets solicit Concert tickets response 7

8 Synchronous vs Asynchronous Le operazioni che prevedono lo scambio di due messaggi possono essere usate in maniera sincrona: non viene effettuata nessuna operazione dopo che il primo messaggio è stato completato e prima che il secondo messaggio venga spedito, il sender aspetta in maniera asincrona: tra il primo e il secondo messaggio vengono compiute anche altre azioni, il sender non aspetta Ski portal HMS Get room offer request Make comment request Room offer response Comment response Solicit number of users connected Number of users. response Concert tickets solicit Concert tickets response 8

9 Due pilastri fondamentali I Web Service interagiscono scambiandosi i dati in un formato basato su XML,in accordo anche in questo caso con uno standard ben definito il Simple Object Access Protocol (SOAP) è lo standard utilizzato per descrivere il formato dei messaggi scambiati tra i servizi I Web Service presentano un interfaccia descritta in maniera standardizzata, a prescindere dai dettagli implementativi che ci stanno dietro il Web Service Description Language (WSDL) è lo standard utilizzato per descrivere l interfaccia dei servizi 9

10 SOAP: Simple Object Access Protocol 10

11 Remote Procedure Call (RPC) Una parte molto complessa dell elaborazione distribuita consiste nella gestione delle chiamate remote Si tratta di invocare del codice residente su un altro server, passandogli eventualmente dei parametri, e riceverne una risposta, anch essa espressa in un opportuna codifica Attualmente esistono molti standard per la codifica e la trasmissione delle chiamate e delle risposte CORBA, noto framework per la gestione di oggetti distribuiti, utilizza l Internet Inter-ORB Protocol (IIOP) DCOM di Microsoft, utilizza l Object Remote Procedure Call (ORPC).NET Remoting, per la piattaforma.net, utilizza diversi protocolli (tra cui SOAP) Java, per la Java Remote Method Invocation (RMI), utilizza il Java Remote Method Protocol (JRMP) SOAP, che si propone come sostituto di tutti questi protocolli 11

12 SOAP: Simple Object Access Protocol Protocollo leggero di scambio di informazioni strutturate e tipate tra attori (applicazioni) qualsiasi Definisce un formato generico di messaggio XML per lo scambio attraverso la rete Internet E un protocollo di comunicazione stateless e one-way, indipendente dalla piattaforma; pattern di interazione più complessi (es. richiesta/risposta, ) devono essere definiti a livello applicativo Descrive le azioni che gli attori della conversazione (i SOAP processors) devono svolgere al momento della ricezione dei messaggi Non descrive la semantica dei dati trasportati l implementazione della comunicazione la qualità del trasporto (affidabilità, routing) 12

13 SOAP: Simple Object Access Protocol SOAP gestisce informazione strutturata e tipata la strutturazione dei messaggi SOAP, che deriva direttamente dalla struttura implicita di XML, è molto adatta al trasporto dei dati la gestione dei tipi utilizza i tipi standard degli Schemi XML; in questo modo è possibile far viaggiare insieme ai dati anche dei metadati che ne descrivono la struttura SOAP non ha una semantica predefinita SOAP non definisce semantiche per i dati e le chiamate, ma fornisce agli sviluppatori i mezzi per farlo con un intenso uso dei namespace XML, SOAP permette agli autori dei messaggi di dichiararne la semantica usando grammatiche XML definite per lo scopo nei namespace 13

14 Struttura dei messaggi SOAP Envelope (obbligatorio): identifica il documento XML come un messaggio SOAP Header (opzionale): informazioni addizionali al messaggio, divise in entries, per i diversi attori coinvolti Body (obbligatorio): parte centrale del messaggio, contiene le informazioni di chiamata e risposta Fault (opzionale): contiene errori e informazioni di stato SOAP Envelope SOAP Header (opzionale) Header Entry 1 Header Entry N SOAP Body (obbligatorio) SOAP Fault 14

15 Struttura di un messaggio SOAP <?xml version="1.0"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope" soap:encodingstyle="http://schemas.xmlsoap.org/soap/encoding"> <soap:header> </soap:header> <soap:body> <soap:fault> </soap:fault> </soap:body> Punta al sistema di serializzazione standard di SOAP per i tipi L elemento BODY contiene il messaggio vero e proprio; al suo interno non ci sono elementi definiti da SOAP, ma importati dal namespace del mittente del messaggio; lo stesso può dirsi dell elemento HEADER </soap:envelope> 15

16 SOAP processing model (I) Descrive le azioni che un SOAP processor deve svolgere alla ricezione di un messaggio SOAP Il SOAP processor deve saper riconoscere le parti di messaggio specifiche di SOAP (envelope, header, body, fault) Una header entry può contenere un attributo actor (un qualsiasi URI) che specifica il ruolo del destinatario di quel blocco Se non viene specificato, l actor predefinito è sempre il destinatario del messaggio 16

17 SOAP processing model (I) 17

18 SOAP processing model: esempio Supponiamo di voler certificare il contenuto dei nostri messaggi SOAP, avvalendoci dei servizi offerti da una terza società, che ci fornisce un token con il quale marcare il messaggio SOAP per riconoscerlo come valido La soluzione migliore (a meno di casi particolari) è sfruttare il supporto all estendibilità dei messaggi offerto da SOAP, attraverso le header entries... <soap:header> <notary:token xmlns:notary="http://notaries-r-us.com" soap:actor="http://www.w3schools.com/appml/">xq34z-4g5 </notary:token> </soap:header>... </soap:envelope> 18

19 Headers con attori L attore destinatario di una header entry deve sempre rimuoverla prima di inoltrare il messaggio all attore successivo lungo il path che conduce al destinatario Un attore può, se vuole, inserire altre header entries nel messaggio, senza però toccare il corpo del messaggio stesso 19

20 SOAP processing model (I) 20

21 SOAP processing model (II) Attori standard (URI next: ogni SOAP processor intermedio deve processare l elemento, perché esso deve essere esaminato dal successivo processor lungo il cammino di un messaggio none: nessun SOAP processor intermedio deve processare l elemento, a meno che venga richiesto da altri task ultimatereceiver: solo l ultimo SOAP processor che riceve il messaggio deve processare l elemento L elemento BODY è sempre indirizzato al processor con ruolo anonymous 21

22 SOAP processing model (III) È possibile specificare se il destinatario di una header entry debba elaborarla oppure possa ignorarla L attributo mustunderstand ( 1 0 ), inserito in una header entry, specifica quanto segue se posto a 1 indica che l attore deve elaborare la entry; se questo non è possibile, l attore deve generare un errore se posto a 0 indica che l elaborazione della entry è opzionale (valore di default) <soap:header> <notary:token xmlns:notary="http://notaries-r-us.com" soap:actor=http://www.w3schools.com/appml/ soap:mustunderstand="1">234 </notary:token > </soap:header>... </soap:envelope> 22

23 SOAP Body L elemento Body contiene il messaggio vero e proprio trasportato dal protocollo SOAP (è semanticamente equivalente ad una header entry con mustunderstand= 1 e actor non specificato) <?xml version="1.0"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope" soap:encodingstyle="http://schemas.xmlsoap.org/soap/encoding"> <soap:body> <m:getprice xmlns:m="http://www.example.org/stock"> <m:item>apples</m:item> </m:getprice> </soap:body> </soap:envelope> 23

24 Gestione errori: SOAP fault SOAP fornisce un modello per gestire situazioni di errore nel processing di un messaggio nel caso in cui il destinatario o un intermediario non sono stati in grado di elaborare la loro parte di messaggio L elemento Body ha un unico sotto-elemento predefinito (Fault) in cui specificare le informazioni sull errore verificatosi L elemento Fault contiene: faultcode (obbligatorio) per identificare l errore (VersionMismatch, MustUnderstand, Client, Server) faultstring (obbligatorio) per fornire una descrizione testuale dell errore faultactor (obbligatorio) per identificare il SOAP processor che ha generato l errore details (opzionale) per fornire informazioni applicative specifiche (tramite opportuno namespace), inserito solo se l errore è stato provocato dall elaborazione del Body (negli altri casi va inserita una nuova header entry) 24

25 SOAP encoding La codifica dei tipi è utilizzata per la serializzazione dei valori nei messaggi La codifica standard dei tipi di SOAP è indicata ponendo l attributo encodingstyle di un elemento al namespace Tuttavia, gli sviluppatori possono definire ed utilizzare anche altre codifiche dei tipi Descriveremo di seguito gli aspetti fondamentali della codifica SOAP per i tipi, che è usata anche in altri linguaggi come il WSDL 25

26 Codifica SOAP dei tipi semplici I tipi semplici sono tutti quelli definibili come simpletype negli Schemi XML (per esempio, string, decimal) In un messaggio SOAP, un valore di tipo semplice è serializzato all interno di un elemento detto accessor del valore Il tipo può venire specificato nel messaggio tramite l attributo type 26

27 Codifica SOAP dei tipi semplici I tipi semplici sono tutti quelli definibili come simpletype negli Schemi XML (per esempio, string, decimal)... In un messaggio SOAP, un valore di tipo semplice è serializzato all interno di un elemento detto accessor del valore <?xml version="1.0"?> <soap:envelope encodingstyle="http://schemas.xmlsoap.org/soap/encoding" Il tipo xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" può venire specificato nel messaggio tramite l attributo type o nel namespace che definisce xmlns:xsd="http://www.w3.org/1999/xmlschema"> la grammatica del messaggio <soap:body> <m:getstockpriceresponse xmlns:m="http://www.example.org/stock"> <m:price xsi:type= xsd:decimal >34.5</m:Price> Accessor </m:getstockpriceresponse> </soap:body> </soap:envelope> 27

28 Codifica SOAP dei tipi semplici I tipi semplici sono tutti quelli definibili come simpletype negli Schemi XML (per esempio, string, decimal)... In un messaggio SOAP, un valore di tipo semplice è serializzato all interno di un elemento detto accessor del valore <?xml version="1.0"?> <soap:envelope encodingstyle="http://schemas.xmlsoap.org/soap/encoding" Il tipo xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" può venire specificato nel messaggio tramite l attributo type o nel namespace che definisce xmlns:xsd="http://www.w3.org/1999/xmlschema"> la grammatica del messaggio <soap:body> <m:getstockpriceresponse xmlns:m="http://www.example.org/stock"> <m:category xsi:type= m:stockcategory >Energy</m:category> </m:getstockpriceresponse> </soap:body> </soap:envelope> 28

29 Codifica SOAP di strutture Una struttura dati in SOAP è codificata tramite un elemento (che è l accessor dell intera struttura) contenente altri elementi nidificati, che sono gli accessor dei singoli membri della struttura 29

30 Codifica SOAP di strutture <element Una struttura name= Book > dati in SOAP è codificata tramite un elemento (che è l accessor dell intera <complextype> struttura) contenente altri elementi nidificati, che sono gli accessor dei <element name= author type = xsd:string /> singoli membri della struttura <element name= preface type = xsd:string /> <element name= intro type = xsd:string /> </complextype> </element> <?xml version="1.0"?> <soap:envelope encodingstyle="http://schemas.xmlsoap.org/soap/encoding" > <soap:body>... <e:book xmlns:e="http://www.example.org/library"> <e:author>henry Ford</e:author> <e:preface>prefactory text</e:preface> <e:intro>this is a book</e:intro> </e:book>... </soap:body> </soap:envelope> 30

31 Codifica SOAP di strutture <?xml version="1.0"?> <soap:envelope encodingstyle="http://schemas.xmlsoap.org/soap/encoding" > <soap:body>... <e:book xmlns:e="http://www.example.org/library"> <e:title>my Life and Work</e:title> <e:author href= #Person-1 /> </e:book> <e:person id= Person-1 > <e:name>henry Ford</e:name> <e:address href= #Address-1 /> </e:person> </soap:body> </soap:envelope> 31

32 Codifica SOAP di array Il SOAP encoding fornisce un elemento Array per serializzare matrici e vettori Le istanze di un elemento Array devono contenere un attributo arraytype che specifica il tipo degli elementi dell array 32

33 Codifica SOAP di array Il SOAP encoding fornisce un elemento Array per serializzare matrici e vettori <?xml version="1.0"?> <soap:envelope encodingstyle="http://schemas.xmlsoap.org/soap/encoding" Le istanze di un elemento Array devono contenere un attributo arraytype che > specifica il tipo degli elementi dell array <soap:body>... <p:person xmlns:p="http://www.example.org/library"> <p:name>devis Bianchini</p:name> <p:phonenumbers soap:arraytype= p:phonenumber[2] /> <p:phonenumber> </p:phoneNumber> <p:phonenumber> </p:phoneNumber> </p:phonenumbers> </p:person> </soap:body> </soap:envelope> 33

34 SOAP over HTTP Un messaggio SOAP, inviato utilizzando HTTP come protocollo di trasporto, fa sempre uso del metodo POST; il messaggio SOAP sta nel payload della richiesta/risposta HTTP Un messaggio HTTP POST che trasporta un payload SOAP deve necessariamente inserire nel suo header il campo SOAPAction Il contenuto del campo SOAPAction è un URI (anche vuoto) che dovrebbe fornire delle informazioni riguardanti il contenuto del messaggio SOAP allegato (lo vediamo più avanti) 34

35 Risposta ai messaggi HTTP SOAP Per inviare la risposta a un messaggio SOAP, il server deve attenersi allo standard HTTP Il contenuto della risposta sarà il messaggio SOAP di ritorno, eventualmente indicante un errore di elaborazione (tramite l elemento Fault) Se il messaggio SOAP ha generato un errore, il server dovrà restituire il messaggio SOAP riguardante l errore stesso unitamente al codice HTTP 500/Internal Server Error 35

36 RPC con SOAP (I) La codifica di una RPC con SOAP segue alcune regole convenzionali, riguardanti: l indicazione della risorsa (oggetto) alla quale è indirizzata la chiamata l indicazione del metodo da invocare l eventuale trasmissione della signature del metodo, per una sua più corretta identificazione la trasmissione dei parametri del metodo e del valore di ritorno dello stesso 36

37 RPC con SOAP (II) L indicazione della risorsa (oggetto) alla quale è indirizzata la chiamata avviene in maniera dipendente dal protocollo usato per trasportare il messaggio usando HTTP, sarà la URI richiesta al server a specificare l oggetto del quale si vuole invocare un determinato metodo convenzionalmente, l header field SOAPAction conterrà la URI completa dell oggetto seguita dal nome del metodo POST /InStock HTTP/1.1 SOAPAction= Indirizzo server Oggetto Metodo 37

38 RPC con SOAP (III) La chiamata al metodo viene codificata come una struttura XML nel Body del payload SOAP, in cui: l elemento radice della struttura ha lo stesso nome del metodo da chiamare i parametri sono codificati come elementi figli della radice, dichiarati con lo stesso nome e tipo del corrispondente parametro formale del metodo ed elencati nello stesso ordine con cui compaiono nella signature del metodo per l eventuale tipo ritornato dalla chiamata si crea un elemento a parte che figurerà solo nel messaggio di risposta 38

39 RPC con SOAP: esempio (I) public class stock { public double GetPrice(String Item) { double Price = ; return Price; } } <xsd:element name= GetPrice > <xsd:complextype> <xsd:sequence> <xsd:element name= Item type= xsd:string /> </xsd:sequence> </xsd:complextype> </xsd:element> Fase 1. Codifica XML della signature del metodo Nel riquadro in alto vediamo la classe stock e il metodo GetPrice che intendiamo invocare con SOAP/RPC Nel secondo riquadro usiamo la codifica standard di SOAP/RPC per descrivere lo schema degli elementi che incapsulano la chiamata al metodo; questo schema verrà associato al namespace 39

40 RPC con SOAP: esempio (II) Fase 2. Creazione del messaggio SOAP Il messaggio contenente la RPC viene creato seguendo le regole della codifica SOAP ed associato allo schema appena creato <?xml version="1.0"?> <soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope" soap:encodingstyle= xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" xmlns:xsd="http://www.w3.org/1999/xmlschema"> <soap:body> <m:getprice xmlns:m="http://www.example.org/stock"> <m:item xsi:type= xsd:string >Apples</m:Item> </m:getprice> </soap:body> </soap:envelope> 40

41 RPC con SOAP: esempio (III) POST /InStock HTTP/1.1 Content-Type: text/xml; charset=utf-8 Content-Length: nnn SOAPAction= <?xml version="1.0"?> <soap:envelope </soap:envelope> Fase 3. Creazione della request HTTP Il nome dell oggetto da chiamare (stock) è specificato all interno dell URI richiesta, mentre l header SOAPAction riporta anche il nome del metodo da chiamare; il payload della richiesta POST contiene il messaggio preparato nella fase precedente 41

42 RPC con SOAP: risposta L esito della chiamata, se positivo, viene codificato come una struttura XML dove: l elemento radice ha convenzionalmente il nome del metodo seguito da Response il primo elemento della struttura rappresenta il valore di ritorno del metodo; il suo nome non ha importanza, ma ovviamente il tipo deve coincidere con quello ritornato dal metodo a seguire vengono inseriti, nell ordine con cui compaiono nella signature, i valori di tutti i parametri di tipo [out] e [in/out] del metodo 42

43 RPC con SOAP: esempio (IV) <xsd:element name= GetPriceResponse > <xsd:complextype> <xsd:sequence> <xsd:element name= Price type= xsd:decimal /> </xsd:sequence> </xsd:complextype> </xsd:element> HTTP/ OK Content-Type: text/xml; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:envelope <soap:body xmlns:m="http://www.example.org/stock"> <m:getpriceresponse> <m:price xsi:type= xsd:decimal >24.9</m:Price> </m:getpriceresponse> </soap:body> </soap:envelope> Fase 4. Ricezione della risposta via HTTP Nel riquadro in alto vediamo lo schema del messaggio SOAP di ritorno per il metodo GetPrice; il server invia il messaggio di risposta come fosse un normale contenuto HTTP, ad esempio una pagina HTML; l header contiene un codice che ci informa che l elaborazione della richiesta ha avuto successo 43

44 WSDL: Web Service Description Language 44

45 Il linguaggio WSDL WSDL è un linguaggio basato su XML per definire e descrivere Web service Un documento WSDL specifica la posizione (URL) del servizio e le operazioni che un servizio offre Più precisamente: una descrizione astratta di una classe di servizi un insieme di descrizioni di servizi concreti conformi alla descrizione astratta 45

46 Caratteristiche del linguaggio WSDL presenta le caratteristiche architetturali di molti altri linguaggi basati su XML: il linguaggio fa riferimento e si integra con standard esistenti, evitando di ridefinire ciò che esiste già: WSDL predilige l uso di XML Schema per il type system e di SOAP per la definizione dei messaggi il linguaggio è comunque estendibile, anche l uso di XML Schema e SOAP è consigliato, ma non è obbligatorio 46

47 Struttura di un documento WSDL <definitions> <types> definizioni dei types... </types> <message> definizione di un message... </message> <porttype> definizione di un port... (set di operations) </porttype> <binding> definizione di un binding... </binding> <service> collezione di port... </service> </definitions> 47

48 Descrivere un servizio Web WSDL separa gli aspetti astratti nella descrizione di un Web service da quelli concreti livello astratto: il servizio viene definito genericamente riferendosi alle operazioni offerte (interfacce) e al tipo di messaggi scambiati per ciascuna di esse livello concreto: le descrizioni astratte vengono istanziate legandole a una implementazione reale (procolli, indirizzi di rete, ecc.) Vantaggi lo stesso servizio può avere implementazioni diverse, basandosi sulla stessa descrizione astratta le descrizioni astratte possono essere riutilizzate, tutte o in parte, nella creazione di nuovi servizi 48

49 WSDL descrizione astratta Un insieme (opzionale) di TIPI (types): nuovi tipi XML schema che potranno essere usati nella specifica Un insieme di MESSAGGI (messages): descrizioni astratte (tipi e nomi) dei dati scambiati con il Web Service (eventualmente usando i tipi sopra definiti) Un insieme di OPERAZIONI (operations): descrizioni astratte delle azioni supportate da un Web Service Una o più porttype: collezioni di operazioni (interfacce) esposte dal Web service 49

50 WSDL descrizione concreta Un binding è la specifica di un particolare protocollo di comunicazione e di un formato dei dati per una certa porttype è possibile specificare diversi binding per un certo porttype (es., su HTTP, mail, SOAP, ecc.) noi descriveremo il binding SOAP su HTTP, che utilizza SOAP per codificare i messaggi e HTTP come trasporto Una port è descritta da: una porttype [interfaccia e specifica del servizio] un binding [come funziona il servizio] un indirizzo di rete (URL) [dove trovare il servizio] Un service è una collezione di port tra loro correlate 50

51 Messaggi Ciascun messaggio ha un nome univoco ed è costituito da una o più parti, ciascuna con un nome e un tipo distinti ad esempio, se un messaggio rappresenta la codifica di una RPC, le sue parti sono solitamente gli argomenti della chiamata o il valore di ritorno il type system preferito del WSDL è quello di XML Schema Per definire i tipi usati all interno del documento, WSDL usa l elemento <types>: types è il primo figlio di definitions all interno di types è possibile inserire un intero schema XML (incorporato nel tag <schema>) o qualsiasi altra definizione di tipo valida e definibile tramite la notazione XML è anche possibile far riferimento a schemi esterni al documento XML 51

52 Operazioni WSDL L operazione (operation) è l unità di interazione elementare con un Web service ed è eseguita attraverso lo scambio di messaggi Convenzionalmente: input messages: messaggi inviati dall utilizzatore al Web Service output messages: messaggi inviati dal Web Service L interazione con i Web Service può essere asincrona; scambi asincroni possono verificarsi all interno di una operazione a due messaggi, oppure tra due operazioni a messaggio singolo 52

53 Tipi di operazioni WSDL Un operazione può essere: one-way: il Web Service riceve un messaggio (input message) request-response: il Web Service riceve una richiesta (input message) e restituisce la risposta relativa (output message) solicit-response: il Web Service invia un messaggio (output message) e riceve una risposta (input message) notification: il Web Service invia un messaggio (output message) 53

54 Riassunto della definizione astratta 54

55 Esempio WSDL (parte astratta) <definitions name= PlaceFinder > <types> </types> <message name= findplace1soapin > <part name= arg0 type= xsd:string /> </message> <message name= findplace1soapout > <part name= Result type= LocationInfo /> </message> <porttype name= PlaceFinderSoap > <operation name= findplace > <input name= findplace1soapin message= findplace1soapin /> <output name= findplace1soapout message= findplace1soapout /> </operation> </porttype> </definitions> Request-response operation 55

56 SOAP binding Gli elementi del namespace SOAP contenuti nell elemento binding servono a descrivere come costruire un messaggio SOAP a partire dal messaggio definito in WSDL L elemento soap:binding specifica lo stile default di codifica da usare per tradurre le parti del messaggio WSDL in quelle di un messaggio SOAP (Header e Body) e il tipo di trasporto utilizzato da SOAP (per esempio, HTTP) 56

57 Stili di codifica Lo stile di codifica, specificato dall attributo style di soap:binding, può essere: rpc: il messaggio WSDL viene codificato come una RPC; all interno del Body del messaggio viene inserito un elemento con lo stesso nome dell operazione e tanti figli quante sono le part del messaggio associato document: il messaggio WSDL viene codificato usandone il contenuto letteralmente; in questo caso, ogni part del messaggio associato a un operazione figurerà come figlio distinto dell elemento Body nel messaggio SOAP 57

58 Stili di codifica: esempio <message name= twopartsopin > <part name= arg0 type= xsd:string /> <part name= arg1 type= xsd:double /> </message> <porttype name= twopartsport > <operation name= twopartsop > <input name= twopartsopin message= twopartsopin /> </operation> </porttype> <binding name= SoapGeneric type= twopartsport > <soap:binding style= transport= /> </binding> <soap:body> <twopartsop> <arg0/> <arg1/> </twopartsop> </soap:body> style= rpc <soap:body> <arg0/> <arg1/> </soap:body> style= document 58

59 Binding delle operazioni All interno dell elemento binding vengono ripetuti gli elementi operation della corrispondente porta astratta, aggiungendo le informazioni sul binding In ciascuna operation dovrà essere inserito un elemento soap:operation che specifica lo stile di codifica dell operazione, solo se diverso da quello dichiarato nel soap:binding (attributo style) la SOAPAction associata, solo se il trasporto è HTTP (attributo soapaction) 59

60 Binding degli input/output Il contenuto degli elementi input e/o output che compongono ciascuna operation non deve essere ripetuto all interno del binding Gli input e output conterranno invece dei nuovi elementi che specificano più in dettaglio come verrà costruito il corrispondente messaggio SOAP, in particolare quali informazioni dovranno essere mappate nell Header e quali nel Body del messaggio 60

61 Binding degli input/output: Body Per definire il contenuto del corpo del messaggio SOAP si usa l elemento soap:body specificando: le parti del messaggio che saranno incluse nel corpo (attributo parts); se non presente, tutte le parti del messaggio saranno inserite nel Body la codifica dei tipi interessati (attributi use e encodingstyle) use= encoded richiede la codifica di ogni parte in base al suo tipo secondo le regole di encodingstyle use= literal indica che le parti vanno copiate letteralmente nel messaggio il namespace di provenienza degli elementi usati nel messaggio (attributo namespace) 61

62 Binding degli input/output: esempio <binding name= PlaceFinderSoap type= PlaceFinderSoap > <soap:binding style= rpc transport= /> <operation name= findplace > <soap:operation soapaction= findplace style= rpc /> <input name= findplace1soapin > <soap:body use= encoded namespace= encodingstyle= /> </input> <output name= findplace1soapout > <soap:body use= encoded namespace= encodingstyle= /> </output> </operation> </binding> 62

63 Binding degli input/output: Header Opzionalmente, è possibile mappare anche alcune parti del messaggio nell Header del messaggio SOAP Ciascuna header entry è ottenuta con l elemento soap:header specificando: il messaggio e la sua parte che diventerà una header entry (attributi message e part) gli elementi della parte interessata possono includere gli attributi actor e mustunderstand di SOAP, ma solo se use= literal la codifica dei tipi (use e encodingstyle) e il namespace degli elementi (attributo namespace) 63

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

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

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

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

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

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

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

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

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

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

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

Web Services. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A.

Web Services. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. Tecniche di Programmazione avanzata Corso di Laurea Specialistica in Ingegneria Telematica Università Kore Enna A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it

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

Gestione XML della Porta di Dominio OpenSPCoop

Gestione XML della Porta di Dominio OpenSPCoop i Gestione XML della Porta di Dominio ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Hello World! 2 3 Configurazione XML della Porta di Dominio 5 3.1 Soggetto SPCoop...................................................

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

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

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

UDDI e WSDL: navigare sicuri nel mare dei Web. Col passare del tempo, la rete delle reti

UDDI e WSDL: navigare sicuri nel mare dei Web. Col passare del tempo, la rete delle reti UDDI Col proliferare dei Web service e delle aziende che li forniscono, si sente il bisogno di mettere ordine, per sfruttare pienamente le potenzialità dei servizi disponibili in rete UDDI e WSDL: navigare

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

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

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

Creare client statici

Creare client statici Client statico Creare client statici Un client statico crea, a partire dal WSDL di un servizio, un insieme di classi di supporto client-side (stub) Sono necessari solo 2 passi: 1. parsing del WSDL pubblicato

Dettagli

WSDL. Ing. dell Informazione Gestione dei Servizi Telematici Federica Paganelli 1

WSDL. Ing. dell Informazione Gestione dei Servizi Telematici Federica Paganelli 1 WSDL Ing. dell Informazione Gestione dei Servizi Telematici Federica Paganelli 1 Cos è WSDL? Web Service Description Language Linguaggio XML per descrivere servizi web (o, meglio, le loro interfacce) Originariamente

Dettagli

Client e Server comunicano tramite il protocollo SOAP.

Client e Server comunicano tramite il protocollo SOAP. In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura

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

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

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

I Servizi dell'architettura Web Services. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

I Servizi dell'architettura Web Services. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com I Servizi dell'architettura Web Services Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com La struttura del messaggio SOAP Un messaggio SOAP consiste di: Envelope, identifica il contenuto del

Dettagli

Un vincitore è un sognatore. che non si è mai arreso. (Nelson Mandela) Ai miei fantastici genitori

Un vincitore è un sognatore. che non si è mai arreso. (Nelson Mandela) Ai miei fantastici genitori Un vincitore è un sognatore che non si è mai arreso. (Nelson Mandela) Ai miei fantastici genitori ABSTRACT Il web è cambiato! In questi ultimi anni internet ha subito grandi cambiamenti, è passato da

Dettagli

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1

Dettagli

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language a.a. 2004/05 Tecnologie Web 1 XML - I XML (exstensible Markup Language): XML è un formato standard,

Dettagli

I Servizi dell'architettura Web Services. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

I Servizi dell'architettura Web Services. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com I Servizi dell'architettura Web Services Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com La struttura del messaggio SOAP Un messaggio SOAP consiste di: Envelope, identifica il contenuto del

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

Modelli per la descrizione di protocolli

Modelli per la descrizione di protocolli POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Modelli per la descrizione di protocolli asincroni basati sull usouso di servizi Web Relatore: Prof. Stefano Ceri Correlatori: Ing. Marco

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Modalità d integrazione trasparente 1 3 Modalità d integrazione tramite

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

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

PARTE 11. Web Services

PARTE 11. Web Services PARTE 11 Web Services Parte 11 Modulo 1: Motivazioni Il miraggio dell informatica moderna Integrazione delle applicazioni Interoperabilità In pratica, ogni meccanismo che consenta a diversi sistemi software

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

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

UNIVERISTA DEGLI STUDI DELLA BASILICATA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Informatica

UNIVERISTA DEGLI STUDI DELLA BASILICATA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Informatica UNIVERISTA DEGLI STUDI DELLA BASILICATA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Informatica TESI DI LAUREA SPECIALISTICA CONFRONTO TRA PIATTAFORME OPEN-SOURCE

Dettagli

WebServices. Distribuire una computazione. Sistemi che usano RPC Sun RPC RPC. Il Web usato dai programmi. Vincenzo Gervasi

WebServices. Distribuire una computazione. Sistemi che usano RPC Sun RPC RPC. Il Web usato dai programmi. Vincenzo Gervasi 1 Distribuire una computazione WebServices Il Web usato dai programmi Vincenzo Gervasi Dipartimento di Informatica Università di Pisa L idea di distribuire una computazione è vecchia quasi quanto l informatica

Dettagli

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna

Web Service: Introduzione. Algoritmi e sistemi di elaborazione - Vittorio Maniezzo - Università di Bologna Web Service: Introduzione 1 Contenuti Background.NET Framework ASP.NET Web Service Concetti e architetture Progettazione e sviluppo di Web Service Utilizzo di Web Service 2 Sezione 1: Introduzione Inquadramento

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

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2

Manuale SDK di OpenSPCoop2 i. Manuale SDK di OpenSPCoop2 i Manuale SDK di OpenSPCoop2 ii Copyright 2005-2013 Link.it srl iii Indice 1 Introduzione 1 2 La Personalizzazione del Protocollo di Cooperazione 1 3 Il Software Development Kit 2 3.1 Gestione dei payload.................................................

Dettagli

Classificazione dei Web Services

Classificazione dei Web Services Web Services Programmazione in ambienti distribuiti Anno 2004-2005 Claudio Zunino Classificazione dei Web Services Interattiva il client è umano ed utilizza tipicamente un web browser Sviluppati usando

Dettagli

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

JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa JBoss ESB Un caso d'uso italiano: La Porta di Dominio per la Cooperazione Applicativa Andrea Leoncini JBoss Stefano Linguerri - Pro-netics Agenda JBoss ESB le SOA e la Porta di Dominio Le specifiche CNIPA

Dettagli

INF-1: Specifiche Tecniche di Interfaccia

INF-1: Specifiche Tecniche di Interfaccia INF-1: Specifiche tecniche di Interfaccia INF-1: Specifiche Tecniche di Interfaccia Versione 1.1 Nome doc.: INF-1 Specifiche Interfaccia v1.0.doc Edizione: 1.0 Data emissione: 12/1/2007 INDICE Modifiche

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Guida alla programmazione e integrazione di servizi in OpenSPCoop AZIONE

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

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

UNIVERSITA DEGLI STUDI DI NAPOLI. Federico II. Web Services

UNIVERSITA DEGLI STUDI DI NAPOLI. Federico II. Web Services UNIVERSITA DEGLI STUDI DI NAPOLI Federico II Corso di Laurea in Ingegneria Informatica DIPARTIMENTO DI INFORMATICA E SISTEMISTICA TESI DI LAUREA IN SISTEMI INFORMATIVI Web Services Tecnologie abilitanti

Dettagli

OpenSPCoop: un implementazione della Specifica di Cooperazione Applicativa per la Pubblica Amministrazione Italiana

OpenSPCoop: un implementazione della Specifica di Cooperazione Applicativa per la Pubblica Amministrazione Italiana UNIVERSITÀ DI PISA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Tecnologie Informatiche Tesi di Laurea Specialistica OpenSPCoop: un implementazione della Specifica

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

Introduzione ad Architetture Orientate ai Servizi e Web Service

Introduzione ad Architetture Orientate ai Servizi e Web Service Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno

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

Web Service. Massimo Martinelli Massimo.Martinelli@isti.cnr.it

Web Service. Massimo Martinelli Massimo.Martinelli@isti.cnr.it 29/05/2010, Area Ricerca CNR, Pisa Web Service Introduzione Massimo Martinelli Massimo.Martinelli@isti.cnr.it Consiglio Nazionale delle Ricerche - CNR Istituto di Scienza e Tecnologie della Informazione

Dettagli

Il Sistema di interscambio: Prodotti di TEST a supporto dell adesione ai servizi

Il Sistema di interscambio: Prodotti di TEST a supporto dell adesione ai servizi Pagina 1 di 18 Il Sistema di interscambio: Prodotti di TEST a supporto dell adesione ai servizi Indice 1 INTRODUZIONE... 2 2 CLIENT SOAP... 2 2.1 INSTALLAZIONE DEL CLIENT SOAP... 2 2.1.1 PREREQUISITI...

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

PROGETTO TESSERA SANITARIA WEB SERVICES

PROGETTO TESSERA SANITARIA WEB SERVICES PROGETTO TESSERA SANITARIA WEB SERVICES Pag. 2 di 173 1 REVISIONI DEL DOCUMENTO... 6 2 GENERALITÀ... 6 2.1 STANDARD TECNICI... 7 2.2 LINGUAGGIO COMUNE... 7 2.3 WEB SERVICES... 8 2.4 WSDL (WEB SERVICE DESCRIPTION

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

Service Oriented Architectures e Web Services

Service Oriented Architectures e Web Services Service Oriented Architectures e Web Services Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.17 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Evoluzione

Dettagli

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop i Tutorial di configurazione e programmazione di OpenSPCoop ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Ambiente di sviluppo 1 3 Presentazione degli scenari di esempio 2 4 Comunicazione

Dettagli

Analisi,Studio e Sperimentazione di Tecnologie Web Service

Analisi,Studio e Sperimentazione di Tecnologie Web Service Università di Roma "La Sapienza" Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Tesina di Seminari di Ingegneria del software Prof. Giuseppe De Giacomo Analisi,Studio e Sperimentazione

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Realizzazione di un sistema per l archiviazione, la conservazione sostitutiva e la dematerializzazione dei documenti

Realizzazione di un sistema per l archiviazione, la conservazione sostitutiva e la dematerializzazione dei documenti 1/27 PROGETTO AIRUMBRIA la conservazione sostitutiva e la dematerializzazione dei documenti MODULI SW REALIZZATI E FUNZIONANTI DEL SERVIZIO DI CONSERVAZIONE - (documento 6.6.1) 2/27 Data: 1/6/2011 Compilato:

Dettagli

Web Services. [Papazoglou] Papazoglou, Web Services Principles and Technology, 2008

Web Services. [Papazoglou] Papazoglou, Web Services Principles and Technology, 2008 Luca Cabibbo Architetture Software Dispensa ASW 450 ottobre 2014 La cosa bella degli standard è che ce ne sono così tanti tra cui scegliere. Andrew S. Tanenbaum 1 -Fonti [Papazoglou] Papazoglou, Principles

Dettagli

Ultimo aggiornamento sett13

Ultimo aggiornamento sett13 Ultimo aggiornamento sett13 INDICE 1. Invio singolo SMS tramite richiesta POST/GET HTTP...3 1.1 - Messaggi singoli concatenati...4 2. Invio multiplo SMS tramite richiesta POST/GET HTTP...4 2.1 - Messaggi

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

SOAP e i Web Services

SOAP e i Web Services SOAP e i Web Services Ringraziamenti Corso di Tecnologie Web, prof. Fabio Vitali, Università di Bologna Moreno Marzolla INFN Sezione di Padova moreno.marzolla@pd.infn.it http://www.dsi.unive.it/~marzolla

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

UN INTRODUZIONE RAGIONATA AL MONDO DEI WEB SERVICE

UN INTRODUZIONE RAGIONATA AL MONDO DEI WEB SERVICE UN INTRODUZIONE RAGIONATA A MONDO DEI EB SERVICE Il paradigma del Service Oriented Computing è visto come una rivoluzione nella comunità informatica e i eb Service una sua realizzazione. a possibilità

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

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2015 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.19 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Client- Server 3-Tier Web Application Web Services

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Tesi di Laurea. Modelli per la descrizione di protocolli asincroni basati sull uso di servizi Web

Tesi di Laurea. Modelli per la descrizione di protocolli asincroni basati sull uso di servizi Web POLITECNICO DI MILANO Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione Tesi di Laurea Modelli per la descrizione di protocolli asincroni basati

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

Global Weather Web Service

Global Weather Web Service Corso di Laurea Specialistica in Informatica Global Weather Web Service Matr.0120444 A.A. 2007-2008 1/99 Premessa La presente documentazione viene redatta come progetto conclusivo del corso di Laboratorio

Dettagli

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO 1)d ALLEGATO 14 RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO TRA IL SISTEMA INFORMATICO DEL COMUNE ED IL SISTEMA INFORMATICO DELLA SOCIETA PREPOSTA AL SERVIZIO DI REFEZIONE vers. 2.2 Indice 1. SCOPO

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

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

Definizione delle interfacce di colloquio fra le componenti

Definizione delle interfacce di colloquio fra le componenti Definizione delle interfacce di colloquio fra le componenti (integrazione documento) 1 DOCUMENTO:. 1.2 Emesso da: EMISSIONE VERIFICA APPROVAZIONE Nome firma Verificato da: Approvato da: Area ISIC LISTA

Dettagli

Introduzione a XML. Language

Introduzione a XML. Language Introduzione a XML 1 Che cos è XML? XML: Extensible Markup Language anguage: è un linguaggio che consente la rappresentazione di documenti e dati strutturati su supporto digitale è uno strumento potente

Dettagli

Agenda. Seminario. Cedac Software - Hardware. Cedac Software S.r.l.

Agenda. Seminario. Cedac Software - Hardware. Cedac Software S.r.l. Seminario Architetture SOA in ambito bancario: Tecnologia ed applicazioni Agenda Cedac Software ed il suo Business SOA e Web Services Realizzazione di un Caso di Studio Nuove tecnologie WS-* Q&A Cedac

Dettagli

Manuale A.P.I. www.smsend.it. application programming interface versione 1. API application programming interface 1

Manuale A.P.I. www.smsend.it. application programming interface versione 1. API application programming interface 1 Manuale A.P.I. application programming interface versione 1 www.smsend.it API application programming interface 1 INVENTA. PROGETTA. SVILUPPA. 3 CREAZIONE CLIENTI IN POST HTTP 4 Parametri autenticazione

Dettagli

Progetto di Laboratorio di Reti: chat-0.1

Progetto di Laboratorio di Reti: chat-0.1 Progetto di Laboratorio di Reti: chat-0.1 Federico Fortini 13 aprile 2006 1 Descrizione dei requisiti Sviluppare un servizio di messaggistica (chat) su connessione cifrata con SSL. La chat deve avere una

Dettagli

Accordi. Tecnologie di cooperazione. Cooperazione fra Amministrazioni

Accordi. Tecnologie di cooperazione. Cooperazione fra Amministrazioni Alcune considerazioni nell ambito di un sistema di cooperazione informatico che preveda lo scambio di dati tra due o più organizzazioni. Quando parliamo di un sistema di cooperazione informatico ci riferiamo

Dettagli

Servizi medra Report e HTTPCallback

Servizi medra Report e HTTPCallback Servizi medra Report e HTTPCallback Versione documento: 1.0 Data creazione: 01 dicembre 2011 Data ultima modifica: 01 dicembre 2011 1. Introduzione...2 2. Report...2 3. Modalità di Notifica...3 A. Elenco

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

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

PORTA DI DOMINIO. Sistema pubblico di cooperazione: Versione 1.0. Sistema Pubblico di Connettività e Cooperazione

PORTA DI DOMINIO. Sistema pubblico di cooperazione: Versione 1.0. Sistema Pubblico di Connettività e Cooperazione Sistema Pubblico di Connettività e Cooperazione Sistema pubblico di cooperazione: PORTA DI DOMINIO Versione 1.0 Nome doc.: oop-portadominio_v1.0_20051014.doc Versione: 1.0 Data emissione: 14 ottobre 2005

Dettagli

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 tesi di laurea Anno Accademico 2006/2007 Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Marcello Cinque candidato Antonio Alonzi Matr.

Dettagli

Web Service e Microsoft.NET Framework

Web Service e Microsoft.NET Framework Web Service e Microsoft.NET Framework Silvano Coriani (scoriani@microsoft.com( scoriani@microsoft.com) Academic Developer Evangelist Developer & Platform Evangelism Microsoft Microsoft Certified Trainer

Dettagli

Sistema pubblico di cooperazione: BUSTA DI E-GOV

Sistema pubblico di cooperazione: BUSTA DI E-GOV Sistema pubblico di cooperazione: BUSTA DI E-GOV Versione 1.2 Data 25/07/2011 Stato: Pubblicato emissione: INDICE 1. MODIFICHE DOCUMENTO... 3 2. INTRODUZIONE... 4 2.1. Scopi del documento... 5 2.2. Note

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

QUALIFICAZIONE DELLA PORTA DI DOMINIO

QUALIFICAZIONE DELLA PORTA DI DOMINIO QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA Versione 1.0 Qualificazione della Porta di INDICE 1. PROCESSO DI QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA 3 2. DESCRIZIONE

Dettagli