REST REpresentational State Transfer

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "REST REpresentational State Transfer"

Transcript

1 LEZIONE 21 REST REpresentational State Transfer Anno Accademico Il contesto L'evoluzione di internet impone la realizzazione di sistemi distribuiti scalabili, in grado di Garantire l'interoperabilità tra piattaforme differenti Consumare e/o produrre contenuti indicizzabili, collegabili, dotati di molteplici rappresentazioni alternative Essere semplici da sviluppare e manutenere Supportare il comportamento elastico offerto dai modelli "cloud" (pay per use) 1 Il fatto che HTTP sia stateless è stato vissuto come un grosso impiccio. Quando avevo a che fare con client "stupidi", gestire client complessi era un lavoro demandato al server (per questo motivo sono stati implementati i cookie e le sessioni). L'uso delle sessioni è però anch'esso un grosso impiccio: quando mi ritrovo in una realtà di comunicazione machine-to-machine (es.: GTT va dal signor Google Map e gli chiede qual è il percorso. GTT fa dunque da client verso Google Map) la cosa vive male con i concetti di cookie e sessione. Questo perchè noi non vogliamo basarci su meccanismi di autenticazione. Inoltre non vogliamo avere dipendenze dal tipo di piattaforma: quando a Google chiedo le indicazioni per andare da un posto all'altro, posso ricevere diversi formati di risposta (XML, JSON, rappresentazione testuale...) Dev'essere poi semplice sia lo sviluppo iniziale che la manutenzione: se a un certo punto Google Map aggiunge la bicicletta, l'impatto sulle modifiche che devo fare dev'essere il più basso possibile. 2 Le proprietà fondamentali (1) Eterogeneità Capacità di fare interoperare dispositivi diversi in termini di risorse hardware, sistemi operativi, linguaggi di programmazione, vincoli di gestione,... Scalabilità Capacità di garantire il mantenimento di livelli di servizio al crescere del numero di utenti/transazioni Possibilità di evolvere Proprietà di un'architettura di non introdurre vincoli strutturali che impediscano la manutenzione evolutiva di un servizio Ci sono due soluzioni alternative: - servizi web, protocollo SOAP. SOAP sembrava ragionevole perchè supportava bene l'eterogeneità - scalabilità: SOAP qui casca perchè quando io voglio chiedere un qualcosa a un servizio remoto devo scrivere un XML, imbustarlo e quant'altro. C'è firma elettronica, facilità nel gestire le transazioni, bello. Però per mandare una richiesta mandiamo in giro 5K-10K per ricevere 5K-10K che magari contengono un solo FALSE. - l'interoperabilità si ottiene compilando del codice (wrappandolo). Otteniamo quello che vogliamo ma ho un sacco di roba da fare. Tutte le richieste SOAP vengono passate in POST: questo perchè siccome non si sa a priori se il metodo accede in sola lettura o in lettura/scrittura (= non so se il dato è cacheabile) mando via POST così il dato non è cacheabile. Tutto bello, ma perdo le peculiarità di HTTP. 3 Le proprietà fondamentali (2) Affidabilità/resilienza Capacità di un sistema di mantenere i propri livelli di servizio anche a fronte di malfunzionamenti locali delle sue parti Efficienza Misura del rapporto tra le risorse impegnate per offrire un servizio e il valore del risultato prodotto Prestazioni Valutazione assoluta del tempo/risorse necessarie per erogare un dato servizio 4

2 Il modello REST REST è uno stile con il quale realizzare architetture distribuite in grado di non ostacolare il raggiungimento delle proprietà enunciate Particolarmente adatto per applicazioni distribute che durano a lungo nel tempo Acronimo di Representational State Transfer Concetto introdotto da Roy Fielding nella sua tesi di dottorato (2000) Un tizio allora ha cominciato a dire che non scala e non fa leva su HTTP. Per questo ha creato REST, uno "stile" di fare le cose. L'idea è che esiste già un'infrastruttura di trasporto sottostante: si sfrutta dove possibile, cercando di non violare i suoi principi base (= stateless). Con le sessioni è però facile gestire un lavoro di un singolo utente. L'idea di REST è quella di trasferire una rappresentazione dello stato all'utente, in modo che l'utente possa riprenderla in qualunque momento. Va dunque molto bene per realizzare applicazioni distribuite in cui le sessioni di lavoro tendenzialmente sono d'impiccio (perchè vanno a scadere). 5 I principi fondamentali (1) Architettura client-server priva di stati Per garantire implementazioni semplici e scalabili Un server ospita uno o più servizi Ogni servizio gestisce un insieme di "informazioni", ciascuna delle quali Ha un nome univoco su scala globale (URI) Può avere molteplici rappresentazioni tra loro semanticamente equivalenti (testo semplice, XML, JSON,...) Supporta operazioni elementari di tipo CRUD 6 Il principio di base è essere stateless: se avessi un'architettura con stati espliciti avrei testing e sviluppo più complessi. Una macchina può ospitare uno o più servizi: ogni servizio gestisce un insieme di informazioni (= entità rappresentabile in modo digitale e con un ID univoco, del tipo L'HTTP, che permette di trasferire e interagire con delle URL, ammette già al suo interno una forma di negoziazione dei formati: quando io chiedo una URL posso dire Accept-Encoding (= questa cosa mi va bene se me la dai nei seguenti formati). Il tizio di REST ha usato questa caratteristica in un modo intelligente. HTTP ha un sacco di verbi: se io li guardo bene, posso fare un parallelismo con le opzioni CRUD di una base dati. Se io devo fare un Retrieve faccio GET (= dammene una copia, lecito cachearla). Se la voglio modificare con Update la mando con POST (= non idempotenti e non cacheabili). Se devo fare una Create uso il verbo PUT (= idempotenti ma non cacheabili). I principi fondamentali (2) Una data URL può riferirsi a tutta una serie di cose. E' buon senso usare URL che facciano capire cosa si sta chiedendo. Le informazioni associate ad una URL possono essere relative a Singole voci (persone, oggetti, eventi,...) Collezioni di voci (liste, insiemi) Risultati di computazioni funzionali Esempi di URL Elenca tutti gli utenti Descrive l'utente il cui ID è u23 Elenca tutte le fatture dell'utente con ID u23 Descrive la fattura i32 dell'utente u23 7 Collegamenti Poiché ogni entità ha un nome univoco, è possibile legare entità differenti specificandone il nome Richiedendo la URL corrispondente ad un identificativo, un sistema può acquisire ulteriori informazioni sull'entità <order self=' > <amount>23</amount> <product ref=' /> <customer ref=' /> </order> Ho dunque la possibilità di descrivere un oggetto elencando gli attributi o identificando la URL a cui devo accedere per avere ulteriori informazioni. 8

3 Uso di metodi standard Siccome HTTP ha supporto nativo per le operazioni CRUD posso fare queste operazioni. Il protocollo HTTP costituisce un ambiente naturale nel quale le richieste di tipo CRUD possono essere mappate sulle caratteristiche del trasporto Ogni richiesta consiste di un'azione (verbo) e di una URL (nome) Operazione Metodo Oggetto Crea (voce singola) POST URL della collezione Leggi (elenco di voci) GET URL della collezione Leggi (voce singola) GET URL dell'elemento Aggiorna (voce singola) PUT URL dell'elemento Cancella (voce singola) DELETE URL dell'elemento 9 Negoziare il formato (1) Ogni elemento può essere rappresentato in formati alternativi JSON, XML, CSV,... HTTP dispone di un meccanismo nativo per negoziare il formato di dati scambiati Basato sull'uso di intestazioni di tipo "Accept: ", "Content-type:" o sulle convenzioni delle URL Il server può offrire molte rappresentazioni alternative, il client ne può chiedere una specifica Siccome i client possono essere molto diversi posso usare la header di negoziazione del contenuto per far sapere in che formato si desidera una data informazione. Un servlet fatto bene rappresenta tante rappresentazioni alternative. 10 Negoziare il formato (2) GET /foo HTTP/1.0 Accept: application/json GET /foo.json HTTP/1.0 GET /foo HTTP/1.0 Accept: application/json,application/xml HTTP/ Ok Content-type: application/json Content-length:16 {"a"=123,"b"="" 11 Implementare servizi REST Oracle fornisce due specifiche alternative per la realizzazione di servizi REST in JavaEE Java API for XML Web Services (JAX-WS, JSR-224) html Java API for RESTful Web Services (JAX-RS, JSR-311) Parte della specifica JavaEE 6 Supporta appieno il modello architetturale REST Utilizza le annotazioni come strumento per configurare il comportamento di un servizio web Di base, quello che c'era da dire su REST è finito. Se voglio implementare un server REST banalmente scrivo un Servlet: sulla base della URL che ho ricevuto genero il contenuto. Ovviamente fare questa cosa tutta a mano è faticosa: vengono date due alternative - JAX-WS: abbandonata - JAX-RS: supporta completamente l'architettura REST e dice "tu vuoi fare un servizio REST in Java? Facile, mi metti alcune annotazioni e includi Jersey" 12

4 Il framework Jersey Implementazione di riferimento della specifica JAX-RS Disponibile con licenza open source, può essere integrato in prodotti commerciali o essere esteso con comportamenti specializzati Mette a disposizione un servlet specializzato per servire le richieste rivolte a POJO opportunamente annotati com.sun.jersey.spi.container.servlet.servletcontainer Può essere mappato su tutte le URL (/*) Jersey di base è un JAR che noi includiamo nel nostro progetto (tipicamente con Maven) e ci dice: "nel tuo Container metti questo Servlet qui". Il servlet va a vedere, nelle classi che noi diciamo, chi ha l'annotazione opportuna e usa l'annotazione per creare direttamente il servizio web che risponde nel modo in cui noi vogliamo. 13 Configurazione Maven Questo è quello di cui abbiamo bisogno in Maven. <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-servlet</artifactid> <version>1.18.1</version> </dependency> <dependency> <groupid>javax.ws.rs</groupid> <artifactid>jsr311-api</artifactid> <version>1.1.1</version> </dependency> <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-json</artifactid> <version>1.18.1</version> </dependency> 14 Esporre una risorsa (1) Ciascuna risorsa esposta da un server è rappresentata da una classe Java Annotata Il parametro dell'annotazione indica il frammento relativo di URL che deve essere giustapposto al nome della URL su cui è mappato il servlet globale import public class StockResource {... public String getstockinfo() { return "This is Stock Information"; Avendo creato un progetto Maven di tipo web e incluse queste dipendenze e averlo mappato in web.xml sulle URL che ritengo opportune, creiamo classi POJO e di fronte a queste classi mettiamo (= questa classe è delegata a rispondere a questo tipo di URL). 15 Esporre una risorsa (2) I metodi pubblici della classe possono essere mappati su una specifica azione HTTP tramite può essere ripetuta, per indicare un vincolo specifico sul metodo Il valore di ritorno può essere void, un tipo elementare (compresa una stringa) o un oggetto di tipo javax.ws.rs.core.response Di solito ha senso creare metodi diversi per azioni diverse, e anche qui usiamo annotazioni per distinguere. Volendo il singolo metodo potrebe essere ristretto (la classe serve tutte le richieste per /fatture, un certo metodo risponde solo a /fatture/dettaglio). Il metodo pubblico può ritornare void (va bene per operazioni come DELETE che non generano dati), un dato elementare (da boolean a String) oppure addirittura un oggetto annotato 16

5 Esempio {id = si risponde a users/21, users/46, users/ // Se il contesto applicativo è // allora // // GET // - gestito dal metodo getlist() // GET // - gestito dal metodo public class UsersResource String String getuser(@pathparam("id") String id) { Indicare i parametri Se contiente un valore racchiuso tra parentesi graffe, esso indica una componente variabile della URL E' possibile mappare automaticamente tale componente su un parametro di uno dei metodi pubblici, facendo precedere la definizione del parametro dalla Altre annotazioni possibili per l'estrazione di contenuti specifici presenti @FormParam I parametri volendo possono essere passati in forme alternative: se ad esempio è presente un cookie con un determinato nome, lo uso. E così via. 18 Sotto-risorse ) può anche essere usata, di fronte ad un metodo, per indicare che questo ritornerà una sotto-risorsa della risorsa public class SayHello { public /* risponde a GET/sayHello/lastName */ public String hello() { Negoziare il contenuto Ciascun metodo può definire quali tipi di contenuti consuma e/o produce Attraverso opportune indica quale tipo di rappresentazione viene generata nella risposta Se applicato a livello di classe, indica il tipo restituito da tutte le risposte (se non specificamente indica il tipo di dato atteso nella richiesta Questo verrà reso disponibile sotto forma di parametro in ingresso al metodo stesso Oltre ai metodi che mi servono per identificare una risorsa e alle annotazioni per i verbi, posso aggiungere di fronte ai singoli metodi annotazioni ulteriori per negoziare il contenuto. Produces: come devi interpretare il valore di ritorno? Consumes (va bene per chi ha delle entity in ingresso): posso usare il content-type per matchare il verbo. 20

6 Esempio public class SayHelloResource public String public String public void putxml(string content) { Descrivere il servizio web Il comportamento di un servizio web JSR-311 può essere descritto formalmente attraverso un documento in formato WADL Web Application Description Language Dialetto XML che fornisce funzionalità analoghe a quelle offerte da WSDL per servizi web di tipo SOAP Jersey può produrre automaticamente tale rappresentazione all'indirizzo Così come nel mondo SOAP si può preparare una classe e dire che la classe espone alcune cose, Jersey può esporre un WADL che ci restituisce un XML con i metodi esposti. Tale descrizione è consumabile da un programmatore o dal programma stesso. 22 Configurare il file web.xml E qui c'è la configurazione in web.xml. <?xml version="1.0" encoding="utf-8"?> <web-app...> <servlet> <servlet-name>jersey</servlet-name> <servlet-class> com.sun.jersey.spi.container.servlet.servletcontainer </servlet-class> <init-param> <param-name> com.sun.jersey.config.property.packages </param-name> <param-value> com.acme.helloworld.resources </param-value></init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> Applicazioni ioni Internet 23 Interagire con un server REST Che è quello che avevamo fatto ai tempi del Raspberry. In fase di debug, risulta comodo utilizzare un plugin per il browser Che permetta di creare richieste personalizzate Indicando il metodo, il tipo di dato accettato, il corpo della richiesta Per firefox si può utilizzare Poster Oppure RESTClient 24

7 Interagire programmaticamente Jersey mette anche a disposizione un client HTTP per l'accesso a servizi REST Può essere utilizzato sia in applicazioni stand-alone che all'interno di server per accedere a servizi di terze parti Basato su un'architettura modulare che permette di cambiare il gestore della comunicazione HTTP Per default, viene utilizzato URLConnection, ma è possibile basare le richieste su Apache HTTPClient, Jetty HTTPClient e i client asincroni offerti dal middleware Grizzly <dependency> <groupid>com.sun.jersey</groupid> <artifactid>jersey-client</artifactid> <version>1.18.1</version> </dependency> 25 Oltre a esporre servizi verso il resto del mondo, possiamo anche consumarne. Questo è interessante perchè un sacco di roba (tipo Twitter, Google Maps,...) viaggia su REST. Ci sono situazioni in cui un server consuma dati forniti da molti altri servizi: Jersey, oltre a fornire il servlet e il core, ha nel proprio package un client HTTP REST pensato per queste situazioni. Si include utilizzando la dipendenza qui riportata. Il client è molto configurabile e quindi può basarsi su tante implementazioni alternative (usa Apache, usa le versioni asincrone,...). La libreria client Per creare un client per Jersey, dobbiamo partire creando un'istanza della classe Client, così come riportato. La classe javax.ws.rs.client.client costituisce il punto di partenza per la creazione di tutte le richieste Si istanzia dinamicamente tramite il metodo statico newclient() della classe ClientBuilder Tale metodo può ricevere un parametro di tipo ClientConfig che permette di configurare il comportamento del client (in termini di filtri, intercettori, connettori, proprietà,...) ClientConfig config = new ClientConfig(); config.connectorprovider(new GrizzlyConnectorProvider()); Client c = ClientBuilder.newClient( config ); 26 Identificare una risorsa Una volta costruito il client, diciamo che URL vogliamo interrogare. La URL è modellata con un oggetto WebTarget. Alla URL posso aggiungere "/..." oppure alcuni parametri. La classe WebTarget modella un risorsa rappresentata da una URL Viene costruita a partire dal metodo target(...) di Client Da oggetti di questo tipo, è possibile derivarne altri che indicano, in modo più specifico una risorsa all'interno dello spazio definito dalla URL WebTarget mainservice = client.target(" WebTarget contacts = mainservice.path("contacts"); WebTarget contactswithparams = contacts.queryparam("name","joe"); 27 Costruire la richiesta Il metodo request(...) di WebTarget permette di creare la descrizione di una richiesta Che viene rappresentata da oggetti di tipo Invocation.Builder Tale descrizione può essere decorata con intestazioni, cookies, richieste sul formato atteso, sulla codifica, sul linguaggio,... Si otterrà la risposta corrispondente tramite i metodi get(), post(...), put(...), delete(),... Invocation.Builder builder = contactswithparams.request(); builder.acceptencoding(media_type.text_plain_type); Response r = builder.get(); 28 Una volta arrivato al WebTarget definitivo devo costruire la richiesta. Quale dei quattro metodi voglio passare e quale tipo di risposta voglio ottenere?

8 Elaborare la risposta Gli oggetti di classe Response offrono diversi meccanismi per accedere alle informazioni restituite Il metodo getstatus() restituisce il codice di stato della richiesta Il metodo readentity(class c) cerca di trasformare il corpo della risposta ricevuta in un oggetto di classe c, che viene restituito I metodi getheaders(), getcookies(),... permettono di accedere alle rispettive informazioni int statuscode = r.getstatus(); String s= r.readentity(string.class); 29 La Response mi espone tutto quello che il server mi ha mandato indietro: posso vedere lo stato e accedere al dettaglio tramite read- Entity (che prende come parametro una classe e restituisce un oggetto istanza della classe se possibile, altrimenti lancia un'eccezione). Altre implementazioni Jersey non è l'unica via possibile. Il framework Restlet è un'implementazione completa, leggera, open-source dell'architettura REST Permette di realizzre sia applicazioni lato client che lato server Costituisce un tentativo di aderire pienamente allo spirito della filosofia REST 30 Chi usa REST SOAP è via via abbandonato. Google Maps e Google Search Yahoo Maps e Yahoo Search ebay API Amazon API Paypal API Skype API Twitter REST API molti altri 31 Riferimenti Web Services Programming (with Passion!) corso online A Brief Introduction to REST JAX-RS: Developing RESTful Web Services in Java Specifica JAX-RS Errori comuni nei sistemi REST <<< 32

Lezione 1 Introduzione

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

Dettagli

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

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

Dettagli

Collegamento remoto vending machines by do-dots

Collegamento remoto vending machines by do-dots Collegamento remoto vending machines by do-dots Ultimo aggiornamento 23 marzo 2011 rev1 - Stesura iniziale 18/10/2010 rev2 - Approfondimenti 12/11/2010 rev3 Riduzione dei contenuti per una lettura generica

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

PRACTICAL DEVELOPMENT OF A WEB SERVICE

PRACTICAL DEVELOPMENT OF A WEB SERVICE PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 tesi di laurea Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009 relatore Ch.mo prof. Porfirio Tramontana candidato Marco Chimenti Matr. 534/1940 OBBIETTIVI

Dettagli

Progettazione e Implementazione di API WebSocket per il Gateway Dog

Progettazione e Implementazione di API WebSocket per il Gateway Dog Corso di Laurea in Ingegneria Informatica Tesi di Laurea Magistrale Progettazione e Implementazione di API WebSocket per il Gateway Dog Relatori: Fulvio Corno Luigi De Russis Candidato: Teodoro Montanaro

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Database. Si ringrazia Marco Bertini per le slides

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

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon CloudFront

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon CloudFront Community - Cloud AWS su Google+ Amazon Web Services Servizio Amazon CloudFront Oggi vedremo il servizio di Amazon CloudFront per la distribuzione di contenuti statici tramite CDN. Hangout 08 del 03.03.2014

Dettagli

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione Utilizzo dei Cookie Questo sito utilizza i cookie. Utilizzando il nostro sito web l'utente accetta e acconsente all utilizzo dei cookie in conformità con i termini di uso dei cookie espressi in questo

Dettagli

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

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

Dettagli

Riccardo Solimena e Stefano Dellafiore Javaday IV Roma 30 gennaio 2010

Riccardo Solimena e Stefano Dellafiore Javaday IV Roma 30 gennaio 2010 Applicazioni RESTful con Jersey Come realizzare un microblog in 10 minuti About us Senior Consultant @ Milano About us Senior Consultant @ Lugano JIP Java Italian Portal Sito Internet - http://www.javaportal.it/

Dettagli

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

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

Dettagli

Overview su Online Certificate Status Protocol (OCSP)

Overview su Online Certificate Status Protocol (OCSP) Overview su Online Certificate Status Protocol (OCSP) Introduzione di Nicola Ferrini MCT MCSA MCSE MCTS MCITP La revoca dei certificati digitali consiste nel rendere non più valido un certificato prima

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

COOKIE POLICY DEL SITO

COOKIE POLICY DEL SITO COOKIE POLICY DEL SITO PREMESSA Questa pagina costituisce una sezione dell'informativa privacy estesa consultabile sul sito e descrive nello specifico l'utilizzo dei cookie effettuato dal titolare. INFORMAZIONI

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Cosa succede quando si naviga

Cosa succede quando si naviga Programma corso Introduzione (spicciola) di architettura del web Creazione del sito e primi passi Sito statico o blog? Inserimento ed aggiornamento contenuti Personalizzazione grafica Iscrizione ai motori

Dettagli

Questo sito internet fa uso di cookie, al fine di rendere i propri servizi il più possibile efficienti e semplici da utilizzare.

Questo sito internet fa uso di cookie, al fine di rendere i propri servizi il più possibile efficienti e semplici da utilizzare. INFORMATIVA ESTESA SUI COOKIE Questo sito internet fa uso di cookie, al fine di rendere i propri servizi il più possibile efficienti e semplici da utilizzare. La presente informativa è redatta in ottemperanza

Dettagli

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

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

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Specifiche Tecnico-Funzionali

Specifiche Tecnico-Funzionali AuthSIAR - Modulo di Autenticazione e Autorizzazione Sardegna IT S.r.l. Analisi Tecnico-Funzionale Assessorato all Agricoltura della Regione Sardegna SIAR Sistema Informativo Agricolo Regionale AuthSIAR

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template. I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini UML La prima versione ufficiale risale

Dettagli

UTILIZZO DEI COOKIES (informativa conforme al Provvedimento del Garante Privacy del 8 Maggio 2014)

UTILIZZO DEI COOKIES (informativa conforme al Provvedimento del Garante Privacy del 8 Maggio 2014) UTILIZZO DEI COOKIES (informativa conforme al Provvedimento del Garante Privacy del 8 Maggio 2014) Star Link srl, Titolare del trattamento dei dati personali, informa che questo Sito internet fa uso di

Dettagli

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida Breve introduzione curata da Alessandro Benedetti Struts2-Introduzione e breve guida 22-11- 2008 1 Struts 2 Costruisci,attiva e mantieni! Apache Struts 2 è un framework elegante ed estensibile per creare

Dettagli

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci I motori di ricerca in internet: cosa sono e come funzionano Roberto Ricci, Servizio Sistema

Dettagli

Strutturazione logica dei dati: i file

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

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

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

Dettagli

Bibliografia: Utenti e sessioni

Bibliografia: Utenti e sessioni Bibliografia: Utenti e sessioni http: protocollo stateless http si appoggia su una connessione tcp e lo scambio nel contesto di una connessione si limita a invio della richiesta, ricezione della risposta.

Dettagli

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

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

Dettagli

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Progetto a cura di Martino Michele Matricola: 0124000461 Miglio Stefano Matricola: 0124000462 Obiettivi Iniziali Si intende realizzare

Dettagli

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione

Dettagli

Presentazione Data Base

Presentazione Data Base Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mysql) come supporto Open Source ad un piccolo progetto di Data Base relazionale, e tipicamente ad ogni applicazione non troppo

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Internet e posta elettronica. A cura di Massimiliano Buschi

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

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

Creare un sito Multilingua con Joomla 1.6

Creare un sito Multilingua con Joomla 1.6 Creare un sito Multilingua con Joomla 1.6 Istruzioni Vai a: navigazione, ricerca Testo originale: http://docs.joomla.org/language_switcher_tutorial_for_joomla_1.6 Questa guida è valida sia per Joomla 1.6

Dettagli

Protocolli applicativi: FTP

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

Dettagli

Reti di Telecomunicazione Lezione 6

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

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

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

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Real Time Control (RTC): modalità di invio dei dati

Real Time Control (RTC): modalità di invio dei dati C EQAS - CNR External Quality Assessment Schemes CNR - Istituto di Fisiologia Clinica Real Time Control (RTC): modalità di invio dei dati R. Conte, A. Renieri v.1.1-15/11/2012 Introduzione Il programma

Dettagli

Eclipse e Subversion

Eclipse e Subversion Eclipse e Subversion Prerequisito: creare un repository gratuito su http://www.assembla.com Svn: condivisione progetto Svn: condivisione progetto Svn: condivisione progetto Svn: condivisione progetto Svn:

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

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

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Java Web Services. Uso di Eclipse e Apache Axis

Java Web Services. Uso di Eclipse e Apache Axis Java Web Services Uso di Eclipse e Apache Axis 1 Gli strumenti utili per iniziare Axis (Web Service tool) Eclipse (IDE di sviluppo) Tomcat (servlet/jsp container) N.B. Eclipse e Tomcat possono essere sostituiti

Dettagli

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser.

Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Configurazione Zimbra mail per accedere alla propria casella di posta tramite il browser. Se vogliamo accedere alla nostra casella di posta elettronica unipg.it senza usare un client di posta (eudora,

Dettagli

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page» Scaletta Estensioni UML per il Web Michele Zennaro 14-05-2004 Le applicazioni web Scopo di un estensione UML per il web Due punti di vista Uno più astratto Uno più vicino ai file fisici conclusivo Commenti

Dettagli

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Organizzazione degli archivi

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

Dettagli

Do-Dots Protocollo di comunicazione

Do-Dots Protocollo di comunicazione Do-Dots Protocollo di comunicazione Ultimo aggiornamento 10 maggio 2011 rev3 Spiegazioni 10/05/2011 rev2 Primo aggiornamento con attuali comandi 03/05/2011 rev1 - Stesura iniziale 14/05/2010 DOCUMENTO

Dettagli

Gestione del workflow

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

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1 Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ Versione 1.1 Autore Antonio Barbieri, antonio.barbieri@gmail.com Data inizio compilazione 11 maggio 2009 Data revisione 14 maggio 2009 Sommario

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

Modello OAIS. Modello di riferimento. Il Modello. Prof.ssa E. Gentile a.a. 2011-2012. Un modello di riferimento dovrebbe descrivere:

Modello OAIS. Modello di riferimento. Il Modello. Prof.ssa E. Gentile a.a. 2011-2012. Un modello di riferimento dovrebbe descrivere: Modello OAIS Prof.ssa E. Gentile a.a. 2011-2012 Prof.ssa E. Gentile Progettazione e Produzione di Contenuti Digitali 1 Modello di riferimento Un modello di riferimento dovrebbe descrivere: le componenti

Dettagli

ammesso solo con il tuo consenso. Le modifiche apportate hanno lo scopo di semplificare il controllo di quali

ammesso solo con il tuo consenso. Le modifiche apportate hanno lo scopo di semplificare il controllo di quali CHE COSA SONO I COOKIES E COME LI UTILIZZIAMO Un cookie è un semplice file di testo che viene memorizzato sul tuo computer o dispositivo mobile dal server di un sito web e che solo quel server sarà in

Dettagli

POLICY COOKIE Gentile visitatore,

POLICY COOKIE Gentile visitatore, POLICY COOKIE Gentile visitatore, GGS S.r.l. quale titolare del trattamento dei dati, desidera fornirle alcune informazioni sui cookies gestiti accedendo all indirizzo www.noly.it nel rispetto della Direttiva

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

2 Gli elementi del sistema di Gestione dei Flussi di Utenza SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

Dettagli

Restrizioni di accesso alle risorse Web

Restrizioni di accesso alle risorse Web Restrizioni di accesso alle risorse Web IceWarp Server è, tra le altre cose, anche un Server Web con un controllo granulare delle impostazioni di ciascun sito su di esso ospitato. Tra queste impostazioni

Dettagli

FTP. Appunti a cura del prof. ing. Mario Catalano

FTP. Appunti a cura del prof. ing. Mario Catalano FTP Appunti a cura del prof. ing. Mario Catalano Il protocollo FTP 1/2 Attraverso il protocollo FTP (File Transfer Protocol) è possibile trasferire uno o più files di qualsiasi tipo tra due macchine Tale

Dettagli

Laboratorio di Information Retrieval SOLR. Marco Rossetti rossetti@disco.unimib.it. Based on Emanuele Panzeri s slides panzeri@disco.unimib.

Laboratorio di Information Retrieval SOLR. Marco Rossetti rossetti@disco.unimib.it. Based on Emanuele Panzeri s slides panzeri@disco.unimib. Laboratorio di Information Retrieval SOLR Marco Rossetti rossetti@disco.unimib.it Based on Emanuele Panzeri s slides panzeri@disco.unimib.it 19/12/2014 SOLR Search Engine Apache SOLR 1 è una piattaforma

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

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

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Piacere di conoscerla

Piacere di conoscerla Piacere di conoscerla OMPLETO AFFIDABILE POTENTE SCALABILE APERTO COSA E STORE360? E un software, completamente utilizzabile via Web, che consente di vendere i tuoi prodotti su internet. Ovunque. Mantiene

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente Pag. 1 di 15 VERS V01 REDAZIONE VERIFICHE E APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA A. Marchisio C. Pernumian 29/12/2014 M. Molino 27/02/2015 M. Molino

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista Gestione Iter Manuale Sistemista Paragrafo-Pagina di Pagine 1-1 di 8 Versione 3 del 24/02/2010 SOMMARIO 1 A Chi è destinato... 1-3 2 Pre requisiti... 2-3 3 Obiettivi... 3-3 4 Durata della formazione...

Dettagli

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

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

Dettagli

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione Utilizzo dei Cookie Questo sito utilizza i cookie. Utilizzando il nostro sito web l'utente accetta e acconsente all utilizzo dei cookie in conformità con i termini di uso dei cookie espressi in questo

Dettagli

Word processor funzione Stampa Unione

Word processor funzione Stampa Unione Word processor funzione Stampa Unione La funzione Stampa unione permette di collegare un documento che deve essere inviato ad una serie di indirizzi ad un file che contenga i nominativi dei destinatari.

Dettagli

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale della Logistica e della Produzione Una piattaforma per la negoziazione di servizi business to

Dettagli

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale 1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale Per poter accedere alla propria casella mail di Posta Elettronica Certificata è possibile utilizzare, oltre all'interfaccia

Dettagli