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

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

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

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

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

Introduzione alle applicazioni di rete

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

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Dettagli

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

Dettagli

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE Pag. 1 di 14 INDICE 1. Glossario... 3 2. il servizio SPCoop - Ricezione... 5 3. Il web-service RicezioneFatture... 8 3.1 Operazione RiceviFatture... 9 3.1.1

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

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

Dettagli

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO Versione 1.1 INDICE 1. PREFAZIONE 3 1.1 Autori 3 1.2 Modifiche Documento 3 1.3 Riferimenti 4 1.4 Acronimi e Definizioni 4 2. OBIETTIVI E CONTESTO DI RIFERIMENTO

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless La configurazione degli indirizzi IP Configurazione statica, con DHCP, e stateless 1 Parametri essenziali per una stazione IP Parametri obbligatori Indirizzo IP Netmask Parametri formalmente non obbligatori,

Dettagli

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP Reti di Calcolatori IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP D. Talia RETI DI CALCOLATORI - UNICAL 6-1 Applicazioni di Rete Domain Name System (DNS) Simple Network Manag. Protocol (SNMP) Posta elettronica

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

PRESENTAZIONE DI UN SMS AL GATEWAY

PRESENTAZIONE DI UN SMS AL GATEWAY Interfaccia Full Ascii Con questa interfaccia è possibile inviare i dati al Server utilizzando solo caratteri Ascii rappresentabili e solo i valori che cambiano tra un sms e l altro, mantenendo la connessione

Dettagli

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONNECTING FIRST AND SECOND LIFE Università degli studi di Catania Facoltà di Ingegneria 26 Gennaio 2009 Sommario 1 Introduzione 2 Middleware Middleware:

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

Principali caratteristiche piattaforma web smsmobile.it

Principali caratteristiche piattaforma web smsmobile.it SmsMobile.it Principali caratteristiche piattaforma web smsmobile.it Istruzioni Backoffice Post get http VERSION 2.1 Smsmobile by Cinevision srl Via Paisiello 15/ a 70015 Noci ( Bari ) tel.080 497 30 66

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 3 maggio 2015! Programmazione

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS

www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS www.sms2biz.it Soluzioni professionali per la gestione e l invio di SMS Introduzione La nostra soluzione sms2biz.it, Vi mette a disposizione un ambiente web per una gestione professionale dell invio di

Dettagli

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho

Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Web conferencing e collaborazione in tempo reale su Internet: la piattaforma Meetecho Tobia Castaldi Alessandro Amirante Lorenzo Miniero Simon Pietro Romano Giorgio Ventre 02/10/2009 GARR 2009 "Network

Dettagli

Regole tecniche del servizio di trasmissione di documenti informatici mediante posta elettronica certificata

Regole tecniche del servizio di trasmissione di documenti informatici mediante posta elettronica certificata Regole tecniche del servizio di trasmissione di documenti informatici mediante posta elettronica certificata Pagina 1 di 48 INDICE 1 MODIFICHE DOCUMENTO...4 2 RIFERIMENTI...4 3 TERMINI E DEFINIZIONI...4

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi Prof. S.Pizzutilo Elementi

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette.

Dettagli

SPECIFICHE TECNICHE OPERATIVE DELLE REGOLE TECNICHE DI CUI ALL ALLEGATO B DEL DM 55 DEL 3 APRILE 2013. Versione 1.1

SPECIFICHE TECNICHE OPERATIVE DELLE REGOLE TECNICHE DI CUI ALL ALLEGATO B DEL DM 55 DEL 3 APRILE 2013. Versione 1.1 SPECIFICHE TECNICHE OPERATIVE DELLE REGOLE TECNICHE DI CUI ALL ALLEGATO B DEL DM 55 DEL 3 APRILE 2013 Versione 1.1 INDICE 1. INTRODUZIONE 4 1.1 DEFINIZIONI 4 2. MODALITÀ DI EMISSIONE DELLE FATTURE ELETTRONICHE

Dettagli

Decreto 2 novembre 2005 Regole tecniche per la formazione, la trasmissione e la validazione, anche temporale, della posta elettronica certificata

Decreto 2 novembre 2005 Regole tecniche per la formazione, la trasmissione e la validazione, anche temporale, della posta elettronica certificata Decreto 2 novembre 2005 Regole tecniche per la formazione, la trasmissione e la validazione, anche temporale, della posta elettronica IL MINISTRO PER L'INNOVAZIONE E LE TECNOLOGIE - Visto l articolo 17

Dettagli

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO REGIONE BASILICATA PROCEDURA NEGOZIATA PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, REALIZZAZIONE E GESTIONE DEL SISTEMA INTEGRATO SERB ECM DELLA REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06)

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

Specifiche API. Gestione utenti multipli

Specifiche API. Gestione utenti multipli Specifiche API Gestione utenti multipli v1.3.73 Last update: Ludovico 28/12/2009 Sommario Descrizione del servizio... 3 Come diventare partner... 3 Modalità di accesso al servizio con gestione utenti multipli...

Dettagli

ESEMPI DI FORM (da www.html.it)

ESEMPI DI FORM (da www.html.it) ESEMPI DI FORM (da www.html.it) Vediamo, nel particolare, tutti i tag che HTML 4.0 prevede per la creazione di form. Questo tag apre e chiude il modulo e raccoglie il contenuto dello stesso,

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

IT Club FVG Ditedi CMDBuild: case study di un progetto open source www.cmdbuild.org Fabio Bottega f.bottega@tecnoteca.com

IT Club FVG Ditedi CMDBuild: case study di un progetto open source www.cmdbuild.org Fabio Bottega f.bottega@tecnoteca.com IT Club FVG Ditedi CMDBuild: case study di un progetto open source www.cmdbuild.org Fabio Bottega f.bottega@tecnoteca.com 2 Tecnoteca è nata nel 2000 con sede a Tavagnacco ha scelto da subito di lavorare

Dettagli

I class diagram. Class - names

I class diagram. Class - names I class diagram Forniscono una vista strutturale (statica) del sistema in termini di classi attributi operazioni relazioni tra classi (associazioni, generalizzazioni,...) Un class diagram rappresenta uno

Dettagli

Dalla Mappatura dei Processi al Business Process Management

Dalla Mappatura dei Processi al Business Process Management Dalla Mappatura dei Processi al Business Process Management Romano Stasi Responsabile Segreteria Tecnica ABI Lab Roma, 4 dicembre 2007 Agenda Il percorso metodologico Analizzare per conoscere: la mappatura

Dettagli

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi I semestre 03/04 Inidirizzi IP e Nomi di Dominio Domain Name System Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica

Dettagli

GLI ERRORI DI OUTLOOK EXPRESS

GLI ERRORI DI OUTLOOK EXPRESS Page 1 of 6 GLI ERRORI DI OUTLOOK EXPRESS 1) Impossibile inviare il messaggio. Uno dei destinatari non è stato accettato dal server. L'indirizzo di posta elettronica non accettato è "user@dominio altro

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Interfaccia HTTP rivenditori Specifiche tecniche 03.10.2013

Interfaccia HTTP rivenditori Specifiche tecniche 03.10.2013 i-contact srl via Simonetti 48 32100 Belluno info@i-contact.it tel. 0437 1835 001 fax 0437 1900 125 p.i./c.f. 0101939025 Interfaccia HTTP rivenditori Specifiche tecniche 03.10.2013 1. Introduzione Il seguente

Dettagli

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione Sede di Latina Corso di Laurea in Ingegneria dell Informazione Consorzio Nettuno La fase di realizzazione si occupa

Dettagli

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra A seguire alcune proposte di tirocini/tesi in tre ambiti dell ingegneria del software (non del tutto scorrelati): (1) Model-driven driven

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Attività relative al primo anno

Attività relative al primo anno PIANO OPERATIVO L obiettivo delle attività oggetto di convenzione è il perfezionamento dei sistemi software, l allineamento dei dati pregressi e il costante aggiornamento dei report delle partecipazioni

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

UN ARCHITETTURA UNITARIA. - Il nuovo modello di cooperazione SPC - PER L AGENDA DIGITALE

UN ARCHITETTURA UNITARIA. - Il nuovo modello di cooperazione SPC - PER L AGENDA DIGITALE UN ARCHITETTURA UNITARIA PER L AGENDA DIGITALE - Il nuovo modello di cooperazione SPC - documento.: INDICE ACRONIMI... 3 GLOSSARIO... 5 1. SCOPO E STRUTTURA DEL DOCUMENTO... 6 2. INTRODUZIONE... 7 2.1.

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

Progettazione Orientata agli Oggetti

Progettazione Orientata agli Oggetti Progettazione Orientata agli Oggetti Sviluppo del software Ciclo di vita del software: comprende tutte le attività dall analisi iniziale fino all obsolescenza (sviluppo, aggiornamento, manutenzione) Procedimento

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ Classi ed oggetti. Classi derivate, ereditarietà e polimorfismo. Template Capitoli 12, 13, 14 Luis Joyannes Aguilar. Fondamenti di Programmazione in C++. Algoritmi,

Dettagli

Documentazione tecnica

Documentazione tecnica Documentazione tecnica Come spedire via Post 1.1) Invio di Loghi operatore 1.2) Invio delle Suonerie (ringtone) 1.3) Invio di SMS con testo in formato UNICODE UCS-2 1.4) Invio di SMS multipli 1.5) Simulazione

Dettagli

1. Il Servizio. 2. Protocollo SMS-Server

1. Il Servizio. 2. Protocollo SMS-Server 1. Il Servizio 2. Protocollo SMS-Server 3. Protocollo HTTP Post e Get 3.1) Invio di SMS di testo 3.2) Invio di SMS con testo in formato UNICODE UCS-2 3.3) Simulazione di un invio 3.4) Possibili risposte

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Scuola Specializzazione Istruzione Superiore Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Michele Batocchi ITC Vittorio Emanuele II Perugia A.S. 2007/2008 Introduzione

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli