Servizi REST. Fielding, R.T. Architectural Styles and the Design of Network-based Software Architectures. PhD Thesis, 2000.
|
|
- Virginio Rocca
- 5 anni fa
- Visualizzazioni
Transcript
1 Luca Cabibbo Architettura dei Sistemi Software dispensa asw530 marzo 2019 The World Wide Web is arguably the world's largest distributed application. Understanding the key architectural principles underlying the Web can help explain its technical success and may lead to improvements in other distributed applications. 1 Roy Thomas Fielding - Fonti Fielding, R.T. Architectural Styles and the Design of Network-based Software Architectures. PhD Thesis, Newman, S. Building Microservices: Designing Fine-grained Systems. O Reilly, Chapter 4, Integration Webber, J., Parastatidis, S., and Robinson, I. REST in Pratice: Hypermedia and Systems Architecture. O Reilly, Richardson, L. and Amundsen, M. RESTful Web APIs. O Reilly,
2 - Obiettivi e argomenti Obiettivi presentare i servizi REST confrontare i servizi SOAP con i servizi REST Argomenti introduzione ai servizi REST lo stile REST servizi REST discussione 3 * Introduzione ai servizi REST Un servizio web (web service) è un componente software, che ha lo scopo di implementare una funzionalità o un servizio di business di un organizzazione, che può essere scoperto e invocato dai suoi consumatori mediante un interfaccia aperta e tramite tecnologie standard del web oltre ai servizi web SOAP (discussi in una precedente dispensa), criticati per la loro pesantezza esistono anche altre tecnologie a servizi, più leggere che sostengono ancora l interoperabilità, ma che offrono migliori garanzie su prestazioni e scalabilità, e che in genere sono anche più semplici da programmare tra queste tecnologie, la più diffusa è quella dei servizi REST RESTful web service(s), chiamati anche RESTful web API(s) i servizi REST sono basati sullo stile architetturale REST per questo è utile, come premessa, introdurre lo stile REST (anche se non entreremo troppo nei dettagli di questo stile) 4
3 * Lo stile REST REST (Representational State Transfer) è uno stile architetturale che è stato proposto da Fielding (uno dei creatori di HTTP) per descrivere l architettura del world-wide web moderno, e per guidare la progettazione e l implementazione di applicazioni web Representational State Transfer is intended to evoke an image of how a well-designed Web application behaves: a network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use. si noti che lo stile REST è stato definito prima di quelli che oggi sono chiamati servizi REST (e indipendentemente da essi) 5 Risorse Uno dei concetti centrali dello stile REST è quello di risorsa una risorsa (resource) è ogni elemento informativo di interesse a cui può essere attribuito un nome un documento, un immagine, un concetto o una persona, ma anche un operazione o un servizio ad es., il corso di Architettura dei Sistemi Software a Roma Tre oppure il tempo a Roma oggi un identificatore di risorsa (resource identifier) è un nome univoco usato dai componenti (ad es., un servizio o un suo client) per identificare una specifica risorsa ad es., un URI (Uniform Resource Identifier) ad es., l URI per la risorsa corso di Architettura dei Sistemi Software a Roma Tre 6
4 Rappresentazioni I componenti (servizi e client) possono specificare e eseguire azioni su una risorsa usando una rappresentazione per descrivere lo stato corrente oppure lo stato desiderato della risorsa, e per trasferire la rappresentazione della risorsa tra componenti una rappresentazione è un gruppo di dati (e metadati) per una risorsa (di solito auto-descrittivo) ad es., un documento XML oppure JSON quando un client accede a una risorsa, non gli viene restituita la risorsa, ma piuttosto una rappresentazione della risorsa inoltre, per aggiornare una risorsa, un componente può comunicare la rappresentazione desiderata della risorsa 7 Rappresentazioni 8 Ci possono essere rappresentazioni differenti per le risorse ad es., un documento XML, JSON, HTML o PDF, un immagine JPEG, oppure una rappresentazione binaria basata, ad es., su Protocol Buffer o Thrift il protocollo HTTP supporta la negoziazione del contenuto tramite l Accept Header dunque, un client può specificare la rappresentazione desiderata per una risorsa, ad es., HTML oppure JSON in questo modo un servizio può restituire, a partire da un certo URI, sia una rappresentazione della risorsa che è una pagina web visualizzabile ad un utente umano, che una rappresentazione comprensibile da un client software l uso delle rappresentazioni consente di disaccoppiare completamente il modo in cui i componenti memorizzano internamente le risorse dal modo in cui le condividono esternamente
5 Caratteristiche dello stile REST Caratteristiche generali dello stile architetturale REST è uno stile architetturale di tipo client-server i servizi sono di tipo stateless sostiene scalabilità e disponibilità è possibile fare caching delle risposte dei servizi sostiene scalabilità e prestazioni è un architettura a strati un client in genere non sa se sta comunicando con un server che eroga effettivamente il servizio oppure con un intermediario uso di un interfaccia uniforme tra componenti l accesso uniforme alle risorse sostiene flessibilità code on demand (opzionale) 9 * Lo stile architetturale REST è stato proposto per descrivere l architettura generale del web ma può anche essere usato come guida per la definizione di servizi REST in effetti, esistono diverse varianti dei servizi REST ad es., i servizi REST sono comunemente basati sull uso di HTTP ma questo non è obbligatorio nel seguito di questa dispensa viene descritta un interpretazione comune dei servizi nello stile REST, basata su HTTP per un esempio concreto, si veda 10
6 Principi per servizi nello stile REST Principi che guidano la definizione di un servizio REST identificazione delle risorse tramite URI un servizio REST espone un insieme di risorse che sono l obiettivo delle interazioni con i client identificate da URI interfaccia uniforme le risorse vengono manipolate in modo uniforme, tramite le operazioni di HTTP (come PUT, GET, POST e DELETE) il significato attribuito a queste operazioni è discusso più avanti 11 Principi per servizi nello stile REST Principi che guidano la definizione di un servizio REST messaggi auto-descrittivi le risorse sono disaccoppiate dalle loro rappresentazioni e il loro contenuto può essere acceduto sulla base di più formati ad es., testo, XML, JSON, PDF, JPEG ogni richiesta di un client contiene informazioni sufficienti a descrivere come il servizio possa elaborare la richiesta ogni risposta da un servizio contiene informazioni sufficienti a descrivere come il client possa elaborare la risposta 12
7 Principi per servizi nello stile REST Principi che guidano la definizione di un servizio REST rappresentazione ipermediale se un client deve poter accedere ad altre risorse correlate a una sua richiesta, gli identificatori di queste risorse sono comunemente incluse nella rappresentazione restituita (HATEOAS, Hypermedia As The Engine Of Application State) interazioni stateful basate su collegamenti ipertestuali le interazioni con le risorse sono di per sé stateless tuttavia, sono possibili interazioni stateful, sulla base di un trasferimento esplicito dello stato delle conversazioni ad es., riscrittura di URI, cookie, campi nascosti 13 Esempio di servizio nello stile REST Un esempio di servizio REST è un servizio che gestisce una o più collezioni omogenee di risorse ad esempio, un insieme di corsi e un insieme di docenti il servizio definisce, per ciascuna collezione, un URI di base chiamato collection URI ad es., e ciascuna istanza di risorsa ha un proprio URI element URI ad es., e le operazioni offerte dal servizio sono messe in corrispondenza con le operazioni HTTP, come GET, PUT, POST e DELETE sulla base di un interfaccia uniforme le rappresentazioni potrebbero essere scambiate, ad es., in formato XML oppure JSON 14
8 Esempio di servizio nello stile REST Interfaccia uniforme di un servizio nello stile REST operazioni riferite ad un collection URI GET restituisce tutti gli elementi della collezione PUT sostituisce la collezione con un altra collezione POST crea un nuovo elemento della collezione e gli assegna un nuovo URI (e lo restituisce) DELETE cancella l intera collezione 15 Esempio di servizio nello stile REST Interfaccia uniforme di un servizio nello stile REST operazioni riferite ad un element URI GET restituisce una rappresentazione di uno specifico elemento della collezione PUT crea un nuovo elemento della collezione, oppure lo aggiorna POST considera l elemento della collezione come un altra collezione, e ne aggiunge un elemento (in modo analogo a quanto fa POST con riferimento ad un collection URI) DELETE cancella l elemento della collezione 16
9 HATEOAS Secondo il principio HATEOAS, le relazioni tra risorse vanno modellate in modo ipermediale, tramite collegamenti (link) tra risorse, da includere nelle loro rappresentazioni dunque, quando un servizio restituisce una risorsa, la sua rappresentazione può includere i collegamenti ad altre risorse (che possono essere sia risorse informative che operazioni) ad es., insieme a un corso, vengono restituiti i collegamenti ai suoi appelli d esame e insieme a un appello d esame, un collegamento per prenotarsi all appello d esame ad es., in XML, l elemento link prevede gli attributi href (l URI della risorsa) e rel (che indica il tipo di relazione) 17 in questo modo, un client ha bisogno di conoscere solo un punto di ingresso ad un servizio dopo di che, la sua navigazione può proseguire seguendo solo dei collegamenti l accoppiamento verso un servizio dai suoi client è ridotto dunque il servizio può evolvere in modo più flessibile Sviluppo di servizi REST L adozione dei servizi REST è favorita dall ampia diffusione di infrastrutture per HTTP e per applicazioni web nonché dall impiego di standard semplici e spesso già noti agli sviluppatori lo sviluppo di servizi REST è inoltre semplificato dalla disponibilità di opportune librerie, API e framework si pensi, ad es., al supporto a REST fornito dal framework Spring oppure a librerie per Java come JAX-RS l uso di queste librerie può semplificare, in particolare, la gestione di HTTP (sia lato server che lato client) che le trasformazioni tra risorse e rappresentazioni (che può avvenire in modo trasparente sia per il servizio che per i suoi client) 18
10 e interoperabilità I servizi REST sono interoperabili e dunque possono essere considerati servizi web infatti sono basati su protocolli standard del web, come HTTP e XML l interoperabilità è inoltre sostenuta dalla possibilità di usare diversi formati per l interscambio dei dati che sono indipendenti dai linguaggi di programmazione e dalle piattaforme come XML e JSON l interfaccia di un servizio REST è costituita da un insieme di URI e di operazioni HTTP su questi URI e può essere scoperta dai client del servizio in modo progressivo, sulla base di HATEOAS e dei collegamenti tra risorse c è una proposta di standard per la descrizione di servizi REST (WADL, con obiettivi simili a quelli di WSDL) ma questo standard è controverso e poco diffuso, poiché è in contraddizione con il principio HATEOAS 19 * Discussione I servizi REST sono un altra soluzione tecnologica per l interoperabilità tra componenti/servizi software distribuiti ed eterogenei sulla base di alcuni standard fondamentali del web e di altri standard di uso comune l adozione dei servizi REST è di solito semplice poiché le infrastrutture necessarie sono spesso già disponibili è possibile scrivere client di servizi REST in un ampia varietà di linguaggi di programmazione grazie all uso di URI e collegamenti ipertestuali, è possibile scoprire risorse web senza l uso di un registry centralizzato è possibile adottare le soluzioni per la scalabilità e per la sicurezza già sviluppate per il web ad es., basate su caching, clustering, load balancing e standard per la sicurezza compatibili con HTTP 20
11 Discussione I servizi REST presentano però anche alcuni inconvenienti i servizi REST sono adatti soprattutto a scenari con una bassa complessità, per la gestione di risorse informative semplici le infrastrutture per i servizi REST non supportano un ampio insieme di attributi di qualità che, se richiesti, devono spesso essere gestiti direttamente dagli sviluppatori dei servizi i servizi REST vengono acceduti tramite HTTP, in modo sincrono per questo, l integrazione di applicazioni può essere problematica usando le sole operazioni HTTP, può essere difficile stabilire una buona definizione dell interfaccia di un servizio REST HTTP ha un vocabolario molto limitato, all opposto di quanto avviene con i linguaggi a oggetti i servizi REST non hanno un interfaccia descritta esplicitamente questo può rendere più difficile la loro fruizione 21 e SOAP a confronto Vantaggi dei servizi REST l adozione è più semplice poiché fa riferimento a standard e tecnologie più semplici più semplice realizzare client di servizi tecnologia più leggera e migliori soluzioni per la scalabilità il vantaggio principale di REST vs. SOAP è la semplicità Vantaggi dei servizi SOAP applicabile anche in contesti applicativi complessi supporto standardizzato per la descrizione delle interfacce dei servizi e per la scoperta dei servizi supporto standardizzato per la composizione di servizi miglior supporto per diversi attributi di qualità il vantaggio principale di SOAP vs. REST è la completezza 22
Servizi REST. Fielding, R.T. Architectural Styles and the Design of Networkbased Software Architectures. PhD Thesis, 2000.
Luca Cabibbo Architettura dei Sistemi Software dispensa asw530 marzo 2017 The World Wide Web is arguably the world's largest distributed application. Understanding the key architectural principles underlying
DettagliAndroid. Android e Rest
Android Android e Rest Introduzione a Rest SOAP è stato per tanto tempo sinonimo di WebService. Thomas Roy Fielding ha definito uno stile architetturale chiamato REpresentational State Transfer architecture,
DettagliL infrastruttura STIL. Presentazione dei risultati finali del progetto Alessandro Ricci Università di Bologna DEIS Bologna / Cesena
L infrastruttura STIL Presentazione dei risultati finali del progetto Alessandro Ricci Università di Bologna DEIS Bologna / Cesena Ruolo Infrastruttura ICT Fornire modelli, architetture e tecnologie informatiche
DettagliProgettare per gli attributi di qualità
Luca Cabibbo Architettura dei Sistemi Software Progettare per gli attributi di qualità dispensa asw210 marzo 2017 For every complex question there is a simple answer, and it is wrong. Henri Louis Mencken
Dettagliottobre Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) Middleware Architectures and Technologies Luca Cabibbo
Luca Cabibbo Architetture Software Dispensa MW 1 ottobre 2008 1 -Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) [Gorton] Essential Software Architecture, Chapter 4, A Guide to Middleware
DettagliProgrammazione di servizi web SOAP
Luca Cabibbo Architettura dei Sistemi Software Programmazione di servizi web SOAP dispensa asw860 marzo 2017 What is elegance? Soap and water! Cecil Beaton 1 - Fonti The Java EE 7 Tutorial https://docs.oracle.com/javaee/7/tutorial/
DettagliAlessandro Capezzuoli
www.statview.eu Alessandro Capezzuoli Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo,
DettagliUna metodologia per la specifica di software a componenti
Luca Cabibbo Architettura dei Sistemi Software Una metodologia per la specifica di software a componenti dispensa asw475 marzo 2019 How best to read this book. Start at page 1 and keep going. When you
DettagliIntroduzione alle griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno
Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno LEZIONE N. 10 Web Services SOAP WSDL UDDI Introduzione alle griglie computazionali
DettagliUn architettura per la cooperazione di applicazioni: un approccio basato sulla migrazione di applicazioni Legacy
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof.ssa Valentina Casola relatore Ch.mo prof. Porfirio Tramontana candidato Rosa Guerra Matr. 83/82 Contesto: Panoramica Migrazione di applicazioni
DettagliArchitettura esagonale
Luca Cabibbo Architettura dei Sistemi Software dispensa asw360 marzo 2019 There must be a cause why snowflakes have the shape of six-cornered starlets. It cannot be chance. Why always six?. Johannes Kepler
DettagliIL LIVELLO APPLICAZIONI WEB e HTTP
Parte II - Reti di Calcolatori ed Internet IL LIVELLO APPLICAZIONI WEB e HTTP 7-1 Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web 7-2 World Wide Web (WWW) Il World Wide
DettagliVirtualizzazione basata su contenitori
Luca Cabibbo Architettura dei Sistemi Software Virtualizzazione basata su contenitori dispensa asw650 marzo 2018 Containers are much faster to provision than full-fat virtual machines. Sam Newman 1 - Fonti
DettagliArgomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON
XML JSON Argomenti 2 Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati XML Data Model JSON 3 XML XML extensible Markup Language 4 Modello di dati XML Nato
DettagliContenitori. Subhraveti, D. Containers Beyond the Hype. AppOrbit, 2015.
Luca Cabibbo Architettura dei Sistemi Software dispensa asw640 marzo 2017 Containers are much faster to provision than full-fat virtual machines. Sam Newman 1 - Fonti Subhraveti, D. Containers Beyond the
DettagliBasi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste. Basi di Dati e Web. Credits to: Prof. M. Di Felice UniBO
Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati e Web Credits to: Prof. M. Di Felice UniBO " Molti sistemi software prevedono la presenza di un database gestito da un
DettagliIl World Wide Web. Marco Porta - CIM: Web Design & Technologies
Il World Wide Web 1 Cos è il World Wide Web? Il Web è un sistema basato su Internet che utilizza la tecnologia degli ipertesti per distribuire documenti, immagini, video,... Il Web è un sottoinsieme di
DettagliProgetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo
tesi di laurea Progetto e sviluppo di un applicazione Android per il controllo di reti di sensori senza filo 2011/2012 relatore Ch.mo prof. Marcello Cinque candidato Antonio Annunziata Matr. 534/00197
DettagliReti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP
Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP D. Talia RETI DI CALCOLATORI - UNICAL 7-1 Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web D. Talia RETI DI CALCOLATORI
DettagliIL LIVELLO APPLICAZIONI WEB e HTTP
Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP D. Talia RETI DI CALCOLATORI - UNICAL 7-1 Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web D. Talia RETI DI CALCOLATORI
DettagliIL LIVELLO APPLICAZIONI WEB e HTTP
Parte II - Reti di Calcolatori ed Internet IL LIVELLO APPLICAZIONI WEB e HTTP Applicazioni di Rete World Wide Web URL Web Client Web Server HTTP Futuro del Web 7-1 7-2 World Wide Web (WWW) Il World Wide
DettagliWeb 2.0 e Web Services nell'era dei Social Network. Snal: un caso di studio
tesi di laurea Web 2.0 e Web Services nell'era dei Social Network. Snal: un caso di 2010/2011 relatore Ch.mo prof. Porfirio Tramontana candidato Marcello Roerhssen di Cammerata Matr. 534/001550 Problematiche
DettagliArchitettura a oggetti distribuiti
Luca Cabibbo Architettura dei Sistemi Software Architettura a oggetti distribuiti dispensa asw435 marzo 2018 First Law of Distributed Object Design: Don t distribute your objects! Martin Fowler 1 - Fonti
DettagliINTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE
00-PRIME PAGINE 2-07-2003 10:04 Pagina V Indice Prefazione XI PARTE PRIMA INTRODUZIONE A J2EE 1.4 E AI SERVIZI WEB ENTERPRISE 1 Capitolo 1 Le ragioni di tanto interesse 3 1.1 Enterprise in J2EE 3 Definizione
DettagliTecnologie e applicazioni web JSON Web Token (JWT)
Tecnologie e applicazioni web JSON Web Token (JWT) Filippo Bergamasco ( filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco/ DAIS - Università Ca Foscari di Venezia Anno accademico: 2017/2018
DettagliSOA case study. Un esempio di progetto SOA. Le esperienze maturate sul campo. organizzato da:
SOA case study Un esempio di progetto SOA. Le esperienze maturate sul campo Agenda Case study SOA - Scenario Progettazione dei servizi Sicurezza Processo di sviluppo e rilascio Governance Gestione delle
DettagliInternet of Things & Wireless Sensor Networks
Internet of Things & Wireless Sensor Networks Protocols for IoT Ing. Luca Davoli Wireless Ad-hoc Sensor Network Laboratory WASNLab davoli@ce.unipr.it This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
DettagliIntroduzione a Internet e World Wide Web
Introduzione a Internet e World Wide Web Sommario Breve storia di Internet Commutazione di pacchetto e TCP/IP Il Web HTTP HTML CGI... Connessione tra basi di dati e Web Internetworking (collegamento fra
DettagliDESCRIZIONE PROFILI PROFESSIONALI
AVVISO DI INDAGINE DI MERCATO finalizzato alla raccolta di manifestazione di interesse per la partecipazione a una procedura negoziata per l affidamento del Servizio di Progettazione, analisi, sviluppo,
Dettagli3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni
IIndice Capitolo 1 Da dove partiamo: pagine web statiche 1 1.1 Principi di base.............................. 1 1.1.1 Il paradigma client-server.................... 1 1.1.2 Ipertesto, multimedia, ipermedia................
DettagliSommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10
SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare
DettagliMODULI COMPETENZE UNITA di APPRENDIMENTO
Dipartimento Informatica Materia TeP Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Classe 5 Tec Ore/anno 132 A.S. 2018-2019 MODULI COMPETENZE UNITA di APPRENDIMENTO Architettura
DettagliIntroduzione ad Architetture Orientate ai Servizi e Web Service
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Introduzione ad Architetture Orientate ai Servizi e Web Service Corso di Sistemi Distribuiti Stefano Iannucci iannucci@ing.uniroma2.it Anno
DettagliFilippo Bergamasco ( DAIS - Università Ca Foscari di Venezia Anno accademico:
Filippo Bergamasco ( filippo.bergamasco@unive.it) http://www.dais.unive.it/~bergamasco/ DAIS - Università Ca Foscari di Venezia Anno accademico: 2017/2018 Fin dall avvento delle prime reti di calcolatori,
DettagliMIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte
MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte DCOM: Distributed Component Object Model Applicazione Server Applicazione Client Fornitura di servizi WEB in ambiente distribuito Sempre
DettagliMIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte
MIDDLEWARE E COMPONENTI: direzioni di evoluzione e stato dell'arte Fornitura di servizi WEB in ambiente distribuito Sempre più servizi intesi come sistemi o framework (integrazione e composizione) di oggetti
DettagliIntroduzione all inguaggio HTML e CSS3 INTRODUZIONE. Prof.ssa Cristina Gena
+ Introduzione all inguaggio HTML e CSS3 INTRODUZIONE Prof.ssa Cristina Gena Introduzione In questa lezione introduttiva approfondiremo i principali concetti legati al web, daremo una definizione del web
DettagliSistema WebGIS per l accesso a dati geografici eterogenei distribuiti su internet, l elaborazione GIS e la restituzione online.
Sistema WebGIS per l accesso a dati geografici eterogenei distribuiti su internet, l elaborazione GIS e la restituzione online. Luciano Fortunati, Giulio Massei ISTI-CNR luciano.fortunati@isti.cnr.it,
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Domenico Lembo Antonella Poggi 1. Architetture dei Sistemi Informativi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico
DettagliRETI 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
DettagliIntroduzione. Java HTTP. G. Prencipe
Java html e http G. Prencipe prencipe@di.unipi.it Introduzione Tutte le comunicazioni tra client e server Web avvengono mediate il (HyperText Transfer Protocol, attualmente alla versione 1.1), che è un
DettagliArchitetture Client/Server e World Wide Web
Basi di Dati Architetture Client/Server e World Wide Web Il World Wide Web Il web è una ragnatela (grafo) di contenuti (nodi) collegati tra loro attraverso collegamenti (link) I nodi sono documenti e/o
DettagliLe Reti Informatiche
Le Reti Informatiche Finalità delle Reti di calcolatori Un calcolatore isolato, anche se multiutente ha a disposizione solo le risorse locali potrà elaborare unicamente i dati dei propri utenti 2 / 27
DettagliL integrazione di mail in un sistema automatico di distribuzione di ontologie: Ontology Mail Manager
L integrazione di mail in un sistema automatico di distribuzione di ontologie: Ontology Mail Manager Candidato: Romina Tuori Relatore: Prof. Fabio Vitali Correlatori: Dott.ssa Silvia Duca Dott. Antonio
DettagliIl Paradigma REST per lo sviluppo di applicazioni Web 2.0
tesi di laurea Anno Accademico 2006/2007 Il Paradigma REST per lo sviluppo di applicazioni Web 2.0 relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Marcello Cinque candidato Antonio Alonzi Matr.
DettagliAllegato 1 Descrizione profili professionali
Servizio di progettazione, analisi, sviluppo, manutenzione adeguativa, correttiva ed evolutiva di sistemi informativi su piattaforma IBM Websphere BPM - CIG Z2C2542018 Allegato 1 Descrizione profili professionali
DettagliAlcune idee sui sistemi software e la loro architettura
Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno
DettagliAnalisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax.
tesi di laurea Analisi di strumenti e tecniche per lo sviluppo di applicazioni Ajax. Anno Accademico 2006/2007 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Antonio Pandolfo Matr. 41/2568 Sommario
DettagliRiccardo 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/
DettagliRESTful Services. Sistemi Informativi Aziendali A.A. 2012/2013
RESTful Services Summary Foundations REST in Java Foundations REST Representational State Transfer Firstly defined by Roy Fielding (2000) Architectural Styles and the Design of Network-based Software Architectures
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliMariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche
Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali
DettagliInfrastruttura per la Cooperazione Applicativa
Infrastruttura per la Cooperazione Applicativa - C.A.R.T. Linee guida per lo sviluppo di interfacce tra il Sistema Informativo Locale e il Nodo Applicativo Locale Ver. 1.2 Linee guida per lo sviluppo di
DettagliREGIONE BASILICATA PROCEDURA APERTA (AI SENSI DEL D.LGS.163/2006 E S.M.I.)
PROCEDURA APERTA (AI SENSI DEL D.LGS.163/2006 E S.M.I.) PER L ACQUISIZIONE DEL SERVIZIO EVOLUTIVO E DI ASSISTENZA SPECIALISTICA DEL SISTEMA INFORMATIVO DI MONITORAGGIO DEGLI INVESTIMENTI PUBBLICI DELLA
DettagliCooperazione applicativa
La cooperazione applicativa costituisce l elemento centrale per il collegamento delle infrastrutture dati in modalità distribuita. Tale meccanismo definisce le modalità di interscambio tra Enti e consente
DettagliCentralizzata Monolitica anni Reti Client Server anni Internet The network is the computer
Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8
DettagliArchitetture di rete. 4. Le applicazioni di rete
Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo
DettagliProgramma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC
Programma didattico Sviluppare Applicazioni Distribuite in ambiente Spring MVC Programma del corso 1.Progettazione e Sviluppo Database Relazionali Questa competenza permette di Progettare e Sviluppare
DettagliPROCEDURA APERTA PER L AFFIDAMENTO DELLA FORNITURA DI AUSILI PER INCONTINENZA E ASSORBENZA A MINOR IMPATTO AMBIENTALE 3
PROCEDURA APERTA PER L AFFIDAMENTO DELLA FORNITURA DI AUSILI PER INCONTINENZA E ASSORBENZA A MINOR IMPATTO AMBIENTALE 3 ALLEGATO 5.1 SISTEMA INFORMATIVO SPECIFICHE MESSAGGI BACKBONE SPA SVILUPPO PERCORSI
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliInvocazione remota: REST
Luca Cabibbo Architettura dei Sistemi Software Invocazione remota: REST dispensa asw835 marzo 2019 As we all should know, REST is not the answer to all questions. Martin Fowler 1 - Fonti Richardson, C.
DettagliRealizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011
tesi di laurea Realizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Francesco Gargiulo candidato
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
Dettagliottobre Fonti [SSA] Chapter 19, The Development Viewpoint Luca Cabibbo Punto di vista dello Sviluppo Luca Cabibbo SwA
Luca Cabibbo Architetture Software Dispensa AS 19 ottobre 2008 1 -Fonti [SSA] Chapter 19, The Development Viewpoint 2 Obiettivi - Obiettivi e argomenti descrivere il punto di vista dello Sviluppo Argomenti
DettagliLezione 3 Progettazione di siti
Lezione 3 Progettazione di siti Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano Elementi base della progettazione di servizi
DettagliModel-View- Controller
Model-View- Controller A. FERRARI MVC Il Model-View-Controller è un pattern architetturale molto diffuso nello sviluppo di sistemi software, in particolare nell'ambito della programmazione orientata agli
DettagliProgrammazione modulare
Programmazione modulare 2018-2019 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5B Docente: Maria Lizzi, Giorgio Carnevale Ore settimanali
DettagliIntroduzione ai Web Services Alberto Polzonetti
PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema
DettagliService Oriented Architecture
Service Oriented Architecture Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta
DettagliIntroduzione al corso di Interazione Uomo-Macchina HCI. Fabio Vitali 18 ottobre 1999
Introduzione al corso di Interazione Uomo-Macchina Fabio Vitali 18 ottobre 1999 Keyboard not found. Press F12 to continue Anonimo ingegnere di PC 2 Introduzione Oggi esaminiamo in breve: Informazioni pratiche
DettagliDigital Transformation e Cloud. Stefano Inelli 22 Novembre 2017
Digital Transformation e Cloud Stefano Inelli 22 Novembre 2017 1 1 2 3 4 Digital Transformation Implementazione servizi IT Contributo del Cloud Quali competenze 2 Digital Transformation Le «tecnologie
DettagliIntroduzione alla Programmazione per il Web
Introduzione alla Programmazione per il Web Docente: Gino Perna Obiettivi del corso Il corso vuole introdurre la pratica della programmazione in contesti applicativi attuali: programmazione di applicazioni
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliStrumenti e tecnologie Geo-web
Strumenti e tecnologie Geo-web Fondamenti sulla condivisione web delle informazioni geografiche Corso di Sistemi Informativi Territoriali Avanzati UD12 Corso di Laurea Magistrale in Pianificazione e Politiche
DettagliCasi 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
DettagliParte II.4 World Wide Web
Parte II.4 World Wide Web Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Argomenti World Wide Web URL Pagine Web World Wide
DettagliApplicativi regionali centralizzati per la Sanità - AURA Archivio Unitario Regionale degli Assistiti
Pag. 1 di 8 Applicativi regionali centralizzati per la Sanità - AURA Archivio Unitario Regionale degli Assistiti Integrazione AURA - CUP Regionale Versione 2 Maggio 2019 Pag. 2 di 8 1. Scopo e riferimenti
DettagliIBMi Next Step. IBMi Next Step: Strumenti moderni per lo sviluppatore. IBM Client Center 6 Dicembre 2016 Segrate (MI)
IBMi Next Step IBM Client Center 6 Dicembre 2016 Segrate (MI) IBMi Next Step: Strumenti moderni per lo sviluppatore IBMi Next Step : Web Services con RPG Roberto De Pedrini (Faq400.com) 1 Cosa sono i Web
DettagliBasi di Dati Architetture Client/Server
Basi di Dati Architetture Client/Server Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliModulo 2 Architetture dei SD Lezione 1
Modulo 2 Architetture dei SD Lezione 1 Corso Sistemi Distribuiti (6 CFU) Docente: Prof. Marcello Castellano Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano Table of Contents
DettagliStudio e realizzazione di un client per l'interoperabilità tra un archivio museale e un Data Provider OAI-PMH nell'ambito dell'architettura CART
Studio e realizzazione di un client per l'interoperabilità tra un archivio museale e un Data Provider OAI-PMH nell'ambito dell'architettura CART Relatori: Prof. Vito Cappellini Dr. Roberto Caldelli Ing.
DettagliPiattaforme software distribuite I
Piattaforme software distribuite I Introduzione a Java 2 Platform Enterprise Edition (J2EE) Davide Lamanna lamanna@dis.uniroma1.it Programma Architetture per le applicazioni web Carrellata di ripasso Valutazione
DettagliStudio e implementazione di un Profilo SAML per Trait based Identity Management System nel Session Initiation Protocol
UNIVERSITA DEGLI STUDI DI PISA FACOLTA DI INGEGNERIA Corso di Laurea Specialistica in INGEGNERIA INFORMATICA TESI DI LAUREA SPECIALISTICA Studio e implementazione di un Profilo SAML per Trait based Identity
DettagliMATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari
A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere
DettagliTECN.PROG.SIST.INF. I Socket Roberta Gerboni
2015 - Roberta Gerboni Socket e porte I sistemi operativi multitasking possono fare girare contemporaneamente più processi dove ogni processo può rendere disponibili anche più servizi. Questi devono essere
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di dati Basi di Dati Architetture Client/Server Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) È una famiglia di notazioni grafiche che si basano su un singolo meta-modello Serve per definire, progettare, realizzare e documentare sistemi sw (in particolare quelli
DettagliPier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
Le tecnologie alla base del World Wide RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1
DettagliI servizi «Fatture e Corrispettivi» Una nuova generazione di servizi digitali per i contribuenti IVA
Agenzia delle Entrate I servizi «Fatture e Corrispettivi» Una nuova generazione di servizi digitali per i contribuenti IVA Giuseppe Buono, Direttore Centrale Tecnologie e Innovazione Roma, 25 maggio 2017
DettagliInformatica: arte e mestiere 3/ed
Internet l Indice Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica Architettura
DettagliSemantic Web. Obiettivi a lungo termine del W3C
Obiettivi a lungo termine del W3C Universal Access: Rendere il Web accessibile a tutti, promuovendo tecnologie che tengano conto delle notevoli differenze culturali, di formazione, di capacità, di risorse
DettagliTecnologie Web Introduzione
Tecnologie Web Introduzione 1 Breve Storia del Web - 1 Il Word Wide Web (WWW) è stato proposto nel 1989 da Tim Berners-Lee che lavorava al CERN di Ginevra L idea alla base del progetto era quella di fornire
DettagliIng. Fabio Cilento Via Antonio Cagnoni Roma C.F. CLNFBA77T06A091A P.IVA
Ing. Fabio Cilento Via Antonio Cagnoni 41 00124 Roma C.F. CLNFBA77T06A091A P.IVA 12619941003 Spett.le Comune di Civitavecchia Rif. Innovazione Tecnologica Relazione tecnica Per attività di supporto per
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001-2007 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze
DettagliIl Web. Struttura e servizi
Il Web Struttura e servizi Ipertesto ed ipermedia Un ipertesto è un testo la cui struttura è reticolare, invece che semplicemente lineare o gerarchica. Si parla di multimedialità quando un testo è formato
Dettagli