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



Documenti analoghi
Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

Tecniche di riuso del software: applicazione ad un caso di studio reale

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Lezione 1 Introduzione

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0

Generazione Automatica di Asserzioni da Modelli di Specifica

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Informativa sulla privacy

Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0

DESIGN PATTERN ESERCITAZIONE UML E DP INGEGNERIA DEL SOFTWARE. A quali pattern si riferiscono i tre schemi?

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Una metodologia per la specifica di software basato su componenti

Soluzione dell esercizio del 2 Febbraio 2004

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

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Strumenti per la gestione della configurazione del software

Strumenti di modellazione. Gabriella Trucco

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Test in automatico di programmi Android

Soluzione dell esercizio del 12 Febbraio 2004

Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Progetto e sviluppo di un applicazione per il pilotaggio remoto di reti

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

Progettaz. e sviluppo Data Base

Guida alla registrazione on-line di un DataLogger

11. Evoluzione del Software

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

7. Architetture Software

Gestione Turni. Introduzione

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

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

Come nasce l Azienda INGEGNERIA DEI SISTEMI ESPERIENZA APPLICATIVA CONOSCENZA DELLA TECNOLOGIA MOBILESERVICES

MANUALE DELLA QUALITÀ Pag. 1 di 6

Privacy Policy di

OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Sistemi informativi secondo prospettive combinate

Quintiq stabilisce un nuovo standard per la pianificazione delle risorse nel settore ferroviario

12. Evoluzione del Software

B.P.S. Business Process Server ALLEGATO C10

Scenari di Deployment i. Scenari di Deployment

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

MService La soluzione per ottimizzare le prestazioni dell impianto

Università Politecnica delle Marche. Progetto Didattico

SELEZIONE ICD icandidati

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

REALIZZARE UN BUSINESS PLAN CON MICROSOFT EXCEL 2007

Modalità e luogo del trattamento dei Dati raccolti Modalità di trattamento

L amministratore di dominio

Modalità e luogo del trattamento dei Dati raccolti Modalità di trattamento

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Piano di gestione della qualità

Informativa Privacy Privacy Policy di

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

Presentazione di Cedac Software

Ingegneria del Software T

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Analisi e sviluppo di un componente per un ESB open source

il servizio web per le comunicazioni scuola famiglia Descrizione generale del prodotto

Seminario di Sistemi Distribuiti RPC su SOAP

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Centro Servizi Territoriali (CST) Asmenet Calabria

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

A cura di Giorgio Mezzasalma

Gestione Risorse Umane Web Work-flow Selezione

Ciclo di vita dimensionale

ALICE AMMINISTRAZIONE UTENTI WEB

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Università degli Studi di Salerno

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

Risparmiare innovando

UNI EN ISO 9001:2008 Sistemi di Gestione per la Qualità: requisiti e guida per l uso

FAQ. Denunce Infortunio INAIL

Andreani Tributi Srl. Titolare del Trattamento dei Dati. P.Iva Sede: Via Cluentina 33/D Macerata

MODULO 5 Appunti ACCESS - Basi di dati

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

WorkFLow (Gestione del flusso pratiche)

La Progettazione Concettuale

IL CASO DELL AZIENDA. Perché SAP.

Soluzioni Mirate di Web Marketing Professionale

COME FARE UNA RICHIESTA DI ASSISTENZA ON LINE (AOL)

REGOLAMENTO PER IL RECLUTAMENTO E LA SELEZIONE DEL PERSONALE

Tesi Di Laurea. Anno Accademico 2010/2011. relatore Ch.mo prof. Cinque Marcello. correlatore Ch.mo Ing. Catello Cacace

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

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Università di Roma La Sapienza, Facoltà di Ingegneria

Comunicazione per le PMI nuove soluzioni a un problema di sempre una practice di Orga 1925

Versione 2015I PROTOCOLLO: CRS/SG-PAC/151021

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

Object Oriented Programming

Automazione Industriale (scheduling+mms) scheduling+mms.

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

Transcript:

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 DELLA TESI - Studio della tecnologia REST - Tecniche e best practice per la realizzazione di risorse RESTlet - Principali differenze con SOAP - Studio delle tecniche di migrazione da sistemi legacy verso SOA - Proposta e valutazione di tecniche per la migrazione di Web application verso servizi REST - Attraverso casi di studio che hanno coinvolto la migrazione di due applicazioni.

SMART: Service Migration and Reuse Technique Definisce una metodologia per supportare gli analisti a valutare la migrazione e il riuso di funzioni di un sistema legacy come servizi. Vantaggi di una migrazione verso SOA: Riutilizzo del sistema per ottenere un ritorno di investimento sfruttando le caratteristiche su cui si basa l ambiente SOA. La migrazione, se gestita bene, potrà portare ad un ottimizzazione dei costi e a maggiore adattabilità e agilità del sistema Elementi che costituiscono SMART Processo SMART: viene utilizzato allo scopo di raccogliere informazioni sul servizio legacy, sui servizi candidati alla migrazione e sul target SOA; Service Migration Interview Guide (SMIG): E composto da più di 60 categorie di domande che permettono di ottenere informazioni circa il contesto di migrazione. Modelli per artefatti: Fornisce dei modelli collaudati per raccogliere le informazioni derivanti dal processo SMART in modo ordinato (es. StakeHolder List) SMART Tool: l utilizzo di un tool rende più semplice la raccolta delle informazioni.

REST: REpresentational State Transfer Facoltà di Ingegneria Serie di principi e stili architetturali per costruire sistemi di scambio dati client/server ereditando molte caratteristiche che hanno reso famoso il Web o Principi cardine: Stateless: Non esiste la gestione dello stato applicativo, ogni richiesta è a sé stante; Indicizzazione: Ogni risorsa deve essere identificata univocamente da un proprio URI; Interfaccia constante e uniforme: I metodi di accesso sono uguali per ogni tipo di risorsa e vengono definiti mediante i verbi HTTP. Orientata alle rappresentazioni: Lo stato di una risorsa deve essere descritto mediante un tipo di rappresentazione che dovrà farsi carico di collegare le risorse tra di loro tramite link. NOTA L uso di un interfaccia constante ci costringe ad implementare per ogni risorsa al più operazioni di creazione, modifica, creazione e lettura. E a mappare ognuna di queste per mezzo di un apposito verbo http. In particolare: PUT Aggiornamento o creazione POST Creazione DELETE Cancellazione GET - Lettura

REST vs SOAP Vantaggi Semantica già descritta per ogni risorsa dai metodi HTTP che sono applicabili su di essa, evitando la necessità di ricorrere a documenti di descrizione; Minore appesantimento dei messaggi dovuto alla mancanza di envelope SOAP; Maggiore controllo sul tipo di operazione richiesta da parte di sistemi di sicurezza che possono riconoscere semplicemente guardando l header http se l operazione e sicura o meno; Semplice da implementare perché basato su concetti già ampiamente affermati utilizzati; Svantaggi: Manca il supporto standard al type check o per la gestione della sicurezza, ciò potrebbe rendere lo sviluppo di applicazioni complesse più difficile; In alcuni casi i verbi HTTP non sono in grado di definire in maniera completa la semantica di un operazione. Diffusione Per capire quanto i web services con architettura REST si stiano diffondendo, basta fare riferimento alle parole di Jeff Barr, creatore di syndic8 e attualmente Amazon s chief web services evangelist. Barr affermò che Amazon offriva dei web services basati sia su soap che su REST, ma solo il 15% del loro traffico era SOAP.

Costruzione di una risorsa REST Per la creazione di una generica risorsa RESTful abbiamo adottato questo tipo di metodologia: Le prime due fasi ci aiutano nella costruzione del dominio dei dati e nell individuazione delle risorse; La fase iterativa si applica ad ogni risorsa e serve per definirla completamente; La fase di divisione dei dati in risorse avviene in modo simile a come avviene nel mondo object-oriented cioè individuando i sostantivi dal documento di specifica. Ma a causa dell utilizzo di un interfaccia unificata le responsabilità della risorsa sono ridotte. Per questo si rende necessario individuare risorse associate per ampliare le azioni sulla risorsa.

Caso d uso: d Migrazione di una web application accessibile solo tramite interfaccia web Nome Applicazione: Web Docenti Tipologia servizio da migrare: Read only Meccanismo di controllo per accesso delle risorse: Nessuno Casi d uso da migrare: Lettura dati docenti e ricerca docenti per nome e/o cognome

Caso di studio: Migrazione di un applicazione con accesso alle classi di Business Nome applicazione da migrare: Tudu Tipologia del servizio da migrare: Stateful Meccanismo di controllo per l accesso alle risorse: API Key Casi d uso da migrare: Elenco todo List, Inserimento nuova todo List; modifica, eliminazione e inserimento nuovo elemento todo; Schema architetturale Tudu application Noi utilizzeremo il modulo CORE che contiene le classi per la persistenza dei dati e quelle che costituiscono il dominio

Problematica controllo accesso alle risorse: API Key Facoltà di Ingegneria L api key è un codice univoco, solitamente alfanumerico, che accoppiato alla richiesta ad un web service ne permette la fruizione. Se abbinato ad un contatore che si incrementa ogni volta che viene utilizzato il servizio fornisce indicazione sull utilizzo dello stesso da parte di un utente. E possibile implementare un meccanismo per la gestione della API Key tramite i filtri, che vengono messi a disposizione l ambiente Java. Questi sono utili ogni qual volta ci sia bisogno di eseguire il Pre-processing o il Post-processing delle richieste. Esaminando, prima di inoltrare la richiesta alla servlet, la api key associata all invocazione del servizio possiamo valutare la sua correttezza ed eventualmente rifiutare la richiesta.

Realizzazione di casi d uso d complessi che integrano servizi migrati Attraverso un applicativo client che componendo i vari casi d uso riesce ad implementarne uno del tutto nuovo Il nuovo caso d uso è il merging di due liste Class diagram client/server

Conclusioni Obbiettivi L obbiettivo che si è raggiunto con la tesi è stato quello di utilizzare un processo di migrazione verso servizi RESTful di web application esistenti, approfondendo e ampliando metodologie, best practice e frameworks ancora troppo poco documentati. Sviluppi Futuri: Progettazione e implementazione di un programma wrapper che supporti il processo di migrazione