SlideShare a Scribd company logo
1 of 17
Download to read offline
Progettazione e sviluppo di una
interfaccia di controllo per Crawling
Web distribuito
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 2
Architettura Crawling Web Distribuito
Dalla figura a destra si ha una chiara
idea su come potrebbe essere una
possibile architettura di Crawling Web
distribuito.
Ha i seguenti componenti:
● Un APP che lavora su dati aperti;
● Un insieme di crawler che si occupa
della collezione dei dati;
● Database esterni;
● Un interfaccia di controllo che permette
di gestire l’insieme dei crawler;
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 3
Tecnologie utilizzate
●
Netbeans è un
ambiente di sviluppo
open source scritto
interamente in JAVA; è
l’ambiente scelto da
ORACLE
APPLICATIONS come
IDE ufficiale, da
contrapporre al più
diffuso ECLIPSE.
●
Le tecnologie
supportate da
netbeans sono: JAVA
SE – JAVA EE – C/C++
– PHP – HTML5
Ambiente di Sviluppo
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 4
Tecnologie utilizzate
●
Linguaggio di
programmazione JAVA;
●
J2EE: Piattaforma per
lo sviluppo della web-
application;
●
Application Server
JBoss as 7
●
Componenti server:
Servlet e JSP
Linguaggio di programmazione e relativi strumenti
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 5
Tecnologie utilizzate
●
HTML5 per il layout
delle pagine;
●
CSS3 per la
presentazione delle
pagine;
●
Framework jQuery per
uso di AJAX e controlli
sui pulsanti;
Strumenti per il front-end
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 6
Interfaccia di Controllo
●
Complessivamente l’applicazione è
costituita da una pagina html iniziale
(index.html) e due pagine JSP.
●
Si possono elencare diverse funzioni
offerte dall’interfaccia:
1. Possibilità di autenticazione nella
pagina iniziale con relativo username
e password;
2. Visualizzazione dei crawler
disponibili con un efficiente sistema
di identificazione, creazione di un
altro crawler e/o cancellazione di
quelli già disponibili;
3. Elenco delle informazioni su un
crawler già disponibile ed eventuale
modifica dello stato di esecuzione
e/o settaggio delle credenziali
relative ad esso;
Presentazione
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 7
Interfaccia di Controllo

Il pulsante GetCrawlers chiama la pagina firstpage.jsp che si occupa della
gestione di un insieme di crawler.
Presentazione - codice
30/11/15Titolo Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 8
Interfaccia di Controllo

In questa parte viene offerto all’utente diverse funzioni su un determinato insieme di crawler.
Principalmente le funzioni sono 3:
1. Visualizzazione crawler disponibili: Funzione resa possibile attraverso una chiamata GET al
RestWEB offerto dal professore Leonardo Querzoni. Tutta la funzione è stata implementata
nella pagina JSP, grazie proprio alla sua particolarità che permette l’inserimento diretto di codice
Java nella pagina.
Gestione insieme di Crawler
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 9
Interfaccia di Controllo
2. Aggiunta di un nuovo crawler:
Funzione realizzata attraverso un
form html, una chiamata AJAX ed
una servlet specifica che
chiamata da AJAX invia una
richiesta al RestWeb.
3. Eliminazione crawler esistente:
Funzione gestita dai vari pulsanti
adiacenti al pulsante relativo di
un determinato crawler. Ogni
pulsante ha una sua chiamata
AJAX che elimina il crawler
attraverso una richiesta di
DELETE al RestWEB.
Gestione insieme di Crawler
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 10
Interfaccia di Controllo
Visualizzazione crawler disponibili
Gestione insieme di Crawler - codice
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 11
Interfaccia di Controllo
Eliminazione crawler esistente
Chiamata AJAX alla servlet ServletDeleteCrawler
Gestione insieme di Crawler - codice
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 12
Interfaccia di Controllo
Creazione Crawler
Chiamata AJAX alla servlet ServlerCreateCrawler
Gestione insieme di Crawler - codice
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 13
Interfaccia di Controllo
●
Informazioni crawler:
1. Status;
2. Email;
3. Data ultima esecuzione;
●
Possibili modifiche del crawler:
1. Stato
2. Email e password
Controllo singolo Crawler
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 14
Interfaccia di Controllo
Visualizzazione informazioni crawler
Controllo singolo Crawler - codice
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 15
Interfaccia di Controllo
Visualizzazione informazioni crawler
Controllo singolo Crawler - codice
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 16
Interfaccia di Controllo

Il crawler si può trovare in 3 diversi stati: STOP, START, PAUSE.

La modifica dello stato è gestita da una chiamata AJAX ad una
servlet che si occupa di cambiare stato al crawler.
Controllo singolo Crawler - codice
30/11/15Progettazione e sviluppo di una
interfaccia di
controllo per Crawling Web distribuito
Pagina 17
Interfaccia di Controllo

La modifica delle credenziali, email e password, avviene al click del pulsante Modify che offre in slideDown una
area riservata all’inserimento in input dei nuovi dati. Tale pulsante ha anche la funzione di slideUp nel caso
l’utente non vuole più modificare le credenziali. Inoltre viene fatto un controllo sui dati affinché porti l’utente a una
scelta corretta delle nuove credenziali.

Per quanto riguarda la parte di codice dell’effettiva modifica di credenziali, i due strumenti utilizzati sono stati una
chiamata AJAX e una servlet apposita per questa funzione. La decisione di usare queste due tecnologie è stata
presa in base al fatto che questa operazione è paragonabile soprattutto alla funzione di creazione di un crawler.
Controllo singolo Crawler - codice

More Related Content

Viewers also liked

makanan khas dan transportasi umum di perancis
makanan khas dan transportasi umum di perancismakanan khas dan transportasi umum di perancis
makanan khas dan transportasi umum di perancis
Tita Rosita
 

Viewers also liked (14)

makanan khas dan transportasi umum di perancis
makanan khas dan transportasi umum di perancismakanan khas dan transportasi umum di perancis
makanan khas dan transportasi umum di perancis
 
Trabajo modelos
Trabajo modelosTrabajo modelos
Trabajo modelos
 
Perspectivas integradoras del siglo XXI
Perspectivas integradoras del siglo XXIPerspectivas integradoras del siglo XXI
Perspectivas integradoras del siglo XXI
 
Electiva
ElectivaElectiva
Electiva
 
Bombeiro civil 1
Bombeiro civil 1Bombeiro civil 1
Bombeiro civil 1
 
Dijous 23 2-17
Dijous 23 2-17Dijous 23 2-17
Dijous 23 2-17
 
Post questionnaire graphs
Post questionnaire graphsPost questionnaire graphs
Post questionnaire graphs
 
Pcr & Real time pcr
Pcr & Real time pcrPcr & Real time pcr
Pcr & Real time pcr
 
AQA GCSE LANG P1 P2 LIT P1 P2
AQA GCSE LANG P1 P2  LIT P1 P2 AQA GCSE LANG P1 P2  LIT P1 P2
AQA GCSE LANG P1 P2 LIT P1 P2
 
Filosofia o filosofar
Filosofia o filosofarFilosofia o filosofar
Filosofia o filosofar
 
Interaction17 | Designing to Combat Misinformation
Interaction17 | Designing to Combat Misinformation Interaction17 | Designing to Combat Misinformation
Interaction17 | Designing to Combat Misinformation
 
folleto orientacionestutoria_2017
 folleto orientacionestutoria_2017 folleto orientacionestutoria_2017
folleto orientacionestutoria_2017
 
Sequencia de Quadrilha Nº 1
Sequencia de Quadrilha Nº 1Sequencia de Quadrilha Nº 1
Sequencia de Quadrilha Nº 1
 
Reisado III
Reisado IIIReisado III
Reisado III
 

Similar to Thesis

Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
DotNetCampus
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
DotNetCampus
 

Similar to Thesis (20)

Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
 
OpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studioOpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studio
 
Spa with Blazor
Spa with BlazorSpa with Blazor
Spa with Blazor
 
Un backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringUn backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con Spring
 
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community Tour
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppTech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web App
 
CMS - Analisi Vulnerabilità
CMS - Analisi VulnerabilitàCMS - Analisi Vulnerabilità
CMS - Analisi Vulnerabilità
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 
Selenium e testing web - di Alessio Benedetti
Selenium e testing web - di Alessio BenedettiSelenium e testing web - di Alessio Benedetti
Selenium e testing web - di Alessio Benedetti
 
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del web
 
Wasm and Blazor CDays keynote
Wasm and Blazor CDays keynoteWasm and Blazor CDays keynote
Wasm and Blazor CDays keynote
 
CrowdMine
CrowdMineCrowdMine
CrowdMine
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3Tutte le novità di ASP.NET MVC3
Tutte le novità di ASP.NET MVC3
 

Thesis

  • 1. Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito
  • 2. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 2 Architettura Crawling Web Distribuito Dalla figura a destra si ha una chiara idea su come potrebbe essere una possibile architettura di Crawling Web distribuito. Ha i seguenti componenti: ● Un APP che lavora su dati aperti; ● Un insieme di crawler che si occupa della collezione dei dati; ● Database esterni; ● Un interfaccia di controllo che permette di gestire l’insieme dei crawler;
  • 3. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 3 Tecnologie utilizzate ● Netbeans è un ambiente di sviluppo open source scritto interamente in JAVA; è l’ambiente scelto da ORACLE APPLICATIONS come IDE ufficiale, da contrapporre al più diffuso ECLIPSE. ● Le tecnologie supportate da netbeans sono: JAVA SE – JAVA EE – C/C++ – PHP – HTML5 Ambiente di Sviluppo
  • 4. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 4 Tecnologie utilizzate ● Linguaggio di programmazione JAVA; ● J2EE: Piattaforma per lo sviluppo della web- application; ● Application Server JBoss as 7 ● Componenti server: Servlet e JSP Linguaggio di programmazione e relativi strumenti
  • 5. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 5 Tecnologie utilizzate ● HTML5 per il layout delle pagine; ● CSS3 per la presentazione delle pagine; ● Framework jQuery per uso di AJAX e controlli sui pulsanti; Strumenti per il front-end
  • 6. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 6 Interfaccia di Controllo ● Complessivamente l’applicazione è costituita da una pagina html iniziale (index.html) e due pagine JSP. ● Si possono elencare diverse funzioni offerte dall’interfaccia: 1. Possibilità di autenticazione nella pagina iniziale con relativo username e password; 2. Visualizzazione dei crawler disponibili con un efficiente sistema di identificazione, creazione di un altro crawler e/o cancellazione di quelli già disponibili; 3. Elenco delle informazioni su un crawler già disponibile ed eventuale modifica dello stato di esecuzione e/o settaggio delle credenziali relative ad esso; Presentazione
  • 7. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 7 Interfaccia di Controllo  Il pulsante GetCrawlers chiama la pagina firstpage.jsp che si occupa della gestione di un insieme di crawler. Presentazione - codice
  • 8. 30/11/15Titolo Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 8 Interfaccia di Controllo  In questa parte viene offerto all’utente diverse funzioni su un determinato insieme di crawler. Principalmente le funzioni sono 3: 1. Visualizzazione crawler disponibili: Funzione resa possibile attraverso una chiamata GET al RestWEB offerto dal professore Leonardo Querzoni. Tutta la funzione è stata implementata nella pagina JSP, grazie proprio alla sua particolarità che permette l’inserimento diretto di codice Java nella pagina. Gestione insieme di Crawler
  • 9. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 9 Interfaccia di Controllo 2. Aggiunta di un nuovo crawler: Funzione realizzata attraverso un form html, una chiamata AJAX ed una servlet specifica che chiamata da AJAX invia una richiesta al RestWeb. 3. Eliminazione crawler esistente: Funzione gestita dai vari pulsanti adiacenti al pulsante relativo di un determinato crawler. Ogni pulsante ha una sua chiamata AJAX che elimina il crawler attraverso una richiesta di DELETE al RestWEB. Gestione insieme di Crawler
  • 10. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 10 Interfaccia di Controllo Visualizzazione crawler disponibili Gestione insieme di Crawler - codice
  • 11. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 11 Interfaccia di Controllo Eliminazione crawler esistente Chiamata AJAX alla servlet ServletDeleteCrawler Gestione insieme di Crawler - codice
  • 12. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 12 Interfaccia di Controllo Creazione Crawler Chiamata AJAX alla servlet ServlerCreateCrawler Gestione insieme di Crawler - codice
  • 13. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 13 Interfaccia di Controllo ● Informazioni crawler: 1. Status; 2. Email; 3. Data ultima esecuzione; ● Possibili modifiche del crawler: 1. Stato 2. Email e password Controllo singolo Crawler
  • 14. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 14 Interfaccia di Controllo Visualizzazione informazioni crawler Controllo singolo Crawler - codice
  • 15. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 15 Interfaccia di Controllo Visualizzazione informazioni crawler Controllo singolo Crawler - codice
  • 16. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 16 Interfaccia di Controllo  Il crawler si può trovare in 3 diversi stati: STOP, START, PAUSE.  La modifica dello stato è gestita da una chiamata AJAX ad una servlet che si occupa di cambiare stato al crawler. Controllo singolo Crawler - codice
  • 17. 30/11/15Progettazione e sviluppo di una interfaccia di controllo per Crawling Web distribuito Pagina 17 Interfaccia di Controllo  La modifica delle credenziali, email e password, avviene al click del pulsante Modify che offre in slideDown una area riservata all’inserimento in input dei nuovi dati. Tale pulsante ha anche la funzione di slideUp nel caso l’utente non vuole più modificare le credenziali. Inoltre viene fatto un controllo sui dati affinché porti l’utente a una scelta corretta delle nuove credenziali.  Per quanto riguarda la parte di codice dell’effettiva modifica di credenziali, i due strumenti utilizzati sono stati una chiamata AJAX e una servlet apposita per questa funzione. La decisione di usare queste due tecnologie è stata presa in base al fatto che questa operazione è paragonabile soprattutto alla funzione di creazione di un crawler. Controllo singolo Crawler - codice