2.1.1 Motori di ricerca generalisti

Transcript

2.1.1 Motori di ricerca generalisti
POLITECNICO DI MILANO
Polo Regionale di Como
Facoltà di Ingegneria dell’Informazione
Corso di Studi in Ingegneria Informatica
Tecnologie di ricerca Web per portali verticali
Relatore:
Elaborato finale di :
Prof. Marco Brambilla
Fumeo Stefano
Correlatori:
matr. 701302
Prof. Massimo Tisi
Contessa Simone
Prof. Alessandro Bozzon
matr. 701303
ANNO ACCADEMICO
2008 – 2009
Sommario
Sommario
Al giorno d'oggi l'implementazione di un motore di ricerca verticale
focalizzato su un particolare settore, come può essere quello aziendale, è
diventata di fondamentale importanza.
Per questo motivo Google e Yahoo, aziende leader nel settore dei motori di
ricerca generalisti, si sono prodigate negli ultimi anni per creare dei servizi
ad hoc per adempiere a questo crescente fabbisogno.
In particolar modo Yahoo presenta 2 servizi innovativi con i quali è possibile
personalizzare sia il dominio di ricerca, sia il layout di visualizzazione dei
risultati ottenuti. Inoltre, utilizzando Yahoo Boss con l'ausilio di Yahoo
SearchMonkey, è possibile ricercare dei dati strutturati all'interno delle
pagine Web che, in questo modo, di fatto sono in grado di sostituire il
tradizionale database in cui erano contenuti i dati d'interesse aziendale.
Google invece, nel suo servizio, permette solo di restringere il dominio dei
siti in cui effettuare la ricerca e di modificarlo in base alle proprie esigenze
attraverso l'utilizzo di sotto-domini di ricerca identificabili con delle etichette
univoche. Queste limitazioni sono state effettuate in favore di una notevole
semplificazione del lavoro da svolgere per implementare il servizio.
Questa tesi, perciò, si occupa dell'analisi dettagliata di questi servizi,
mettendone in evidenzia pregi e difetti attraverso delle comparazioni
effettuate in diversi contesti. Inoltre, per testarne le effettive potenzialità, è
stata proposta una sperimentazione di queste nuove risorse all'interno di un
portale dedicato alle aziende impegnate nel settore del risparmio
energetico.
Le funzionalità principali di questo progetto sono:
2
Sommario
•
la registrazione delle aziende al portale e la creazione del relativo
account necessario per accedere ai servizi personalizzati offerti;
•
la creazione di un profilo, attribuendo un significato semantico ai dati
aziendali, all'interno del portale per le imprese che non possiedono
un proprio sito internet oppure la possibilità di generare i
microformat da inserire nella propria pagina Web per le aziende che
ne sono in possesso;
•
la gestione di un motore di ricerca verticale interno per consentire
una ricerca specifica, relativamente ai prodotti offerti dalle aziende
registrate, sia al pubblico, sia alle imprese del network;
•
l'implementazione di funzionalità di gestione del database e dei dati
aziendali appositamente create per l'amministrazione del portale;
•
la visualizzazione avanzata dei risultati di ricerca proposti dal motore
di ricerca interno, per consentire agli utenti sia una visione più
completa dei prodotti aziendali sia l'utilizzo di un insieme di servizi
associati al risultato.
Infine questa sperimentazione è servita per
far emergere ulteriori
differenze tra i servizi analizzati, tra le quali:
•
il Grado di personalizzazione, infatti mentre Yahoo
consente di
arricchire i risultati standard con foto o con dati aggiuntivi ricavati dai
microformat di diverse pagine Web, Google utilizza un approccio
completamente diverso puntando sulla minimizzazione del tempo di
elaborazione trascurando completamente sia la personalizzazione
della query di ricerca sia la modifica del layout dei risultati ottenuti;
3
Sommario
•
le architetture necessarie per il corretto funzionamento, infatti se da
una parte Google CSE non richiede particolari architetture dal lato
server per funzionare, Yahoo Boss, essendo un servizio rest,
necessita di un server PHP o Java per interpretare i risultati ottenuti.
Questo porta ad un inevitabile aumento del tempo di risposta del
servizio;
•
il ranking dei risultati, che è completamente modificabile con il
servizio di Yahoo in quanto i risultati sono forniti su di un file esterno
ed invece resta impossibile da manipolare con Google CSE, in
quanto gli stessi risultati vengono inseriti direttamente all'interno
della pagina visualizzata dal client.
Per questi motivi, anche se i servizi sono concepiti per rispondere allo
stesso fabbisogno, sono utilizzabili in contesti completamente diversi in
base ai requisiti aziendali richiesti.
Contenuti
Sommario..................................................................................................2
4
Contenuti
1. Introduzione...........................................................................................7
1.1 Il problema dei motori di ricerca......................................................7
1.2 servizi custom search....................................................................11
1.3 Organizzazione della tesi...............................................................15
2. Tecnologie per la ricerca Web..............................................................17
2.1 Prefazione......................................................................................17
2.1.1 Motori di ricerca generalisti....................................................18
2.1.2 Microformat............................................................................22
2.2 Le tecnologie utilizzate..................................................................26
2.2.1 Google CSE.............................................................................27
2.2.2 Yahoo Boss.............................................................................36
2.2.3 Yahoo SearchMonkey..............................................................47
2.3 Analisi comparativa ......................................................................57
3. Caso d'uso: un portale per il risparmio energetico..............................64
3.1 Prima sperimentazione..................................................................64
3.1.1 Requisiti..................................................................................66
3.1.2 Design preliminare..................................................................67
3.1.3 Design di progettazione..........................................................73
3.1.4 Implementazione....................................................................79
3.2 Seconda sperimentazione .............................................................86
3.2.1 Requisiti..................................................................................88
3.2.2 Design preliminare..................................................................89
3.2.3 Design di progettazione..........................................................94
3.2.4 Design dei microformat..........................................................99
3.2.5 Implementazione..................................................................105
4. Conclusioni finali................................................................................117
5
Contenuti
4.1 Prefazione....................................................................................117
4.2 Considerazioni sui servizi analizzati.............................................119
4.3 Sviluppi futuri...............................................................................129
4.4 Lavoro svolto e ringraziamenti....................................................135
4.5 Conclusioni..................................................................................140
Bibliografia.............................................................................................146
Capitolo 1:
6
Introduzione
Introduzione
1.1 Il problema dei motori di ricerca
La situazione aziendale attuale presenta numerosi problemi legati sia alla
gestione della grande mole di dati rilevanti prodotti, salvati all'interno della
propria banca dati, sia alla ricerca veloce e precisa delle informazioni
all'interno di essa.
Per questi motivi molte aziende dedicano molto tempo e denaro nel
tentativo di produrre ed implementare un proprio motore di ricerca
integrato con i propri servizi, o prodotti aziendali offerti, sulla propria pagina
Web. Questo sforzo, però, risulta a volte inutile in quanto, oltre ai problemi
citati in precedenza, sopraggiungono anche ulteriori complicazioni dovute:
•
alla scalabilità, in quanto un Web server o una batteria di server
non riescono a gestire un grandissimo numero di utenti che
accedono contemporaneamente alla base di dati o ai servizi offerti
dell'azienda. Questo lo si può facilmente risolvere duplicando le basi
di
dati e i Web server, ma con costi molto elevati e con
problematiche di sincronizzazione e di consistenza dei dati aziendali
rilevanti;
•
alla manutenzione, infatti all'interno dell'azienda dovrà essere
presente un tecnico specializzato nella gestione del Web server o
della base di dati per evitare sia i numerosi periodi di inattività del
servizio a causa di guasti, più o meno gravi, sia l' eventuale
incoerenza
dei
dati
dovuta
agli
errori
casuali
implementazione del servizio aziendale;
7
legati
alla
Introduzione
•
all'aggiornamento dei servizi offerti sul sito aziendale o dei dati,
infatti, soprattutto al giorno d'oggi, le tecnologie informatiche in
generale, ma soprattutto quelle per il Web, sono in continuo
aggiornamento e quindi non è sempre facile aggiungere nuovi
servizi o tecnologie al proprio vecchio sito aziendale integrandoli
perfettamente con quelli già presenti;
•
alla sicurezza, infatti per esporre la propria base di dati all'esterno
dell'azienda bisogna implementare numerose misure di sicurezza
per evitare attacchi alle informazioni aziendali rilevanti da parte di
malintenzionati. L'implementazione di sistemi di difesa come firewall
o dmz, oltre che comportare un notevole sforzo economico iniziale
per l'implementazione, se non sono già presenti, portano anche
ulteriori spese future per la manutenzione, la modifica o il rinnovo
della licenza se si tratta di un software;
•
alla visibilità del sito aziendale e quindi del motore di ricerca,
infatti, escludendo le grandi aziende, poche altre godono di questa
caratteristica nel Web, in quanto la maggior parte dei clienti ricerca
prodotti o servizi sui motori di ricerca generalisti. Quindi la grande
spesa per la creazione di un motore di ricerca non inciderebbe di
molto sulla visibilità dei servizi o prodotti aziendali.
•
Alla
ricerca
strutturata
delle
informazioni,
in
quanto
l'implementazione di un servizio di ricerca per chiave primaria
semplice all'interno della base di dati aziendale non permette
ricerche complesse o strutturate personalizzabili, secondo le
esigenze, da parte dell'utente;
•
all'implementazione dei servizi che utilizzano la base di dati, in
quanto bisogna considerare i costi d'integrazione delle tecnologie
già presenti in azienda, come ad esempio l'architettura dedicata allo
8
Introduzione
storage dei dati o al database stesso. Quest'ultimo, in particolare,
dovrà essere ripulito dai dati ripetuti, danneggiati o inconsistenti
presenti. Inoltre si dovrà anche introdurre, se non ancora presente,
uno standard aziendale per l'inserimento dei dati nella base di dati
per evitare errori di sintassi futuri che potrebbero compromettere il
funzionamento dei servizi di ricerca o di visualizzazione delle
informazioni.
Per tutti questi motivi molte aziende preferiscono utilizzare i servizi
standard offerti dal Web come i motori di ricerca generalisti, ad esempio
quelli standard offerti da Google o da Yahoo. Essi sono conosciuti dalla
maggior parte delle persone e non necessitano di alcun prerequisito per
l'utilizzo, se non quello di inserire le informazioni in una semplice pagina
Web. Purtroppo anche questo metodo presenta notevoli svantaggi, tra cui :
•
il ranking dei risultati che viene gestito interamente dal motore di
ricerca in base alle proprie politiche di ordinamento fondate sulla
popolarità e sull'attinenza con le parole ricercate. Questo aspetto
risulta molto svantaggioso per le piccole aziende che non si
vedranno quasi mai tra i primi risultati proposti a causa della
presenza di aziende più grandi o popolari, che offrono lo stesso
servizio;
•
la visualizzazione di qualsiasi tipo di risultato della ricerca è
sempre standard, e consiste in un collegamento al sito del risultato
proposto, una breve descrizione e poco altro. Questo problema
penalizza le aziende che possiedono molti dati relative ai propri
prodotti da visualizzare, come ad esempio illustrazioni, specifiche
tecniche, prezzo o descrizioni per ogni servizio;
•
efficienza nella ricerca dei dati, infatti con i servizi standard è
possibile solo ricercare le informazioni attraverso una query di
9
Introduzione
ricerca composta solo da una stringa di testo, impedendo, di fatto,
ricerche più precise all'interno della grande mole di dati presente sul
Web. A questo problema si aggiunge anche il fatto che i database
aziendali non possono essere presi in considerazione e che non è
possibile inserire dei dati in qualche modo strutturati all'interno delle
pagine Web. Di conseguenza i modi con cui un azienda può
diversificare o specificare il proprio servizio sul motore di ricerca
generalista sono veramente pochi;
•
impossibilità di effettuare una ricerca in un dominio di pagine
Web limitato, perciò risulta molto difficile focalizzare l'attenzione sui
propri prodotti o servizi da parte delle aziende, in quanto devono
confrontarsi con tutta la mole di dati presente sul Web, senza la
possibilità di indirizzare la ricerca nel proprio contesto. Questo di
certo è svantaggioso per un'impresa che voglia effettuare delle
ricerche che mettano in risalto i propri prodotti o i propri servizi
rispetto a quelli dei concorrenti;
•
impossibilità di inserire dei servizi strettamente correlati al
risultato della ricerca proposta dal motore di ricerca, come ad
esempio la mappa con l'itinerario per raggiungere l'azienda o la
possibilità di scaricare o visualizzare dei file legati in qualche modo
al prodotto oppure la possibilità di accedere alle informazioni sui
recapiti aziendali attraverso l'uso di una vcard.
Quindi anche la scelta dei motori di ricerca generalisti, come la
precedente, non sembra risolvere il fabbisogno aziendale che si sta
evidenziando negli ultimi anni.
10
Introduzione
1.2 servizi custom search
Google e Yahoo, due tra le più grandi aziende leader nel settore della ricerca
sul Web, hanno deciso di sviluppare dei servizi ad hoc analizzando il
crescente fabbisogno di possedere un motore di ricerca completamente
personalizzabile da parte delle imprese.
L' obiettivo principale era quello di fornire un servizio che avesse sia le
caratteristiche positive dei motori di ricerca generalisti, sia il grado di
personalizzazione e adattabilità disponibile nei siti privati aziendali senza però
dover costringere le aziende a forti spese per l'implemento o per la
manutenzione del servizio.
Fu così che Google presentò Custom Search Engine, un servizio che offriva
tutte le principali caratteristiche di quello standard generalista di Google, ma
che
aveva
il
vantaggio
di
presentare
anche
dei
metodi
per
la
personalizzazione da parte delle aziende interessate a questo servizio.
Google CSE risolse gran parte dei problemi discussi in precedenza,
innanzitutto permise di specificare il dominio di ricerca, indicandolo al
momento dell'attivazione del servizio oppure dichiarandolo dinamicamente su
un file xml presente sul server contenente il sito aziendale.
Inoltre introdusse un metodo per permettere una semplice ricerca strutturata.
Questo si poté realizzare grazie all'utilizzo di etichette univoche da associare
ad un particolare gruppo di pagine Web.
In questo modo fu possibile collegare ad un'etichetta tutti i siti d'interesse che
avessero qualcosa in comune o di particolare rispetto agli altri siti, ad esempio
il settore riguardante i prodotti venduti, i tipi di servizi o elaborati offerti, la
regione o provincia di residenza, il nome dell'impresa produttrice o
esportatrice, il proprietario dell'azienda o altro.
11
Introduzione
Queste etichette sono poi selezionabili quando si effettua la ricerca per
limitare ulteriormente il dominio della ricerca stessa ai siti associati
dinamicamente ad esse, indirizzando così l'utente verso il risultato desiderato.
Per quanto riguarda il ranking dei risultati della ricerca Google CSE introdusse
un parametro per permetterne la modifica, sia pur minima, da parte delle
aziende. Questo valore può essere associato alle varie pagine del dominio di
ricerca in modo dinamico per aumentare o diminuire il coefficiente di ranking,
calcolato dall'algoritmo di ordinamento di Google CSE, utilizzato per
determinare la posizione del risultato nella ricerca effettuata dall'utente.
Sul fronte della personalizzazione del layout dei risultati Google decise di
riutilizzare la visualizzazione classica degli stessi per mantenere un tempo di
risposta minimo che non dipendesse dal modo d'implementazione.
Infatti
questo servizio può essere implementato facilmente su una qualsiasi pagina
html senza il supporto di nessuna tecnologia server-side.
Infine Google CSE fu integrato, sotto forma di consigli di ricerca, anche nel
motore di ricerca generalista standard, sia per cercare di rendere quest'ultimo
un po' più strutturato sia per aumentare la visibilità dei servizi personalizzati
creati dalle aziende più piccole e meno popolari.
Seguì lo stesso obiettivo anche Yahoo seppur con politiche differenti, infatti
strutturò Yahoo BOSS come un servizio rest, cioè creò una risorsa reperibile
sul Web ad un indirizzo url fisso a cui inviare la query di ricerca ed alcuni
parametri per ricevere su di un file xml i risultati della ricerca da visualizzare.
Proprio questa caratteristica risulterà poi la più grande differenza rispetto al
servizio offerto da Google, infatti, per interpretare e per visualizzare i risultati
restituiti dalla risorsa di Yahoo, occorre implementare su di un server php o
java un'applicazione apposita. Questa dovrà inviare, in modo opportuno, la
richiesta al server specifico di Yahoo BOSS e successivamente dovrà
interpretare correttamente i risultati, ottenuti su un apposito file, in base alle
esigenze aziendali .
12
Introduzione
Inoltre questa scelta permise un altissimo grado di personalizzazione del
proprio motore di ricerca, in quanto, a discapito di un tempo di risposta
dipendente dal proprio server e dalla tecnologia utilizzata, offrì la possibilità di
visualizzare nel modo desiderato le informazioni ottenute e di modificare,
anche completamente, il ranking fornito dal servizio in base ai requisiti
dell'azienda.
In questo servizio fu introdotta anche la possibilità di inviare un elenco di
indirizzi di pagine Web tra i vari parametri, in modo da poter creare un proprio
dominio di ricerca dinamico in base alla situazione. Da questo però si può
facilmente evincere che Yahoo ha preferito lasciare all'azienda l'incombenza
di crearsi un'interfaccia utente per effettuare una ricerca strutturata utilizzando
delle parole chiave, denominate keywords, e un dominio specifico in base alle
proprie esigenze.
Infine Yahoo, a differenza di Google, concesse anche la possibilità di filtrare
ulteriormente la ricerca
con delle particolari condizioni, ad esempio
eliminando i risultati non in italiano, violenti oppure di carattere pornografico,
attraverso ulteriori parametri inviati nella richiesta al server del servizio.
Visto l'enorme successo che ottennero BOSS e CSE, Yahoo decise di creare
un'ulteriore risorsa: Yahoo SearchMonkey, un servizio pionieristico per la
ricerca di dati strutturati all'interno delle pagine Web.
Questo nuovo servizio si occupa di setacciare il Web alla ricerca di pagine
contenenti informazioni strutturate secondo alcuni standard: i microformat.
Successivamente indicizza i dati trovati e li associa alla pagina Web
processata nella propria base di dati.
Questo servizio fu introdotto per offrire, se necessario, un ulteriore supporto a
Yahoo BOSS che fosse in grado di inviare, per ogni risultato ottenuto dalla
ricerca, oltre alle solite informazioni legate ad una pagina Web, anche ulteriori
informazioni come ad esempio indirizzi di immagini, di file o di servizi.
13
Introduzione
Questa fu un'importante innovazione per tutte le aziende che possedevano
dati sui propri servizi, infatti inserendo alcuni tag html specifici nel proprio sito
Web erano in grado di inserire delle informazioni aggiuntive visualizzabili e
ricercabili su di un motore di ricerca senza interagire con il proprio database.
Fu possibile inoltre associare dei servizi ai prodotti dell'impresa o alle
informazioni aziendali. Ne sono esempi la visualizzazione della vcard
aziendale o della licenza pdf di un prodotto, l' inserimento di un collegamento
ad un altro sito contenente materiale attinente al risultato proposto, la
possibilità di spedire facilmente una mail all'azienda produttrice oppure la
visualizzazione su di una mappa del percorso da seguire per raggiungere un
determinato fornitore.
SearchMonkey diede
anche l'opportunità
di creare
dei servizi rest
personalizzati per ricavare informazioni da più fonti presenti sul Web, anche
se non presentavano delle particolari strutture di dati, in modo da non
costringere le aziende, che volevano sfruttare questo servizio, a implementare
i microformat nelle proprie pagine Web.
Infine per aumentare la visibilità dei dati aziendali che hanno bisogno di un
layout particolare per i risultati, fu consentita anche la creazione di maschere
di visualizzazione specifiche per gli indirizzi url a cui necessitano. Queste
interfacce personalizzate saranno poi integrate nel motore di ricerca
generalista di Yahoo in modo da consentire la visualizzazione dei microformat
particolari anche al di fuori del proprio motore di ricerca creato con YAHOO
BOSS con l'ausilio di SearchMonkey.
Dopo un'attenta analisi dei servizi offerti da Yahoo e Google si può evincere
facilmente che, anche se in modo diverso, entrambi sono un ibrido delle
soluzioni tecnologie aziendali utilizzate in precedenza per rispondere al
problema della personalizzazione di un motore di ricerca. Inoltre sono state
create sfruttando delle tecnologie ben note già presenti sul Web e per questo
motivo si può supporre che avranno una notevole diffusione nell'ambito
aziendale e privato.
14
Introduzione
1.3 Organizzazione della tesi
La tesi è strutturata in capitoli che si susseguono in base al naturale ordine
cronologico dello studio sui motori di ricerca che è stata effettuata. Infatti
nei primi capitoli sarà discussa, dopo un'analisi introduttiva del problema,
la parte di ricerca teorica delle nuove tecnologie utilizzabili per costruire un
motore di ricerca personalizzato e successivamente sarà spiegato in
dettaglio
il
lavoro
svolto
durante
la
sperimentazione
dei
servizi
precedentemente analizzati. Infine saranno tratte le conclusioni finali
emerse dalla ricerca eseguita ed eventuali prospettive future.
In dettaglio la tesi ha la seguente struttura:
•
Capitolo 1: dopo un breve sommario del lavoro svolto e delle
conclusioni dedotte, saranno descritti sia il problema attuale, legato
alla costruzione di un proprio motore di ricerca, con il quale devono
scontrarsi le aziende oggigiorno, sia le soluzioni tecnologiche
adottate fino ad ora, analizzando pregi e difetti di ciascuna.
Successivamente saranno introdotte in modo sintetico le idee
fondamentali che stanno alla base delle implementazioni dei nuovi
servizi offerti da Google e da Yahoo per cercare di risolvere queste
problematiche aziendali.
Infine dopo un'analisi sintetica dei due
servizi e delle principali caratteristiche sarà presentata la struttura
della tesi e del lavoro teorico e sperimentale svolto.
•
Capitolo 2: saranno descritti minuziosamente, dopo una breve
spiegazione del significato e del funzionamento di un motore di
ricerca generalista e dei microformat, i nuovi servizi introdotti in
precedenza. Successivamente verrà riportata un'analisi dettagliata e
comparativa delle risorse messe a disposizione dai due servizi.
Infine sarà riportata una tabella riassuntiva contenente tutti gli
aspetti che sono emersi durante l'analisi teorica e sperimentale.
15
Introduzione
•
Capitolo 3: in questa parte verrà invece presa in considerazione la
parte sperimentale della tesi. Nella prima parte si inizierà
proponendo una descrizione del primo caso concreto di studio
descrivendo il dominio , le specifiche aziendali proposte, le classi
d'utenza che interagiranno con l'elaborato e le funzionalità richieste
dal problema. Successivamente saranno descritte sia le tecnologie
Web utilizzate per l'implementazione sia le tecnologie fisiche
necessarie per il corretto funzionamento, come ad esempio il
database utilizzato o la struttura logica usata per lo storage dei dati.
Infine saranno descritte l'interfaccia utente e tutte le funzionalità
proposte dal portale Web. Nella seconda parte invece verrà
proposta la descrizione del secondo caso di studio attraverso le
nuove
specifiche
aziendali
e
le
nuove
classi
d'utenza.
Successivamente sarà di nuovo introdotta la parte riguardante le
problematiche
e
le
caratteristiche
dell'implementazione
dell'applicazione risolutiva, attraverso diagrammi er , schemi uml e
una descrizione dell'interfaccia utente.
•
Capitolo 4: dopo un breve riassunto dei contributi apportati dalla
tesi, saranno descritte alcune delle possibili prospettive di lavoro
future, alcuni sviluppi e usi successivi dell'applicazione e le
considerazioni finali.
16
Introduzione
Capitolo 2:
Tecnologie per la ricerca Web
2.1 Prefazione
Nel settore delle tecnologie per la ricerca nel Web sono compresi tutti i
servizi che in qualche modo, più o meno efficacemente, ci permettono di
reperire delle informazioni tra la grande mole di dati esistente nel mondo
per rispondere alle nostre esigenze. Ne fanno parte, quindi, sia i motori di
ricerca generalisti, che effettuano ricerche non strutturate e poco efficaci, sia
quelli verticali, che possono setacciare in modo più intelligente solo una
determinata parte del Web. Sicuramente tra questi ultimi metodi, uno tra i più
evoluti risulta essere quello della ricerca e classificazione dei microformat,
cioè di alcune informazioni strutturate inserite nelle pagine Web. Codesti
dati, nonostante debbano seguire una struttura ben definita e non
espansibile, possono contenere tipologie di informazioni differenti, come ad
esempio il prezzo e alcuni dettagli relativi ad un particolare prodotto venduto,
i recapiti dell'azienda produttrice, le metodologie di pagamento e di
spedizione sopportate e molto altro. Per questo motivo ci occuperemo in
seguito dell'analisi di questi servizi. A scopo riassuntivo proporremo, a fine
capitolo, oltre ad una tabella contenente le caratteristiche e i servizi offerti da
ciascuna risorsa (dopo un'attenta analisi) anche dei consigli sull'utilizzo di un
particolare servizio piuttosto che un altro
relativamente al contesto
aziendale in cui ci troviamo e ai requisiti richiesti.
17
Tecnologie per la ricerca Web
2.1.1 Motori di ricerca generalisti
I motori di ricerca generalisti sono dei sistemi automatici che si occupano
di analizzare dei dati, precedentemente raccolti ed indicizzati, per proporre
poi, quando richiesto dall'utente, dei risultati inerenti alla richiesta
effettuata. Ne esistono di diversi tipi attivi sul Web. Tra i più importanti e
conosciuti,
soprattutto
nel
panorama
italiano,
si
possono
citare
sicuramente quelli offerti da Google, Yahoo e Microsoft live search.
Questi servizi si basano su complesse fasi di analisi, di successive
classificazioni all'interno delle proprie basi di dati ed infine, di calcolo dei
risultati in risposta alle richieste da parte dei propri utenti.
In particolar modo la
fase di analisi è gestita da programmi appositi
denominati crawler, spider o robot. Queste applicazioni si occupano di
visitare automaticamente degli uri, cioè degli indirizzi univoci che
identificano una risorsa o una pagina nel Web, contenuti all'interno di un
elenco apposito. Durante l'analisi della pagina vengono inseriti nel
database del motore di ricerca tutti i dati ritenuti importanti o utili al fine di
trarre informazioni dall'url in questione. Una volta che queste applicazioni
finiscono di processare la risorsa proseguono percorrendo in successione
tutti gli hyperlink contenuti all'interno della pagina visitata. In questo modo,
in un lasso di tempo ragionevole, questi programmi riescono a processare
un insieme di pagine sempre maggiore nel Web salvando una grande mole
di dati all'interno del proprio database. In periodi di tempo prefissati
verranno poi programmate delle ulteriori visite alle pagine salvate nella
base di dati in modo da tenere in costante aggiornamento i dati posseduti
dal motore di ricerca. Per velocizzare questo processo le grandi aziende,
come Google, dedicano intere batterie di server a tali applicazioni in modo
da rendere l'operazione di analisi e
d'immagazzinamento delle
18
Tecnologie per la ricerca Web
informazioni il più possibile parallela, come mostrato nello schema
riassuntivo in figura 1.
Figura 1: schema della fase di analisi
La fase d'indicizzazione delle informazioni, contenute nella base di dati del
motore di ricerca, serve, invece, a rendere effettivamente disponibili i dati
precedentemente immagazzinati. Questa funzionalità inoltre classifica le
nuove informazioni secondo un determinato criterio basato su parole
chiave in modo che le ricerche successive siano più rapide e performanti.
In questo modo le pagine Web processate vengono contraddistinte con
delle etichette univoche che ne rispecchiano approssimativamente la loro
natura o i loro contenuti. Per un'impresa, la fase più importante del
19
Tecnologie per la ricerca Web
processo eseguito da un motore di ricerca risulta essere quella relativa
all'ordinamento dei risultati, infatti , tramite questa procedura, si delineerà
la visibilità di una determinata impresa che possiede un sito Web. Infatti se
si ottiene una posizione molto bassa nel ranking di queste risorse, non si
verrà quasi mai proposti tra i primi risultati visualizzati da un utente che
effettua una richiesta al servizio. Perciò molte imprese ricorrono
all'ottimizzazione della propria pagina Web per i vari
motori di ricerca
disponibili. Queste tecniche consistono, ad esempio, nell'inserimento dei
contenuti rilevanti all'inizio della pagina html, nella creazione di una propria
sitemap contenente l'elenco delle informazioni da far processare al
crawler, nel rendere i titoli delle varie pagine il più attinenti possibile al loro
contenuto, nell'evitare i Javascript in-line che non vengono analizzati dai
motori di ricerca oppure nell'utilizzo dei mark up che consentono di inserire
delle strutture semantiche all'interno della pagina Web attraverso l'uso di
microformat.
Infine un motore di ricerca deve gestire la fase dell'interrogazione da parte
di un utente. Per la creazione dell'elenco dei risultati da visualizzare si
possono utilizzare diverse politiche, le più diffuse sono:
•
l'attinenza con le parole chiave inserite dall'utente. Questo
risulta il metodo senza dubbio più importante e diffuso su cui si
fonda il criterio di ordinamento dei risultati. Questo algoritmo
analizza la query effettuata ricercando le parole chiave, con le quali
sono indicizzati i dati all'interno della base di dati, secondo una
logica booleana. A questo punto ordina i risultati in base al numero
di espressioni booleane rispettate;
•
il filtraggio secondo particolari restrizioni introdotte dall'utente.
In questo modo vengono esclusi a priori dalla lista dei risultati quelli
che non lo rispettano. Alcuni esempi di filtri possono essere la lingua
20
Tecnologie per la ricerca Web
con cui sono scritti, il formato del file, alcune frasi presenti o assenti
dal documento ricercato ed altri ancora;
•
il numero di volte che le parole ricercate sono ripetute all'interno
della pagina. Questo metodo viene utilizzato per scegliere l'ordine tra
2 o più risultati che soddisfano tutti i requisiti della ricerca effettuata;
•
la posizione delle parole chiave. Con questo criterio avranno un
ranking maggiore le pagine con la parola chiave all'interno del titolo
rispetto a quelle in cui è presente, ad esempio, nel tag body;
•
il numero di siti indicizzati che contengono il link del risultato
analizzato. Questo criterio penalizza indirettamente i siti poco
popolari e poco pubblicizzati in quanto assegna un coefficiente
maggiore alle pagine che possiedono un numero più alto di hyperlink
esterni che le puntano;
•
il numero di volte in cui il sito è stato scelto da utenti precedenti.
Questo criterio sfrutta i dati statistici relativi alla prima scelta degli
utenti che hanno effettuato ricerche simili a quella proposta;
•
i link sponsorizzati, infatti il ranking dei siti partner del motore di
ricerca utilizzato sarà maggiore;
•
l'attinenza delle informazioni contenute nei microformat con la
ricerca. Questo metodo rappresenta l'obiettivo che, negli ultimi anni,
è diventato di fondamentale importanza per le aziende leader nel
settore in quanto, attraverso i dati semantici, sarà possibile effettuare
ricerche più dettagliate ed efficienti e non legate solamente al titolo o
alle parole inserite nel testo di una pagina web. Per questo motivo
diventerà di fondamentale importanza, per le aziende e per i privati,
l'implementazione di microformat specifici all'interno dei propri siti
Web.
21
Tecnologie per la ricerca Web
2.1.2 Microformat
I microformat sono una parte di mark-up con i quali è possibile inserire delle
strutture semantiche all'interno di una pagina Web senza comprometterne la
comprensibilità da parte degli utenti che la consultano. Possiedono una
struttura ben definita e poco espandibile per permetterne il riconoscimento
ed una facile interpretazione da parte dei vari crawler dei motori di ricerca.
Questa tecnologia permette quindi di dare un significato ben preciso alle
informazioni inserite all'interno delle pagine, utilizzando particolari attributi
dei tag html :
•
Rel: utilizzato nel tag html <a> per descrivere la relazione esistente
tra la pagina puntata dal collegamento descritto e la pagina che lo
contiene.
•
Rev: questo attributo, presente anch'esso nel tag <a>, specifica una
seconda relazione che lega la pagina html con l'hyperlink contenuto.
•
Class: usabile in qualsiasi tag html, descrive il nome della classe di
cui l'elemento fa parte ed è il metodo più utilizzato nei vari tipi di
microformat. Questo perché può essere utilizzato anche nei <div> o
negli <span> che rendono più facile sia la creazione di un layout
strutturato nelle pagine html, semplificandone la comprensione agli
utenti, sia l'inserimento di vari tipi d'informazione, diversificandosi
dagli attributi rel e rev che permettevano solo l'utilizzo di link.
Oltre a permettere l'estrazione dei dati d'interesse da parte dei crawler, i
microformat, sono molto utili anche agli utenti che visitano una pagina Web
che li contiene. Infatti, attraverso il browser, è possibile visionare e salvare
queste informazioni sul proprio computer, come ad esempio l' indirizzo e la
mail di una determinata azienda o la data e il luogo di un meeting. Per
22
Tecnologie per la ricerca Web
consentire l'inserimento di diverse tipologie di dati, sono stati creati diversi
microformat. Tra i più utilizzati:
•
hResume che può contenere informazioni relative ad eventi, come ad
esempio il luogo, la data di inizio, la data di fine e una descrizione.
Questo microformat può essere utilizzato per riassumere esperienze
lavorative o scolastiche oppure per inserire le informazioni riguardanti
un meeting aziendale passato o futuro.
•
hCalendar sintetizza dei dettagli riguardanti appuntamenti o impegni
aziendali, come ad esempio le coordinate geografiche del luogo di un
meeting, una descrizione delle tematiche trattate, il settore di
attinenza, la data di inizio e la durata dell'evento oppure l'url del sito
della manifestazione. Può essere molto utile in quanto attraverso un
browser si può caricare automaticamente l'evento su un'agenda
elettronica.
•
hAtom contiene informazioni relative alle news o ai feeds, come ad
esempio la categoria della notizia, il nome dello scrittore e i suoi dati
anagrafici, la data di pubblicazione e quella dell'ultimo aggiornamento,
il titolo, il contenuto oppure un breve sommario.
•
hReview consente di inserire i dati relativi ad una recensione, infatti
contiene i dati del recensore, la valutazione espressa e il titolo.
Questo microformat è molto utile quando si ricercano dati relativi a
prodotti musicali, cinematografici o a servizi per il pubblico, ad
esempio alberghi o ristoranti. Infatti è possibile ordinare i risultati
ricercati in base alla recensione media ottenuta.
•
Dbpedia viene invece utilizzato per contenere le informazioni relative
alla maggior parte dei lemmi contenuti su wikipedia, come ad esempio
l'immagine relativa al risultato o le sue informazioni principali.
23
Tecnologie per la ricerca Web
I microformat successivi saranno approfonditi maggiormente in quanto
saranno utilizzati nella sperimentazione del servizio offerto da Yahoo per
la ricerca dei dati strutturati all'interno delle pagine Web e perché si prestano
maggiormente a contenere i dati d'interesse delle aziende analizzate.
•
hCard è in grado di sintetizzare i dati relativi ad una persona o ad
un'azienda, in quanto può contenere: l'url del sito e del logo
aziendale, il nome e cognome del proprietario, il recapito di telefono
fisso e mobile, il numero di fax, l'indirizzo di posta elettronica. Inoltre
può includere anche lo stato, la provincia o regione, il cap, il paese e
la via della sede aziendale. Questi dati sono inseriti in una qualsiasi
pagina html attraverso questa struttura:
•
Goodrelations invece si occupa di contenere le informazioni relative ai
servizi offerti dalle aziende, permettendo di inserire, ad esempio, il
prezzo, le dimensioni oppure i metodi di pagamento e di spedizione
24
Tecnologie per la ricerca Web
sopportati dall'azienda produttrice. Inoltre è possibile specificare
attraverso l'utilizzo di un microformat hCard, posto all'interno di quello
di Goodrelations, tutti i dati relativi al produttore e alla propria sede
oppure, utilizzando un hReview, si possono inserire delle recensioni
che il proprio prodotto ha ricevuto. Infine, nell'eventualità che un
azienda possieda ulteriori dettagli che riguardano i propri prodotti, è
stato permesso l'inserimento di ulteriori dati facoltativi, tra cui: una
breve descrizione, il prezzo di listino scontato, l'indirizzo url della
garanzia, un'immagine del prodotto, un breve commento illustrativo, gli
orari settimanali di vendita o di assistenza al pubblico oppure il codice
univoco assegnato al servizio. Questi dati devono attenersi alla
seguente struttura:
25
Tecnologie per la ricerca Web
2.2 Le tecnologie utilizzate
Di seguito verranno introdotti i servizi offerti da Google e da Yahoo, per
consentire la creazione di un proprio motore di ricerca da parte delle
aziende, soffermandosi particolarmente sui metodi d'implementazione
e sul grado di personalizzazione consentito in modo da facilitarne
poi
la
comprensione
quando
verranno
sperimentati
in un caso
concreto.
Yahoo BOSS, Google CSE e Yahoo SearchMonkey, anche se sono stati
concepiti per rispondere allo stesso fabbisogno, cioè quello che si è creato
negli ultimi anni nelle imprese che desiderano personalizzare la ricerca
all'interno del proprio sito Web senza, però, incappare nelle problematiche
legate all'implementazione di un proprio motore di ricerca, possiedono
molti servizi e caratteristiche differenti. Per questo motivo questi servizi si
prestano a soddisfare determinati prerequisiti aziendali, come ad esempio
la possibilità di avere un'ampia gestione del metodo di visualizzazione o di
ordinamento dei risultati, l'opportunità di ricercare delle particolari strutture
di dati per aumentare l'efficacia delle ricerche svolte oppure l'obbligo di
avere un determinato tempo di risposta del servizio. Inoltre si prestano ad
essere utilizzate da diverse classi d'utenza.
Infatti Google CSE si può integrare facilmente in una qualsiasi pagina html,
senza la necessità di nessuna tecnologia server-side, invece la risorsa
messa a disposizione da YAHOO dev'essere supportata da un'adeguata
applicazione residente su di un server php o java che si occupi della
gestione della richiesta al servizio e dell'interpretazione della risposta
ottenute,
Quest'ultimo
però,
offre
molti
più
vantaggi,
legati
all'interpretazione dei microformat, se associata all'utilizzo di YAHOO
SearchMonkey rispetto alla concorrente.
26
Tecnologie per la ricerca Web
2.2.1 Google CSE
CSE, custom search engine, come già detto in precedenza, è il servizio
per effettuare ricerche molto più efficaci all'interno di un determinato
contesto proposto da Google. Questa risorsa è attivabile e configurabile
attraverso un pannello di controllo a interfaccia Web a cui si può accedere
solo dopo aver creato un apposito account presso il gestore del servizio.
Attraverso questa interfaccia Web è possibile configurare:
•
Le informazioni base, che comprendono, oltre al nome e alla
descrizione del proprio motore di ricerca, la lingua con cui verranno
visualizzati i risultati e alcune parole chiave che possano identificare
questo servizio, come ad esempio i settori trattati o il nome del
proprietario o dell'azienda che lo utilizzerà. Inoltre è possibile settare
alcune preferenze di ricerca, come ad esempio la possibilità di
inserire o meno altri indirizzi Web proposti da Google o di limitare la
ricerca solo ai siti contenuti nel dominio oppure il permesso di
accorpare ai risultati i link sponsorizzati dal servizio.
•
Il dominio di ricerca, composto da un elenco di tutti gli indirizzi
delle pagine Web che si vogliono inserire nel proprio motore di
ricerca e da quelli che si vogliono escludere. Si possono inserire fino
a un massimo di 5000 siti, se non si inseriscono etichette o
keywords. In alternativa si deve considerare che la somma di tutte
queste direttive e dei siti inviati al server non deve superare le 5000
unità.
•
Le label, che permettono di classificare i siti presenti nel dominio di
ricerca in gruppi attraverso delle etichette che li associano in base al
contenuto o al settore a cui si riferiscono. Attraverso queste etichette
è possibile indirizzare le ricerche da parte degli utenti creando delle
27
Tecnologie per la ricerca Web
specie di sotto-domini più specifici e attinenti al contesto,
automaticamente
e
senza
nessun
tipo
d'iterazione
con
il
programma. Queste etichette verranno proposte al di sotto della
casella di testo nella quale inserire la query al servizio di Google per
permettere il perfezionamento della ricerca agli utenti che lo
ritengano opportuno. Attraverso le label è anche possibile la
modifica del ranking dei risultati ad esse associati, infatti attraverso
la modalità di queste etichette 'eliminate' è possibile escludere i
risultati dalla ricerca. Impostandola invece come 'boost' è possibile
aumentare o diminuire il ranking dei risultati legati a questa
determinata etichetta attraverso un parametro che può variare da -1
a +1, considerando che il valore di default è uguale a 0,7. Infine,
impostando la modalità come
'filter' si possono promuovere i
risultati associati a dominio esclusivo di ricerca. Un esempio pratico
di label potrebbe essere il seguente:
Successivamente le label vanno associate alle pagine Web del
dominio di ricerca in questo modo:
L'unico vincolo che le label devono rispettare riguarda la lunghezza
massima che non deve superare i 100 caratteri.
28
Tecnologie per la ricerca Web
•
Il layout e la formattazione, per poter modificare il metodo di
visualizzazione dei risultati ottenuti in risposta dalla query effettuata
dall'utente. Purtroppo non sono previste molte personalizzazioni,
infatti si possono cambiare solo i colori delle varie parti di cui è
composto il risultato, cioè il titolo, lo sfondo, la descrizione, i link
visualizzati e poco altro. Inoltre è possibile inserire un'immagine o il
logo aziendale da visualizzare di fianco alla casella di testo per la
ricerca e un collegamento che porta al sito aziendale che ha
configurato il servizio. Infine è concessa la possibilità di mutare
l'interfaccia mostrata all'utente, cambiando il colore di sfondo e lo
stile con cui è riportato il logo di Google.
•
L'account Adsense, che permette di inserire gli annunci
pubblicitari di Google all'interno della pagina, in modo da trarre dei
profitti in base al numero di utenti che utilizza il motore di ricerca.
Questa possibilità può essere molto utile per le grandi aziende che
possono così avere dei profitti dal proprio sito aziendale.
•
Le keywords, che permettono di suggerire all'utente alcuni consigli
per rendere la propria query di ricerca più specifica. Ad esempio se
un utente intende trovare i risultati associati al risparmio energetico
inserendo però solo la parola 'energia' come testo da ricercare nelle
pagine Web, Google CSE, attraverso le keywords, proporrà delle
specificazioni, sotto forma di link posizionati appena sopra i risultati
trovati, che potranno modificare la stringa da ricercare. Per il caso
appena descritto possono essere un esempio concreto di keywords
quelle
che
concatenano
alcune
parole
come
“risparmio”,
”rinnovabile”, ”elettrica”, ”nucleare” oppure “termica” alla query
string, rendendo i risultati ottenuti più specifici e attinenti alla ricerca
effettuata dall'utente. Le keywords possono essere inviate al
servizio in un secondo momento con la seguente struttura:
29
Tecnologie per la ricerca Web
Queste utilità di specificazione sono concatenate dal servizio alla
richiesta digitata dall'utente utilizzando la parola 'more:'. Purtroppo
Google permette l'utilizzo di una sola keyword per ogni iterazione
con il proprio servizio e ne visualizza al massimo 16 per volta.
Questi vincoli possono essere facilmente superati implementando
una semplice interfaccia a lato server per permettere all'utente di
scegliere tutte le keywords che ritiene appropriate passando poi una
query string opportunamente modificata al servizio di Google. Un
ulteriore vincolo è presente sulla lunghezza massima delle keywords
che non può superare i 100 caratteri in quanto poi si avrebbero dei
problemi legati alla visualizzazione, nell'interfaccia del servizio, del
link che serve per richiamarle.
•
I sinonimi, che sono delle keywords particolari che permettono di
espandere la query di ricerca con parole dal significato simile
attraverso delle condizioni booleane OR. Sono molto utili per
consentire una ricerca più ampia all'interno del database del motore
di ricerca in quanto si possono inserire più parole con lo stesso
significato da ricercare nell'indice. Un esempio pratico potrebbe
essere quello in cui un utente che effettua una ricerca inserisce
'pannelli solari'. In questo caso vogliamo che la query venga
espansa con dei sinonimi, quindi concateneremo anche le parole
'pannelli fotovoltaici' e 'impianti ad energia solare'. Un ulteriore
esempio potrebbe essere quello nel quale si sta cercando una
parola al plurale, che difficilmente verrà trovata all'interno dell'indice
30
Tecnologie per la ricerca Web
per cui cui verrà aggiunto anche il suo singolare. Di seguito verrà
riportata la struttura a cui bisogna attenersi per implementare questo
servizio:
L'unico vincolo a cui devono sottostare queste particolari keyword
riguarda la lunghezza massima che il sinonimo può raggiungere,
che anche in questo caso è fissata in 100 caratteri.
Successivamente, per quanto riguarda la fase d'implementazione del
servizio, bisogna inserire, all'interno della pagina in cui si desidera
visualizzare l'interfaccia di ricerca offerta da Google CSE, il seguente
stralcio di codice:
31
Tecnologie per la ricerca Web
Infine occorre creare una pagina apposita per la visualizzazione dei
risultati restituiti dal motore di ricerca che bisogna inserire nel campo
action del form creato in precedenza. In questa pagina va poi riportato il
seguente codice:
Esso è reperibile, come quello relativo alla form per l'immissione dei dati,
attraverso l'apposito link presente sul pannello di controllo on-line. Google
permette di scegliere, oltre a quella descritta in precedenza, anche delle
implementazioni diverse. Infatti è possibile configurare il servizio in modo
che compaia anche tra i gadget selezionabili per una qualsiasi pagina
personale di Google, permettendo di fatto anche agli utenti che non
conoscono il sito aziendale di poter utilizzare il servizio appena creato. In
questo modo sarà anche possibile, attraverso un particolare collegamento,
ricreare il motore di ricerca appena configurato anche su altre pagine Web
scaricando solo gli stralci di codice necessari, pur non disponendo
dell'account che ha creato e configurato il servizio. Infine per le aziende
che non possiedono un proprio sito nel quale inserire il proprio motore di
ricerca, Google può creare delle pagine apposite nelle quali inserire il
motore di ricerca stesso. Queste saranno poi raggiungibili attraverso
l'utilizzo di un collegamento specifico che verrà visualizzato al momento
della creazione di questo particolare tipo di implementazione.
32
Tecnologie per la ricerca Web
Dopo aver configurato ed implementato il servizio è inoltre possibile
modificare i dati inseriti inizialmente solo attraverso i seguenti procedimenti:
•
Dal pannello di controllo on-line; nel quale oltre a poter
modificare le informazioni di base del servizio come la lingua, la
descrizione, il titolo ed il tipo d'utilizzo, si possono mutare anche le
keywords ed i relativi siti associati. Inoltre è possibile sia reinserire,
anche completamente, gli indirizzi dei siti che formeranno il dominio
di ricerca, sia importare le informazioni basilari sul tipo di
visualizzazione voluta, come ad esempio il colore o la dimensione
del carattere.
•
Usando file xml collocati sul proprio Web server. In questo modo
è possibile aggirare molti ostacoli che si creano quando si agisce
con il pannello di controllo, come ad esempio l'impossibilità di
inserire tutti gli indirizzi del dominio di ricerca in un'unica operazione,
cosa che costringe l'utente a inutili perdite di tempo in fase di
inserimento dei dati. Un'altra ragione per preferire quest'ultimo
metodo è data dal fatto che si può agire programmaticamente
sull'insieme dei siti in cui si vuole ricercare. Infatti in questo modo, si
può aggirare anche il limite introdotto da Google relativamente al
numero massimo dei siti presenti nel dominio. Questo perché
generando dinamicamente il file in base ai parametri di ricerca, si
può creare una ricerca meglio definita consentendo sempre un
dominio composto dal massimo numero permesso, utilizzando solo
siti attinenti al contesto di ricerca ed eliminando cosi quegli url
specifici per un'altra situazione. Un altro fatto positivo consiste nel
poter tenere costantemente aggiornate le proprie keywords e il
proprio dominio in modo semplice e veloce. Questo può essere
molto utile alle aziende che devono gestire alcune notifiche FEED
RSS o che vogliono pubblicare e ricercare dei dati che sono in
33
Tecnologie per la ricerca Web
costante aggiornamento. É possibile, inoltre, strutturare il file xml in
sottolivelli, per permetterne una distribuzione su più server o per
evitare di riscriverlo completamente ogni volta scegliendo i sottodomini, in base alle esigenze. Si possono configurare fino a 5
sottolivelli composti da 50 file di dimensione massima pari a 3 MB
per ognuno e a 10 MB totali. Inoltre la struttura del file xml dovrà
attenersi al seguente schema:
Invece, per poter creare dei sotto-domini attraverso diversi file xml,
la sintassi corretta per dichiararne la posizione nel file xml padre a
cui il servizio di Google si riferisce è la seguente:
Infine è possibile inserire, nel xml, informazioni relative sia alle
labels usate per
consentire la modifica del ranking dei risultati
proposti da Google CSE, sia alle keywords.
34
Tecnologie per la ricerca Web
•
Inviando file XML o OPML al server del servizio. Questo metodo
è una variante di quello precedente, in quanto, invece di creare il file
xml sul proprio server, lo si deve inviare tramite metodo post, al
seguente
indirizzo
Web:
http://www.google.com/coop/api/default/annotations/.
In
questo
modo però si perde la possibilità di creare dei sotto-domini
attraverso altri file xml richiamati all'interno del xml principale. Si può
però evitare di occupare spazio sui propri server. E' permesso
inviare al server di Google CSE al massimo 5000 annotations
suddivise in file che ne possono contenere fino a 2000 ciascuno.
Google mette a disposizione anche dei servizi supplementari relativi al
recupero di informazioni di carattere statistico sull'utilizzo giornaliero del
proprio servizio. Stando alle dichiarazioni degli sviluppatori di Google CSE,
visto il grande successo ottenuto con questa applicazione, prossimamente
saranno incorporati dei servizi aggiuntivi utilizzabili all'interno del proprio
motore di ricerca. Infatti sarà possibile per alcuni tipi di ricerche particolari,
come indirizzi, immagini o documenti, creare delle visualizzazioni apposite.
Un esempio classico potrebbe essere quello in cui, ricercando un indirizzo,
venga visualizzata direttamente la mappa con le informazioni relative al
recapito, sfruttando i servizi offerti da Google maps. Google offre il suo
servizio gratuitamente sia alle istituzioni no-profit, sia ai privati o alle
aziende, con l'unica differenza che questi ultimi hanno l'obbligo di
visualizzare sia il marchio aziendale di Google, sia le ricerche
sponsorizzate dal servizio all'interno della pagina Web di ricerca e dei
risultati. Per poter inserire questi risultati particolari non bisogna modificare
in alcun modo il servizio precedentemente configurato, infatti Google CSE
si occuperà da solo di questa operazione, inserendo gli sponsor in un
particolare spazio riservato nel div creato nella pagina web che
implementa il servizio.
35
Tecnologie per la ricerca Web
2.2.2 Yahoo Boss
L'accesso a Yahoo BOSS è fornito gratuitamente agli sviluppatori che
possiedono un account su Yahoo!. Una volta che si sono ottenute le
credenziali per poter accedere al network bisogna registrare la propria
applicazione in modo da poter richiedere una particolare chiave univoca
denominata appid.
Questa chiave sarà molto importante ai fini
dell'implementazione in quanto tutte le volte che bisognerà utilizzare il
servizio bisognerà inviarla, aggiungendo, se necessario, ulteriori parametri,
all'indirizzo seguente:
http://boss.yahooapis.com/ysearch/{service}/v1/{query}?appid={ID}/[Parametri]
In questo modo è stata lasciata allo sviluppatore l'incombenza della scelta
del linguaggio di programmazione per poter gestire, sul proprio Web server,
l'invio della
richiesta http e l'interpretazione della relativa risposta nel
formato json o xml. Utilizzando un servizio rest, Yahoo ha evitato
l'introduzione di inutili vincoli, lasciando un alto grado di libertà agli
sviluppatori che si cimenteranno nella creazione di un proprio motore di
ricerca. Come si può notare dalla struttura della richiesta http da effettuare a
Yahoo BOSS, sono disponibili diverse categorie di servizi, richiamabili
inserendo le seguenti parole nell'apposito spazio:
•
Web, Questo rappresenta il servizio per inviare le richieste di ricerca
degli utenti per ottenere in risposta le informazioni standard dei
risultati, come ad esempio la descrizione, il link di collegamento, il
titolo oppure la data dell'ultima modifica apportata alla pagina Web.
La ricerca verrà eseguita all'interno del dominio personalizzato, se
specificato, altrimenti verrà eseguita in tutto il Web.
•
Boss site explorer. Questo servizio è utilizzato per avere delle
informazioni legate al traffico e all'utilizzo del motore di ricerca
36
Tecnologie per la ricerca Web
associato all'appid specificata nei parametri passati dalla richiesta.
Può ritornare ad esempio oltre ad alcuni dati statistici legati all'utilizzo
giornaliero del servizio, anche l'elenco delle url, indicizzate da Yahoo,
che hanno utilizzato almeno una volta la nostra applicazione oppure
una lista dei sotto-domini contenuti negli indirizzi del dominio di
ricerca utilizzato.
•
News. Attraverso l'uso di questo servizio è possibile ottenere, come
risultati, solo delle notizie e le relative informazioni. Ad esempio la
data e l'ora in cui è stata scritta, la fonte ed il suo indirizzo internet,
l'url dell'articolo oppure il titolo. Queste informazioni verranno restituite
nel seguente formato:
•
Image. Utilizzato se si desidera effettuare delle ricerche tra le
immagini indicizzate da Yahoo o presenti nel dominio di ricerca
specificato. Risulta molto utile se si cercano delle foto riguardanti dei
particolari prodotti o località oppure se si vogliono associare delle
immagini a qualche risultato ottenuto. Per poter utilizzare quest'ultimo
servizio si deve implementare un'applicazione che effettui 2 richieste
contemporanee, una con il servizio Web e una con quello image , e
successivamente si occupi di associare le immagini trovate ai relativi
servizi. Le informazioni ritornate da BOSS per ogni immagine
37
Tecnologie per la ricerca Web
possono essere le sue dimensioni, l'url dell'anteprima e quello
effettivo della foto, il titolo, la data in cui è stata effettuata ed il
formato. Infine il servizio adotterà il seguente formato di risposta:
•
Spelling suggestion. Questa risorsa, invece, viene utilizzata per
cercare di aiutare l'utente che utilizza il servizio, a digitare
correttamente la parola ricercata confrontandola con quelle inserite
nell'indice di Yahoo e proponendo in risposta le parole che più si
avvicinano a quella introdotta erroneamente nella query string. In
questo modo il programmatore potrà proporre un'interfaccia apposita
che permetta ai suoi utenti di selezionare la parola che veramente
intendevano ricercare per poi inviarla a BOSS e ottenere i risultati
corretti. La risposta del servizio avrà questo formato:
Oltre al tipo di servizio desiderato, nella richiesta da inviare al server di
Yahoo BOSS bisogna inserire nell'apposito spazio, ovviamente, la query di
38
Tecnologie per la ricerca Web
ricerca scelta dall'utente. Questa dev'essere normalizzata per essere idonea
ad una richiesta http e per questo si dovranno sostituire gli spazi vuoti con la
relativa codifica ASCII. Inoltre si dovrà tenere in considerazione che la
lunghezza massima della richiesta, conteggiando anche tutti i parametri
inseriti, non superi gli 8178 caratteri, quindi la query string potrà avere una
dimensione massima variabile in base al numero di parametri specificati.
Essi dovranno essere inviati al servizio tramite metodo GET, e potranno
assumere i seguenti valori:
•
Appid. Questo parametro è obbligatorio e serve a identificare la
risorsa residente sul server Yahoo a cui si vuole inoltrare la richiesta
http. Inoltre serve a Yahoo per conteggiare gli accessi effettuati ad
una certa applicazione in quanto fornisce gratuitamente solo 10000
query giornaliere.
•
Format. Anche questo parametro risulta essere obbligatorio, in
quanto si specifica il tipo di file in cui verranno inseriti i risultati
proposti dal servizio in base alla query di ricerca effettuata. La scelta
è consentita solo tra due tipi di file: l'xml o il json. Essa assume
significato solo per gli sviluppatori che in questo modo, dispongono di
libertà maggiore nella scelta del linguaggio di programmazione
utilizzabile, in quanto i servizi offerti, le caratteristiche e le strutture di
risposta delle due estensioni disponibili, sono le medesime.
•
Count. Serve per indicare al server di Yahoo quanti risultati inserire
nel file di risposta. Il valore di default è 10 e quello massimo è 50. In
Yahoo BOSS la paginazione dev'essere gestita dal programmatore,
per questo, attraverso la variabile count, è possibile impostare il
numero di risultati che si vogliono visualizzare per ogni pagina. Il
vincolo introdotto di 50 risultati massimi per ogni query rappresenta
un limite per questo servizio: per ottenere tutti i risultati e poi riordinarli
completamente secondo una propria politica bisognerà fare più query
39
Tecnologie per la ricerca Web
consecutive al servizio ed attendere sia il tempo impiegato per
soddisfare tutte le risposte sia quello di ricerca in diversi file da parte
dell'applicazione sul proprio server.
•
Start. Questo è un altro parametro che viene utilizzato per risolvere il
problema della paginazione dei risultati. Infatti Boss è un servizio
senza memoria, quindi se noi effettuiamo la stessa richiesta per
diverse volte,
mancanti
invece di ricevere la parte dell'array dei risultati
otterremmo
la
stessa
parte
dell'elenco
ricevuta
in
precedenza, in quanto questo servizio ricalcola l'elenco totale dei
risultati e ci invia sempre la prima parte di 50 risultati per default. Per
risolvere questo problema è stato introdotto il parametro start che
rappresenta il ranking del primo risultato voluto in risposta.
Ad
esempio se count e start sono impostati su 50 otterremo la seconda
parte dei risultati di una query, cioè quelli dalla posizione 50 alla 100.
•
Lang. Indica il codice della lingua con cui si vuole effettuare la ricerca,
di default assume il valore 'en' che rappresenta la lingua inglese.
•
Region. Indica il codice relativo allo stato in cui si vuole effettuare la
ricerca, il valore predefinito è 'us' cioè Stati Uniti.
•
Type. Indica la categoria dei risultati che vogliamo riceve in risposta,
ad esempio pdf, msword o xml. Di default assume il valore di
'abstract', in modo da permettere delle ricerche che ritornano una
stringa di 300 caratteri tratti dalla pagina Web per ogni risultato.
•
Filter. Rappresenta un ulteriore vincolo che si può aggiungere alla
query, infatti attraverso questo parametro si possono filtrare tutti i
risultati che hanno dei contenuti pornografici, inserendo -porn, o
violenti, attribuendogli il valore -hate. In un contesto aziendale questo
parametro non assume un grande significato ma in un settore privato
o pubblico è molto importante. Questi particolari filtri di default non
sono impostati.
40
Tecnologie per la ricerca Web
•
Sites. Rappresenta l'unico modo per impostare un dominio di ricerca
personalizzato. Questo parametro assumerà, come valore, l'elenco
completo degli indirizzi presso i quali si vuole effettuare la ricerca.
Purtroppo non sono previsti sistemi per la memorizzazione di questi
dati sui server di Yahoo, come imposto dalla politica delle risorse rest,
quindi bisogna inoltrare tutti gli indirizzi separati da virgole tutte le
volte che si desidera effettuare una richiesta al servizio. Considerando
che il numero massimo di caratteri inviabili attraverso la richiesta http
equivale a 8178, si possono indicativamente inoltrare solamente 200
– 250 indirizzi per volta. Inoltre ad ogni richiesta bisogna attendere sia
il tempo di invio di tutti i dati contenuti nella richiesta, sia quello
relativo alla ricezione e all'interpretazione di tutti gli indirizzi delle
pagine Web inviati da parte dei server di Yahoo. D'altra parte però, in
questo modo, è consentita la modifica del dominio di ricerca in
pochissimi istanti, rendendo immediatamente attivi i cambiamenti
apportati.
Oltre ai parametri precedentemente descritti, che permettono di configurare il
proprio motore di ricerca nel modo desiderato, è presente un ulteriore
attributo da inoltrare al servizio di Yahoo. Infatti attraverso il valore associato
a questa particolare variabile è possibile ottenere diverse informazioni
aggiuntive correlate ai risultati proposti dal servizio. Questo parametro
prende il nome di 'view' e lo si può settare con uno dei seguenti valori:
•
Keyterms. Tramite questo servizio è possibile indicare al server di
Yahoo di aggiungere, alle informazioni standard restituite per ogni
risultato, anche un elenco di parole chiave o frasi ad esso correlate.
Questo per permettere allo sviluppatore di aiutare, attraverso
un'apposita interfaccia, i propri utenti nella creazione di una query più
specifica. Questo servizio ritorna al massimo 20 keyterms per ogni
risultato proposto. Ad esempio, se tra i risultati ottenuti in risposta
41
Tecnologie per la ricerca Web
fosse presente un sito dedicato al risparmio energetico, una possibile
combinazione di keyterms restituita potrebbe essere la seguente:
•
SearchMonkey_feed. Questa view risulta sicuramente la più
importante, soprattutto per le aziende che vogliono effettuare delle
ricerche mirate utilizzando dei dati strutturati all'interno delle proprie
pagine Web, in quanto ritorna, per ogni risultato proposto, tutti i
microformat che sono stati indicizzati dai crawler di SearchMonkey. In
questo modo è possibile applicare degli ulteriori filtri attraverso la
propria applicazione server-side ricercando all'interno di queste
strutture di dati. Essa supporta tutti i tipi di microformat compatibili con
SearchMonkey ed inoltre queste informazioni non presentano alcun
tipo di vincolo sul numero o sulla lunghezza massima. Purtroppo il
servizio non può effettuare delle ricerche interpretando il significato di
questi microformat, perciò se si desidera ad esempio filtrare la ricerca
con un range di prezzi, sul luogo di produzione, sul nome del
produttore oppure sulla categoria del servizio offerto, bisogna
impostarla sulla propria applicazione. D'altra parte questa view risulta
molto utile nei casi seguenti: qualora si voglia arricchire il risultato
proposto all'utente con delle informazioni aggiuntive; qualora si
desideri
inserire dei servizi supplementari legati ad esse senza
implementare complicati algoritmi di ricerca che setacciano la pagina
web del risultato o il database aziendale in cerca di informazioni
42
Tecnologie per la ricerca Web
supplementari. Questi dati saranno ritornati attraverso la seguente
struttura:
•
Language_identifier.
Aggiunge
alle
informazioni
standard
un
parametro che identifica la lingua utilizzata nel documento o nel
risultato ritornato dal servizio. Ad esempio se consideriamo una
pagina Web in inglese otterremo questo dato aggiuntivo:
•
SearchMonkey_rdf . Consente di visualizzare tutti i microformat come
nella view 'SearchMonkey_feed', però li restituisce all'interno di una
struttura
diversa.
La
scelta
della
view
è
lasciata
al
tipo
d'implementazione che si utilizza in quanto i dati restituiti dal servizio
sono i medesimi e non dipendono in alcun modo dal tipo di microformat
inserito nella pagina Web dei risultati proposti dal motore di ricerca.
Riproponiamo di seguito l'esempio con gli stessi dati precedenti per
43
Tecnologie per la ricerca Web
sottolineare ulteriormente il diverso metodo utilizzato per contenere i
medesimi dati:
I risultati standard proposti, indifferentemente dal formato del file di risposta
selezionato, presentano la medesima struttura. Tra le informazioni che Boss
ritorna, le più importati sono le seguenti:
•
Abstract. Rappresenta un estratto di 300 caratteri da una pagina Web,
e tramite questo dato è possibile visualizzare all'utente che effettua la
ricerca, un'anteprima del risultato proposto. Risulta molto utile anche al
programmatore che ricercando dei termini particolari in questa stringa
di testo potrà escludere a priori il risultato, evitando ad esempio errori
di disambiguazione.
44
Tecnologie per la ricerca Web
•
Date.
Rappresenta la data relativa all'ultima modifica apportata al
documento o alla pagina Web ed è inserita nel formato aaaa/mm/gg.
Questo parametro può essere utilizzato per stabilire a priori se un
determinato risultato è obsoleto o se i suoi contenuti sono in costante
evoluzione.
•
Click url. Consiste nell'url da utilizzare se si vogliono inserire dei
collegamenti nella pagina Web nella quale si intende visualizzare i
risultati. Tramite questo indirizzo è possibile effettuare una redirect
tramite un dominio di Yahoo.
•
Dispurl. Questo dato rappresenta invece l'url da visualizzare nella
pagina a titolo dimostrativo, per permettere all'utente di capire
immediatamente quale sarà l'indirizzo effettivo della pagina relativa al
risultato.
•
Title. Consiste nel titolo del risultato proposto o della sua pagina Web.
•
Size. Rappresenta la dimensione in byte del risultato.
•
Url. Questo parametro contiene l'indirizzo effettivo del risultato.
Oltre ai parametri legati ai risultati, il servizio ritorna anche delle informazioni
numeriche riferite allo stato attuale dei risultati fin qui ottenuti:
•
count, che indica il numero dei risultati presente nel resultset, può
assumere al massimo un valore pari a 50;
•
start, che rappresenta il numero della posizione del primo risultato
inserito nel file restituito dal servizio. Questo parametro è molto utile
soprattutto quando il programmatore deve gestire la paginazione dei
risultati ottenuti, infatti tramite il valore di start riesce a riordinare tutti i
resultset ottenuti ricreando l'ordine suggerito da Boss;
•
totalhits, il quale indica il numero totale dei risultati trovati dal servizio
di Yahoo per la query di ricerca inserita dall'utente;
45
Tecnologie per la ricerca Web
•
deephits, che rappresenta invece il numero di risultati proposti da
BOSS, in risposta alle chiavi di ricerca inviatogli dall'utente, senza
considerare i duplicati.
Di seguito è proposto uno stralcio di xml contenente dei risultati generici, per
mostrare in che modo vengono proposte tutte le informazioni descritte fino ad
ora:
Questa struttura può essere integrata tramite le informazioni aggiuntive
provenienti dalle varie view che si possono richiedere. Allo sviluppatore è
lasciata autonomia per quanto riguarda la scelta sia del modo con cui
presentare i risultati agli utenti sia dell'ordine con cui visualizzarli. Questa
scelta consente da una parte un ampio grado di personalizzazione del servizio
ma presenta anche degli svantaggi, come ad esempio la gestione della
paginazione dei risultati o dell'eliminazione dei risultati che non sono ritenuti
corretti tramite l'implementazione di un filtro. Infine per richiedere 50 risultati
per una particolare query di ricerca e le relative view di searchmonkey,
avremo bisogno di almeno 10 richieste al servizio, quindi un sito con molti
utenti può superare facilmente la soglia delle 10000 richieste giornaliere
gratuite.
46
Tecnologie per la ricerca Web
2.2.3 Yahoo SearchMonkey
SearchMonkey non è un servizio come quelli precedentemente descritti,
infatti è sostanzialmente un framework che permette la creazione di
applicazioni tese al potenziamento dei risultati ottenuti attraverso il motore di
ricerca generalista di Yahoo. Inoltre, attraverso particolari crawler, questo
servizio permette l'estrazione dei microformat dalle pagine Web analizzate
indicizzandole nel proprio database. SearchMonkey Esegue quest'ultima
operazione in modo da rendere queste particolari strutture di dati facilmente
interpretabili anche da Yahoo BOSS, che li ritorna associati ai propri risultati
attraverso l'uso di particolari servizi.
Il principale difetto di questo servizio sta nel fatto che le applicazioni,
implementate per creare delle visualizzazioni particolari per alcuni tipi di
risultati, non possono essere inserite nel proprio motore di ricerca o in una
pagina Web ma solo all'interno del motore di ricerca generalista di Yahoo.
Inoltre dovranno essere selezionate dagli utenti registrati al dominio di
Yahoo per venire attivate, ma solamente nella pagina personale dell'account
che l'ha selezionato. Per questo motivo, le aziende interessate a produrre
delle applicazioni particolari per la visualizzazione dei propri prodotti,
dovranno prima di tutto pubblicare il loro programma e poi pubblicizzare
questo servizio specifico per permettere agli utenti di conoscerne l'esistenza.
Per poter configurare queste particolari applicazioni bisogna possedere un
account nel network di Yahoo per gli sviluppatori ed accedere alla pagina
principale del servizio.
Attraverso questa interfaccia Web è possibile settare, oltre al nome del
servizio, alla sua categoria e ad una breve descrizione, i seguenti parametri:
•
Type. Attraverso questo parametro è possibile la scelta del metodo
con cui effettuare la visualizzazione dei risultati. Potremo scegliere tra
enhanced result o infobar. Il primo permetterà di modificare
47
Tecnologie per la ricerca Web
completamente lo stile classico di visualizzazione, in quanto al posto
della solita descrizione si potrà inserire , oltre ad un immagine, anche
dei collegamenti per eventuali servizi oppure delle informazioni
supplementari.
Scegliendo
l'altra
opzione
si
potrà
solamente
affiancare una barra alla descrizione e al titolo del risultato contenente
dei servizi aggiuntivi, come ad esempio il ranking o il collegamento
alla pagina per il noleggio del prodotto.
Immagine 3: esempio dei metodi di enhanced result e di infobar.
•
Trigger Url. Rappresenta il parametro più importante del servizio, in
quanto in esso si dovranno inserire gli url di tutti i risultati in cui si
vuole utilizzare l'applicazione creata. Infatti solo se il risultato proposto
dal motore di ricerca di Yahoo avrà l'indirizzo contenuto in questo
dominio sarà visualizzato attraverso l'applicazione creata, altrimenti
verrà mostrato all'utente nel modo standard.
•
Immage domains. Contiene un elenco di url da cui verranno estratte
le immagini da affiancare ai risultati, se non contenute negli indirizzi
specificati nel campo trigger url. In questo modo si possono
estrarre,ad esempio, le immagini da una pagina Web contenente il
catalogo dei prodotti e i dati dal sito dei fornitori o dell'azienda.
•
Link domains. E' composto da una lista di url dai quali verranno
estratti i link dei servizi da associare ai risultati, se non presenti negli
indirizzi specificati nel campo trigger url. In questo modo si potrà
mostrare ad esempio i dati relativi a un prodotto prelevati da un
determinato url e il link al servizio di noleggio o installazione estratto
da un altro indirizzo.
48
Tecnologie per la ricerca Web
•
Data service. Contiene l'elenco dei microformat e dei relativi campi
che si vogliono visualizzare nel risultato, in modo da impostare la
query che il servizio dovrà effettuare al proprio database per ottenere
tutti i dati da visualizzare.
In questo servizio, per implementare la propria applicazione, è consentito
solo l'utilizzo di php ed il codice dovrà essere inserito nella relativa casella di
testo dell'interfaccia Web offerta dal servizio stesso.
I servizi creati dovranno attenersi ad una struttura prestabilita, infatti si
potranno inserire, nell'apposito array di valori da passare a SearchMonkey,
solo i seguenti parametri :
•
i dettagli dell'immagine, che comprendono il nome dell'illustrazione
e l'indirizzo da cui prelevarla;
•
i servizi offerti, rappresentati da link che puntano a delle pagine che
contengono dei servizi associati al risultato, come ad esempio il sito di
un corriere per la spedizione del prodotto ricercato oppure un portale
che offre una comparazione della risorsa trovata con altre simili.
SearchMonkey consente di inserirne al massimo 4 per ogni risultato
proposto;
•
alcune informazioni aggiuntive, che saranno visualizzate con il
nome del parametro ed il relativo valore. Il servizio impone
l'inserimento di 4 coppie nome-valore, ma se si desidera visualizzarne
di meno si può inserire al posto del nome la parola chiave
'SMDEFAULT' che indica l'assenza di informazioni da visualizzare in
quella posizione;
•
le direttive per l'infobar , che comprendono tutte le informazioni da
visualizzare nella barra al di sotto dei risultati. Se questi parametri
saranno settati azzereranno quelli precedentemente inseriti, in quanto
non è possibile mischiare i 2 tipi di visualizzazione consentiti.
49
Tecnologie per la ricerca Web
Di seguito proporremo un esempio esteso di una possibile applicazione:
Una volta terminate le fasi di creazione e di configurazione del servizio
bisogna inviare la propria applicazione a Yahoo che deciderà se pubblicarla o
se eliminarla dopo un'attenta analisi. Altri servizi offerti da SearchMonkey
riguardano, invece, la creazione di un proprio microformat personalizzato e
l'implementazione della relativa applicazione da inviare al crawler di Yahoo, in
modo da permettergli di effettuare l'estrazione di questi dati e di indicizzarli
all'interno dei campi dei microformat supportati. Per configurare un nuovo tipo
di microformat basta solo scrivere i dati che si vogliono inserire in alcuni tag,
come i div o gli span, specificandone un nome univoco utilizzando l'attributo
class o rev. Lo svantaggio di questo servizio è il fatto che SearchMonkey, per
interpretare ed indicizzare i dati, impiegherà molto più tempo rispetto ai
microformat standard, quindi non è molto conveniente utilizzare un proprio
microformat se si intende inserirci dei dati che verranno spesso aggiornati. Un
50
Tecnologie per la ricerca Web
esempio di struttura personalizzata da inserire in una pagina html potrebbe
essere la seguente:
Successivamente, sempre attraverso l'interfaccia Web messa a disposizione
degli sviluppatori, si deve procedere alla creazione di un'applicazione che sia
in grado di estrapolare i dati da questo particolare microformat. In questo
servizio, che prende il nome di 'Page custom data service', si possono
impostare, oltre al nome ed una breve descrizione, anche i trigger url, cioè
quei particolari indirizzi Web in cui SearchMonkey utilizzerà l'applicazione che
si sta creando per interpretare e memorizzare i dati contenuti. Questa risorsa
dovrà essere scritta in XSLT e dovrà contenere tutte le informazioni e le
regole per permettere al crawler di indicizzare correttamente i dati contenuti
nella pagina. Questa possibilità risulta molto utile sia per le aziende che
possiedono dati non inseribili in un unico microformat standard sia per quelle
che possiedono un tipo di microformat obsoleto o non supportato da
SearchMonkey sul proprio sito e non vogliono aggiornarli o cambiarli.
Purtroppo risulta essere anche molto limitativa in quanto, oltre al fatto che i
microformat creati verranno riconosciuti solo dal crawler di Yahoo (tra l'altro
dopo un lungo lasso di tempo) bisogna considerare che queste strutture di
dati si potranno inserire solo nelle pagine aventi indirizzi determinati, registrati
al momento della creazione dell'applicazione. Questo impedisce di fatto
l'espansione e il riutilizzo, al di fuori dell'ambito aziendale, dei microformat
creati, in quanto se riadattati in altri contesti, non saranno riconosciuti e quindi
non saranno indicizzati neanche da SearchMonkey. Un esempio di
51
Tecnologie per la ricerca Web
applicazione utilizzabile per estrarre i dati dal microformat precedentemente
descritto, inserendoli nel formato standard hCard e hReview potrebbe essere
il seguente:
52
Tecnologie per la ricerca Web
Questa applicazione consentirà l'estrazione e il salvataggio dei dati nel
seguente formato:
Anche in questo caso bisognerà attendere il tempo di approvazione del
servizio, da parte di SearchMonkey, per renderne effettivo l'utilizzo.
Successivamente è anche possibile creare una particolare maschera per
visualizzare il microformat appena generato, utilizzando una infobar o una
enhanced result nel modo più congeniale possibile.
Infine SearchMonkey permette l'implementazione di applicazioni rest residenti
sui server Yahoo, richiamabili attraverso un particolare indirizzo Web, per la
creazione di risultati strutturati formati da dati presi da pagine Web che
possono o contenere microformat personalizzati come quelli visti in
precedenza oppure addirittura non contenere alcun tipo di struttura semantica.
Questo servizio è molto utile soprattutto per il fatto che si differenzia dalla
risorsa precedentemente descritta perché può ritornare il file contenente le
informazioni direttamente al proprio server. Esso potrà cosi gestire
programmaticamente l'utilizzo e la visualizzazione di queste informazioni. Il
problema relativo all'utilizzo diffuso di questo servizio sta nel fatto che si dovrà
in qualche modo diffondere l'utilizzo del microformat creato, altrimenti
SearchMonkey non sarà in grado di estrarre alcun tipo di dato. Se invece si
vuole impostare una ricerca di dati all'interno di pagine Web che non
contengono alcun tipo di struttura semantica, bisogna considerare il fatto che
stiamo estraendo le informazioni da tag html generici, quindi è necessario
conoscere la disposizione e il contenuto dei tag a priori per poter creare delle
applicazioni in grado di estrarli. Per questo motivo l'utilizzo in domini ampi di
53
Tecnologie per la ricerca Web
questa risorsa diventa molto difficile ed, invece, risulta molto utile alle aziende
che possiedono già un sito e che vogliono estrarre i dati dalle proprie pagine
senza dover integrare microformat. Un altro caso d'uso per queste
applicazioni potrebbe riguardare le aziende che vogliono trarre informazioni
da portali o siti esterni che contengono pagine generate dinamicamente.
Infatti, esse possiedono necessariamente una struttura dei tag e delle
informazioni contenute sempre uguale. Per configurare questo servizio
bisogna innanzitutto inserire un nome per l'applicazione, una descrizione
dell'applicazione e i seguenti parametri:
•
parametri passati, che rappresenta l'elenco dei parametri che
vogliamo
passare
al
servizio,
ad
esempio
dovremo
indicare
'dc:identifier' se vorremo inviare un dominio di url in cui ricercare i dati
da restituire;
•
endPoint, cioè l'indirizzo a cui effettuare la richiesta per poter utilizzare
la nostra applicazione. Di solito ha la seguente struttura:
http://search.yahooapis.com/SiteExplorerService/V1/pageData?appid
dove appid indica il codice univoco che Yahoo ha associato all'account
dello sviluppatore. Oltre a questo parametro bisognerà passare al
servizio anche ulteriori parametri come 'result', che indica il numero di
risultati che vogliamo nella risposta 'query', che conterrà tutti i valori
precedentemente descritti;
•
formato file di risposta, scelto in base alle preferenze dello
sviluppatore in quanto le informazioni e la struttura dei dati sarà la
medesima per entrambi i file consentiti. Si potrà scegliere tra dataRSS
format e OpenSearch with dataRSS extension.
Per questo servizio presenteremo solo un esempio relativo all'estrazione di
un'immagine e dei relativi dati da una pagina Web, in quanto l'esempio in cui
si ricercano dati inseriti nelle pagine tramite particolari tipi di microformat è già
stato proposto in precedenza.
54
Tecnologie per la ricerca Web
Supponiamo di voler estrarre le informazioni relative a delle immagini da
alcune pagine Web che contengono questa struttura:
Per questo scopo si potrebbe utilizzare un'applicazione che sia in grado di
ricercare questa particolare struttura in una pagina Web, cosi strutturata:
55
Tecnologie per la ricerca Web
Questa risorsa, richiamata inserendo 1 solo url, contenente lo stralcio di html
proposto in precedenza, nel parametro query, ritornerà un file con i seguenti
dati nel formato scelto dallo sviluppatore:
Questo servizio risulta inutile se si utilizza Yahoo Boss con le view in quanto i
dati ritornati sono i medesimi usando i seguenti
microformat supportati
nativamente da SearchMonkey :
Tabella 1 : elenco dei microformat supportati da SearchMonkey e relativo dominio.
56
Tecnologie per la ricerca Web
2.3 Analisi comparativa
Le caratteristiche delle soluzioni analizzate sono riassunte nella tabella
seguente.
Servizi
Offerti
Essere registrati al
Essere registrati al
Essere registrati al
Precondizioni
network di Google e
network di Yahoo e
network di Yahoo e
per accedere
possedere un Appid
possedere un Appid
possedere un Appid
al servizio
relativo al servizio
relativo al servizio
relativo al servizio
Google CSE.
Yahoo Boss.
Yahoo Boss.
Bisogna configurare
nel relativo pannello ad
interfaccia web i
parametri principali del
servizio, tra cui:
Configurazione
informazioni base,Il
dominio di ricerca,le
label,Il layout e la
formattazione,
l'account Adsense, le
keywords ed i sinonimi.
Metodo di
Essendo un servizio
rest, si configura
completamente con
dei parametri inviati
tramite una richiesta
http. Si può impostare
il dominio di ricerca,
dei filtri particolari, il
numero di risultati
ottenuti ed i tipi di
view associate ai
Per aggiungere tutte le
informazioni contenute
nei microformat ai dati
standard dei risultati
occorre scegliere la view
SearchMonkey_feed o
SearchMonkey_rdf
tramite la richiesta http
effettuata al servizio.
risultati desiderati.
Occorre inserire 2
Serve implementare
Server side risulta come
stralci di codice
un'applicazione sul
se implementassimo
Javascript in 2 pagine
proprio server che si
solo il servizio BOSS,
web distinte, uno per
occupi di ricevere la
inoltre è consentito
query di ricerca
l'utilizzo di un'altra
effettuare la ricerca e
dall'utente, di inviarla
risorsa rest per estrarre
l'altro per mostrare i
al servizio e di
dei microformat non
risultati ottenuti.
visualizzare i risultati.
standardizzati.
Implementazione creare l'interfaccia per
57
Tecnologie per la ricerca Web
Servizi
Offerti
Nessuno, basta una
semplice pagina
HTML. Se invece si
Linguaggio di
programmazion
e di supporto
necessario
desidera poter creare
domini di ricerca in
modo dinamico,
bisogna creare un
programma apposito in
php o java che
È necessario usare
È necessario usare
un'applicazione php o
un'applicazione php o
java per gestire la
java per gestire la
richiesta e per
richiesta e per
visualizzare i risultati
visualizzare i risultati nel
nel modo desiderato.
modo desiderato.
modifichi il file XML
apposito.
Si possono inserire
fino a 5000 pagine web
Dominio di
ricerca
nel dominio di ricerca,
Si possono inviare
inoltre esso è
tramite parametro
configurabile sia
allegato alla richiesta
attraverso un file XML
http solo 8178
apposito, sia attraverso
caratteri totali, che
il pannello di controllo
consentono all'incirca
disponibile on-line.
200 – 250 url.
Si possono inviare
tramite parametro
allegato alla richiesta
http solo 8178 caratteri
totali, che consentono
all'incirca 200 – 250 url.
È possibile creare delle
classificazione
degli indirizzi
all'interno del
dominio di
ricerca
label ed assegnarle ad
alcuni siti del dominio
di ricerca, in questo
modo si riesce a
Non consentita.
Non consentita.
dividere i siti in sotto
domini utilizzabili in
base alle evenienze.
58
Tecnologie per la ricerca Web
Servizi
Offerti
Si può implementare
È consentito solo un È consentito solo un
un servizio in grado di aiuto
Aiuti nella
ricerca
presentare agli utenti
ricercati.
correzione aiuto
grammaticale
dei termini simili o più query
specifici a quelli
di
tramite
di
l'uso
della l'uso
Spelling suggestion.
Molto basso, in quanto di risposta del servizio
dipende solo dal tempo
sia dalla velocità di
impiegato dal servizio.
elaborazione dei
risultati del server su
cui è implementato.
Informazioni Un collegamento alla
restituite per
ogni
risultato
pagina del risultato, il
nome e un breve testo
contenente la
descrizione.
Spelling
suggestion.
Variabile, infatti dipende
sia dal tempo di risposta
del servizio sia dalla
velocità di elaborazione
dei risultati del server su
cui è implementato.
Il collegamento alla
pagina del risultato,
pagina del risultato, un
un breve testo
breve testo contenente
contenente la
la descrizione, la data
descrizione, la data
dell'ultima modifica, il
dell'ultima modifica, il
titolo e la dimensione
titolo e la dimensione
della pagina del
della pagina web.
risultato.
Attraverso le view si
possono ottenere
supplementar
delle informazioni
Nessuna.
della
Il collegamento alla
Informazioni
i disponibili
della
ricerca query di ricerca tramite
dipende sia dal tempo
risposta
correzione
della grammaticale
Variabile, infatti
Tempo di
di
supplementari come
per ogni
le keywords associate
risultato.
al risultato o la sua
Attraverso le view
SearchMonkey_feed o
SearchMonkey_rdf si
possono ottenere
informazioni relative ai
microformat
lingua.
59
Tecnologie per la ricerca Web
Servizi
Offerti
Si possono impostare
Filtri
consentiti
Si possono impostare
Si possono impostare
dei filtri che eliminano
dei filtri che eliminano i
dei filtri che eliminano i i risultati con contenuti risultati con contenuti di
risultati di alcuni url del
di tipo pornografico o
tipo pornografico o
dominio attraverso
violento attraverso
violento attraverso
l'apposito file xml.
l'impostazione di un
l'impostazione di un
parametro specifico.
parametro specifico.
Completamente
personalizzabile in
Visualizzazio
ne dei
risultati
Standard di Google, è
quanto i risultati sono
consentito solo
forniti su di un file xml
cambiare il colore dei
o json e quindi la
caratteri.
visualizzazione è
gestita solo dallo
sviluppatore.
Completamente
personalizzabile in
quanto i risultati sono
forniti su di un file xml o
json e quindi la
visualizzazione è gestita
solo dallo sviluppatore.
Completamente
Minima, attraverso dei
personalizzabile in
Completamente
particolari label che
quanto i risultati sono
personalizzabile in
Modifica del
associano un
forniti su di un file xml
quanto i risultati sono
ranking
coefficiente ai risultati,
o json e quindi
forniti su di un file xml o
proposto
di default vale 0,7 e lo
l'ordine di
json e quindi l'ordine di
si può impostare da -1
visualizzazione è
visualizzazione è gestito
a +1.
gestito solo
solo dall'applicazione.
dall'applicazione.
Supporta i seguenti
Integrazione
con i
microformat
Nessuna.
Nessuna.
microformat: dc, foaf,
vcard, vcal, review, sioc,
gr, dbpedia, fb.
60
Tecnologie per la ricerca Web
Servizi
Offerti
Si possono impostare
Integrazione
con il
una sorta di aiuto nelle
motore di
ricerche o come
ricerca
gadget per la propria
generalista
delle maschere di
Viene presentato come
visualizzazione
Nessuna.
personalizzate dei propri
risultati utilizzabili, dopo
averle selezionate,
pagina personale.
all'interno della propria
pagina personale.
Costo
Gratuito, bisogna solo
Gratuito se non si
Gratuito se non si
visualizzare il logo di
superano le 10000
superano le 10000
Google.
query giornaliere.
query giornaliere.
Tabella 2: analisi e confronto delle soluzioni descritte nel capitolo
Dalla tabella riassuntiva si può facilmente evincere che i servizi proposti da
Yahoo e Google, anche se consentono entrambi la creazione di un motore
di ricerca verticale facilmente personalizzabile evitando molte spese legate
alla sua implementazione all'interno dell'azienda, sono completamente
diversi tra di loro. Le differenze principali, evidenziate attraverso l'analisi e
la successiva sperimentazione di queste risorse, sono:
•
Le informazioni ritornate, infatti Google CSE offre all'utente, che
effettua una ricerca, solo delle informazioni basilari per i risultati
proposti, invece il servizi offerti da BOSS tramite delle particolari
risorse, denominate view, possono ritornare un insieme molto più
ampio di informazioni, legate ad esempio ai microformat o alle
parole chiave associate ad un risultato. In questo modo consente la
possibilità di effettuare dei filtri o dei ranking personalizzati, basati
61
Tecnologie per la ricerca Web
sui dati supplementari ottenuti, implementando un'applicazione
apposita sul proprio server.
•
Il ranking e la visualizzazione dei risultati, che sono quasi
completamente vincolate alle scelte del servizio in CSE. Invece
utilizzando BOSS, il layout di visualizzazione dei risultati è gestito
completamente dall'applicativo sul proprio server e quindi anche il
ranking proposto da Yahoo risulta completamente modificabile in
base ai propri criteri o al contesto.
•
Il modo in cui sono resi disponibili allo sviluppatore, infatti
Yahoo Boss e Yahoo SearchMonkey sono dei servizi rest, cioè
richiamabili e configurabili solo attraverso una richiesta http. Invece
Google CSE è un servizio richiamabile solo attraverso un Javascript
ed è configurabile sia on-line, tramite l'apposito pannello di controllo,
sia attraverso un file xml apposito.
•
Le risorse messe a disposizione, che risultano essere molto
diverse. Infatti, se da una parte CSE non consente alcun tipo di
interazione con la propria interfaccia utente (permettendo però
attraverso la visualizzazione di alcuni semplici link, all'interno di
essa, di modificare il dominio di ricerca o di specificare la query di
ricerca) BOSS offre dei metodi per trarre delle informazioni per
costruire una qualsivoglia interfaccia per indirizzare la ricerca
dell'utente.
•
Le problematiche dovute all'implementazione, infatti se si utilizza
BOSS si deve anche gestire la paginazione dei risultati e il metodo
di visualizzazione, invece implementando Google CSE non ci si
deve preoccupare di questi fattori, in quanto bisogna solo inserire in
un div il codice che fornisce il servizio.
62
Tecnologie per la ricerca Web
Per cui Yahoo BOSS e Google CSE si prestano a situazioni aziendali
completamente diverse e con dei requisiti particolari, infatti se si desidera:
•
Utilizzare un dominio di ricerca composto da molti siti conviene
utilizzare CSE in quanto permette di inserire fino a 5000 indirizzi
oppure 1000 se si introducono 5 label, invece dei soli 200 – 250
consentiti dal servizio di Yahoo.
•
Inserire molte informazioni specifiche da ricercare nelle pagine
Web. In questo caso conviene utilizzare i microformat e quindi
SearchMonkey, perché CSE non li supporta e non sarà mai in grado
di ricercarli.
•
Eseguire aggiornamenti frequenti del dominio di ricerca in base
alle richieste degli utenti. In questo frangente bisogna utilizzare
necessariamente BOSS, infatti essendo un servizio rest configurabile
attraverso i parametri inviati tramite una richiesta http, permetterà di
aggiornare il dominio cambiano semplicemente i parametri che noi gli
inviamo, mentre invece con CSE si dovranno attendere diversi minuti
prima che le modifiche apportate diventino effettive.
•
Implementare un motore di ricerca evitando le spese di
programmazione o di manutenzione di un applicativo di
supporto. In questo caso bisognerà scegliere senza dubbio CSE in
quanto non necessita di nessun tipo di supporto ed invece per BOSS
occorre un'applicazione in php o java per permetterne il corretto
funzionamento.
•
Modificare il ranking dei risultati promuovendo i propri prodotti o
servizi. Se l'azienda si trovasse di fronte a questo particolare
requisito dovrà selezionare il servizio di Yahoo per creare il proprio
motore di ricerca in quanto non è possibile, se non in minima parte, la
modifica del ranking di Google.
63
Tecnologie per la ricerca Web
Capitolo 3:
Caso d'uso: un portale per il
risparmio energetico
3.1 Prima sperimentazione
In questa prima sperimentazione si è creato un portale dedicato alle
aziende che si occupano del settore del risparmio energetico. Questa
risorsa dovrà gestire i dati relativi alle aziende registrate al network
implementando, inoltre, un motore di ricerca verticale che permetta la
ricerca tra i contenuti delle pagine web delle imprese. Oltre a questo dovrà
contenere anche un motore di ricerca interno che permetterà sia la
selezione delle aziende che si occupano di determinati campi o che offrono
particolari servizi, sia la visione dei dati dei relativi recapiti. Infine, per le
aziende che
non possiedono un proprio sito internet, il portale dovrà
creare un profilo interno pubblico, contenente i dati rilevanti aziendali, da
inserire poi nel dominio di ricerca del servizio di
custom search
selezionato. Per questo caso d'uso è stato scelto di sperimentare il servizio
di Google CSE. In questo modo è stato possibile valutarne le effettive
potenzialità per quanto riguarda le seguenti caratteristiche:
•
Il Tempo di risposta del servizio, è risultato sempre appropriato, in
quanto non dipende dal modo in cui si è scelto di implementare il
servizio, inoltre consente prestazioni molto elevate anche in caso di
query molto lunghe e complesse, ad esempio concatenando molte
condizioni in or.
64
Caso d'uso: un portale per il risparmio energetico
•
L'integrazione del servizio con il portale. Dal punto di vista della
grafica Google CSE presenta come interfaccia di inserimento dati
solo una casella di testo in cui inserire la query di ricerca, e un
bottone per inviarla al servizio. Quindi è facilmente integrabile in
qualsiasi layout assegnabile alla propria pagina web. Per quanto
riguarda la visualizzazione bisogna creare una pagina apposita
perché la parte di risultati ne occuperà gran parte dello spazio, dal
momento che non è possibile né gestire la paginazione né il numero
di risultati proposti per ogni pagina. Dal punto di vista delle
tecnologie utilizzabili sul lato server non presenta particolari
incompatibilità in quanto non richiede nessun tipo di applicazione
per consentirne il corretto funzionamento. Infine, per quanto
riguarda la qualità del servizio, i risultati proposti si sono sempre
rivelati attinenti alla query di ricerca inserita dall'utente.
•
Il tempo di modifica del dominio di ricerca, che varia molto a
seconda del periodo in cui si vuole effettuare la modifica al file xml
contenente le informazioni relative al dominio. Mediamente Google
CSE configura il nuovo dominio in 50 – 60 minuti, rendendo di fatto
impossibile il cambio di dominio di ricerca dinamico in base alla
ricerca da effettuare. In questo caso però possono essere utilizzate
le label che di fatto creano dei sotto-domini di ricerca escludendo
tutti i siti che non possiedono la particolare etichetta selezionata.
Invece le modifiche risultano immediate se si utilizza il pannello di
configurazione on-line. Ovviamente per quanto riguarda BOSS i
tempi di modifica del proprio dominio di ricerca sono da considerarsi
nulli, poiché i parametri vengono configurati al momento dell'invio
della richiesta http dall'applicativo implementato.
65
Caso d'uso: un portale per il risparmio energetico
3.1.1 Requisiti
I requisiti funzionali relativi alla prima sperimentazione sono i seguenti:
•
Classi d'utenza :
◦ Aziende che possiedono un proprio sito web
◦ Aziende che non possiedono un proprio sito web
◦ Utenti pubblici
◦ Gestore del sito
•
Funzioni richieste per ogni classe d'utenza:
▪ Aziende con sito web
◦ Registrazione e creazione di un account
◦ Modificazione dei propri dati
◦ Inserimento dei dati nel motore di ricerca verticale
▪ Aziende senza sito web
◦ Registrazione e creazione di un account
◦ Modificazione dei propri dati
◦ Creazione di un profilo pubblico interno
◦ Inserimento dei dati nel motore di ricerca verticale
▪ Gestore
◦ Approvazione o eliminazione delle nuove aziende
◦ Inserimento dei settori d'attinenza delle aziende
◦ Inserimento di url esterni nel dominio di ricerca
▪ Tutti gli utenti
◦ Visualizzazione dei dati relativi ad un'azienda
◦ Ricerca contenuti
◦ Ricerca aziende in base al settore d'attinenza
66
Caso d'uso: un portale per il risparmio energetico
3.1.2 Design preliminare
Analizzando gli aspetti del problema si può evincere che il portale deve
permettere alle aziende di potersi registrare al social network che esse
possiedano o meno un proprio sito aziendale, permettendo anche
l'inserimento di alcune informazioni riguardanti i recapiti aziendali e delle
informazioni di base per poter riconoscere univocamente le aziende
registrate nel network.
Durante la registrazione verrà anche creato un'account per accedere ai
servizi del portale che permetterà di modificare i dati inseriti in precedenza.
Successivamente, se l'azienda non è provvista di un proprio sito Web,
sarà creato automaticamente un profilo all'interno del portale contenente
tutti i dati aziendali, in modo da permettere la ricerca di queste informazioni
da parte dei motori di ricerca. Questo comporterà anche un aumento della
visibilità dell'impresa sul web, in quanto anche i motori di ricerca generalisti
indicizzeranno le informazioni contenute in questi profili e di conseguenza
le riproporranno all'interno dei risultati proposti agli utenti.
Infine, per quanto riguarda l'implementazione del servizio di Google,
bisognerà settare il dominio di ricerca inserendo gli indirizzi delle pagine
web aziendali o dei profili creati.
Per consentire la gestione del portale e dei suoi contenuti sarà creato un
utente speciale, che attraverso il suo account potrà accedere a servizi che
gli consentiranno di eseguire determinate azioni:
•
Approvazione o eliminazione delle aziende, che sarà una
funzione molto importante per il gestore in quanto gli permetterà di
tenere sotto controllo le aziende e i dati inseriti nel portale, evitando
problemi legati all'inserimento di aziende che non appartengono al
settore e di dati fasulli, creati appositamente per impedire il corretto
67
Caso d'uso: un portale per il risparmio energetico
funzionamento dei servizi offerti. La possibilità di valutare il
contenuto dei dati
inseriti dalle aziende verrà concesso nel
momento successivo alla registrazione delle aziende e ad ogni
modifica delle informazioni. Fin quando un'impresa non otterrà
l'approvazione da parte del gestore, avrà la possibilità di modificare i
propri dati, tranne quelli che ne permettono l'identificazione, ma non
sarà inserita nel dominio di ricerca e non sarà visibile agli utenti del
portale.
•
Inserire i settori, che permetteranno di classificare le aziende e di
effettuare delle ricerche in base a questi parametri. Per consentire
delle ricerche più dettagliate i settori saranno utilizzati per impostare
il nome delle label del servizio di Google CSE.
•
Inserire url esterni, per consentire delle ricerche anche in alcuni siti
Web che non sono registrati nel portali, ma che sono attinenti con il
risparmio energetico. In questo modo, al gestore, è data anche la
possibilità di gestire e di modificare il dominio di ricerca di CSE.
Per permettere anche agli utenti non registrati di accedere ai dati forniti dal
portale, in modo da aumentare il bacino d'utenza e di conseguenza anche
la visibilità delle aziende nel Web, alcuni servizi offerti sono stati resi
pubblici:
•
Ricerca, che perette di effettuare sia la ricerca di contenuti (tramite
Google CSE) sia delle aziende in base al settore di competenza.
•
Visualizzazione delle informazioni aziendali, infatti è stato
ritenuto opportuno rendere pubblici questi dati relativi ai contatti, in
quanto sono reperibili ovunque e permettono agli utenti interessati di
contattare direttamente l'azienda che quindi ne giova anche sotto il
profilo pubblicitario.
68
Caso d'uso: un portale per il risparmio energetico
Le considerazioni effettuate fino ad ora sono riassunte nel seguente use
case:
Immagine 2: Use case relativo alla prima sperimentazione
Come si può evincere dallo use case proposto, la fase di registrazione da
parte delle aziende assumerà un ruolo determinante all'interno del portale
e per questo motivo, dopo un'attenta analisi, si è scelto di richiedere alle
imprese le seguenti categorie di informazioni:
•
Identificazione, situata nella prima parte dell'interfaccia, questa
categoria di informazioni conterrà tutti i dati relativi all'account che si
andrà a creare successivamente. Verrà richiesto di inserire un
username ed anche una password che serviranno successivamente
per poter accedere ai servizi aziendali.
69
Caso d'uso: un portale per il risparmio energetico
•
Informazioni generali, nella quale si chiederanno informazioni
relative all'azienda come ad esempio il nome del proprietario e
quello della ditta che si intende registrare. Quest'ultima informazione
verrà utilizzata per il riconoscimento univoco dell'impresa all'interno
del portale. Inoltre si è deciso di lasciare la possibilità all'impresa di
inserire l'url dell'immagine del proprio logo e una breve descrizione,
in modo tale da migliorare la visualizzazione dei dati aziendali
all'utente.
•
Contatti. In questa categoria sarà richiesto di specificare l'indirizzo
del proprio sito Web, se l'azienda ne dispone di uno, e di inserire i
vari recapiti. Questi ultimi saranno composti dal numero di telefono e
di fax della sede aziendale, della mail e dell'indirizzo di domicilio
completo.
Queste
informazioni
supplementari
non
saranno
obbligatorie in quanto non indispensabili riguardo alla funzionalità
del portale..
•
Settori d'attinenza, in cui un'azienda dovrà identificarsi e se ne
potranno scegliere anche diversi tra quelli proposti dal gestore. Si è
scelto di permettere ad un azienda di non selezionare alcun campo,
o di poterne aggiungere in futuro, in quanto questi parametri
saranno sempre tenuti in costante evoluzione, da parte del gestore.
E' probabile quindi che un'azienda prima o poi trovi un campo che la
rappresenti pienamente.
Inoltre per consentire la presenza di un utente gestore, che avrà categorie
di servizi diversi rispetto a quelli relativi alle aziende registrate, si è pensato
di introdurre un parametro che lo distingua dagli altri.
Infine, per distinguere le imprese in fase di approvazione dalle altre, si è
introdotto un campo apposito che indicherà lo stato attuale in cui si trova
l'azienda. Questo valore non modificherà in alcun modo i servizi personali
70
Caso d'uso: un portale per il risparmio energetico
disponibili per le aziende, ma impedirà sia l'inserimento della pagina Web
aziendale nel dominio di ricerca, sia l'accesso ai dati sensibili da parte
degli utenti del portale. Nel class diagram proposto nell'immagine 3, sono
schematizzate tutte le informazioni trattate in quest'ultimo paragrafo.
Immagine 3: Class diagram relativo alla prima sperimentazione
Non tutti i dati aziendali devono essere inseriti all'interno della pagina Web
contenente il profilo e quindi, per permettere la visualizzazione riassuntiva
delle informazioni anche delle aziende che possiedono un proprio sito
Web, è stato necessario implementare un sistema di storage. Per questo
motivo si è deciso di implementare un database in cui verranno inseriti tutti
i dati richiesti al momento della registrazione delle aziende.
Inoltre, per consentire il corretto utilizzo del servizio Google CSE, si è
dovuto implementare un'applicazione in grado di gestire dinamicamente il
file xml contenente il dominio di ricerca personalizzabile e le varie label.
L'indirizzo url di questa risorsa sarà comunicato attraverso il pannello di
configurazione apposito messo a disposizione da Google.
71
Infine si è
Caso d'uso: un portale per il risparmio energetico
scelto di non scindere ulteriormente il file xml in quanto non sono stati
ritenuti necessari dei sotto domini di ricerca in questa sperimentazione.
Lo schema delle risorse e dei servizi utilizzati è rappresentato nello
seguente Deployment diagram:
Immagine 4: Deployment diagram relativo alla prima sperimentazione
Per consentire la modifica del dominio di ricerca anche al gestore (che
potrà inserire degli url esterni per ampliarlo) il file xml sarà modificabile
anche attraverso i servizi che il portale gli metterà a disposizione. Per
questo motivo si dovrà implementare anche una piccola applicazione in
grado di generare automaticamente questo file, inserendo sia gli indirizzi
url delle aziende e dei profili presenti sul portale, sia gli indirizzi dei siti
esterni. Inoltre si dovrà configurare le label del servizio CSE in modo
opportuno sfruttando i settori selezionati dalle aziende al momento della
registrazione.
72
Caso d'uso: un portale per il risparmio energetico
3.1.3 Design di progettazione
Il database utilizzato per contenere i dati discussi nel capitolo precedente è
strutturato secondo il seguente schema logico:
Immagine 5: Diagramma logico del database relativo alla prima sperimentazione.
Questa struttura è stata configurata per consentire le seguenti relazioni tra la
tabelle:
•
Azienda – Utente, in relazione 1 a 1, in quanto è stata effettuata la
scelta di consentire la registrazione di una particolare azienda per
ogni utente, dal momento che l'account per accedere ai servizi è
associato all'impresa e non al suo proprietario. Per questo motivo è
anche stata scelta come chiave primaria della tabella il nome
dell'azienda. Inoltre, in questo modo, è consentita anche l'opzione che
permette ad una persona fisica di possedere più di un'azienda senza
creare problemi all'interno della base di dati. Infine si è creato un
particolare account, che non avrà associata nessun azienda, cioè
quello del gestore del portale.
73
Caso d'uso: un portale per il risparmio energetico
•
Azienda – Campi, in relazione N a N, in quanto ogni azienda potrà
sia avere diversi settori d'attinenza sia non averne nessuno. D'altra
parte sarà consentito l'inserimento di settori che non abbiano
associata nemmeno un'azienda oppure che ne abbiano diverse. Per
consentire
questa
associazione
è
stata
introdotta
la
tabella
'campiAssociati' che conterrà le chiavi esterne delle tabelle 'campi' e
'azienda'.
Inoltre sono stati introdotti i seguenti vincoli per i valori da inserire nel
database:
•
Username,Password, Nome azienda,che dovranno essere composti
da meno di 255 caratteri e saranno obbligatori. Per quanto riguarda
l'username e il nome dell'azienda dovranno essere anche univoci.
•
Indirizzi url vari. Non essendoci vincoli particolari dovuti a Google
CSE, è stata effettuata la scelta di consentire una lunghezza massima
di 100 caratteri sia per gli indirizzi delle pagine sia per quelli legati
all'immagine del logo aziendale. L'unico campo obbligatorio risulta
quello legato alla pagina Web aziendale, in cui verrà inserito l'url del
profilo interno se dovesse mancare il sito aziendale.
•
Telefono,fax,mail, che avranno a disposizione 50 caratteri e saranno
facoltativi, in quanto i recapiti aziendali serviranno solo per consentire
alle aziende di essere contattate e non avranno nessun altro scopo.
•
Indirizzo sede. Questo campo è stato suddiviso in stato, città, cap e
domicilio. Sono tutti facoltativi ed a parte il cap che può essere
composto da soli 6 caratteri, gli altri parametri possono raggiungere
una lunghezza massima pari a 100.
•
Descrizione. E' facoltativa e potrà essere composta al massimo da
2000 caratteri, in modo da consentirne anche un inserimento preciso
all'interno di determinati spazi del profilo aziendale.
74
Caso d'uso: un portale per il risparmio energetico
Di seguito spiegheremo in modo più dettagliato i servizi che il portale dovrà
consentire alle aziende. Nell'immagine 6 è proposto un sequence diagram
contenente le operazioni che un azienda che non possiede un sito Web deve
effettuare per registrarsi al portale. Inoltre saranno illustrate tutte le
operazioni che quest'ultimo dovrà eseguire per
consentire un corretto
supporto a questa operazione.
Immagine 6: registrazione di un'azienda che non possiede un proprio sito Web.
Se invece si fosse trattato della registrazione di un'azienda che possedeva
una propria pagina Web, le differenze sarebbero state minime, in quanto
l'applicativo si sarebbe limitato a controllare i dati che venivano inseriti per
evitare errori all'interno delle tabelle del database, senza occuparsi
dell'implementazione della pagina del profilo pubblico.
75
Caso d'uso: un portale per il risparmio energetico
Dopo la registrazione, l'azienda dovrà attendere la convalida da parte del
gestore, in questo modo si potrà garantire un grado più alto di sicurezza,
perché il portale effettuerà un controllo sintattico dei contenuti, per verificare
che siano attinenti ai vincoli imposti dal database ed il gestore umano
valuterà le informazioni inserite in modo semantico per escludere le aziende
che non sono attinenti al settore del risparmio energetico. Per fare questo
l'utente gestore dovrà autenticarsi e dovrà selezionare il servizio relativo alla
convalida delle imprese. A questo punto,dopo aver visualizzato ed analizzato
i dati aziendali, potrà decidere se convalidare l'azienda oppure eliminarla
definitivamente. In quest'ultimo caso verrà disattivato anche il relativo
account. Questa procedura è descritta nel seguente sequence diagram:
Immagine 7: approvazione di un'azienda da parte del gestore.
76
Caso d'uso: un portale per il risparmio energetico
La procedura relativa all'approvazione da parte del gestore si avrà tutte le
volte che un'azienda proverà a modificare i propri dati.
Questo servizio di modifica delle informazioni precedentemente inserite è
reperibile accedendo con le credenziali relative all'azienda che vuole
apportare i cambiamenti.
Per quanto riguarda il profilo aziendale, esso verrà creato subito dopo aver
portato a termine correttamente la procedura di registrazione senza
attendere la fase di convalida dei dati.
Per rendere automatica questa procedura si è deciso di nominare queste
pagine con il nome normalizzato dell'azienda a cui si riferiscono. I file
verranno poi inseriti in una directory appositamente creata per contenere i
profili. Ad esempio, se si registra un'azienda che non possiede un proprio
sito Web di nome 'Azienda1 SPA', il relativo profilo sarà disponibile
all'indirizzo:
Indirizzo del portale/Profili/Azienda1_SPA.php
Il gestore avrà a disposizione anche un servizio relativo all'inserimento dei
settori d'attinenza per le imprese. Questo servizio è di fondamentale
importanza per permettere a Google CSE di creare dei sotto domini di
ricerca. Infatti questi parametri saranno inseriti all'interno del file xml,
associati agli indirizzi delle pagine Web delle varie aziende registrate, con
la funzione particolare delle label.
Infine il gestore avrà a disposizione un servizio che gli permetterà di
espandere il dominio di ricerca associato al servizio offerto da Google,
inserendo alcuni indirizzi di pagine Web esterne al portale che ritiene
attinenti al contesto del risparmio energetico. Anche in questo caso si
dovrà selezionare il servizio tra quelli proposti dopo aver effettuato
correttamente il login con le credenziali relative all'utente gestore.
77
Caso d'uso: un portale per il risparmio energetico
Nell'immagine 8 è descritta la corretta successione di operazioni che il
gestore e un'azienda che desidera iscriversi devono seguire per poter
configurare correttamente il servizio Google CSE:
Immagine 8: activity diagram relativo alla corretta configurazione di CSE.
Successivamente bisognerà implementare 2 pagine apposite per l'utilizzo del
servizio offerto da Google, una per inserire l'interfaccia per permettere
all'utente di effettuare una ricerca e una per inserire i dati ricevuti in risposta.
Infine si dovrà comunicare al server di CSE la posizione del file xml creato,
per permettergli di caricarlo correttamente.
78
Caso d'uso: un portale per il risparmio energetico
3.1.4 Implementazione
Per configurare correttamente il dominio di ricerca, dopo aver inserito le
informazioni
precedentemente
descritte,
si
dovrà
implementare
un'applicazione il cui compito sarà quello di creare un file xml contenente le
seguenti informazioni:
•
annotation. In questa struttura si potrà inserire l'url relativo ad un sito
Web che si intende inserire nel dominio di ricerca. L'xml potrà
contenere al massimo 5000 strutture questo tipo;
•
label. All'interno di questo tag associato ad una annotation si potrà
inserire il nome di una label. Di default ogni url avrà la label relativa
all'identificativo associato all'applicazione CSE configurata, nel nostro
caso varrà '_cse_ijmnracopbo '.
Di seguito proporremo un esempio completo della struttura a cui dovrà
attenersi il file xml:
79
Caso d'uso: un portale per il risparmio energetico
Esso verrà salvato sul proprio server, successivamente si dovrà indicare la
posizione nell'apposito spazio presente sul pannello di controllo on-line
offerto da Google, in modo da consentire a CSE di aggiornare i propri dati.
Dopo aver configurato il servizio si devono creare le pagine relative alla
visualizzazione dei risultati e all'interfaccia utente. Quest'ultima è
neccessaria per consentire l'inserimento della query da ricercare da parte
dell'utente ed è configurabile solo attraverso il pannello di controllo on-line
di CSE. In figura 9 è raffigurata la pagina web nella quale è stato
implementato il motore di ricerca.
Immagine 9: Interfaccia utente di Google CSE.
Questa pagina invierà la richiesta al server di CSE che inoltrerà i risultati a
quella relativa alla visualizzazione dei risultati. Quest'ultima consentirà
innanzitutto di effettuare un'altra richiesta al servizio oppure di modificare
quella precedentemente inoltrata. Infine, oltre alle informazioni relative ai
risultati verranno mostrate anche tutte le label associate ad essi, per
permettere di filtrarli secondo la categoria selezionata.
Un esempio della risposta di Google CSE ad una query inserita dall'utente
è mostrata nell'immagine 10, nella quale si può notare anche l'unica
differenza esistente nel layout dei risultati rispetto al servizio generalista di
Google, cioè quella legata al colore scelto per i link e per le descrizioni.
80
Caso d'uso: un portale per il risparmio energetico
Immagine 10: visualizzazione dei risultati di Google CSE.
Per consentire la ricerca tra le aziende registrate al social network è stato
implementato anche un motore di ricerca verticale interno al portale. Esso
permetterà all'utente di ricercare le aziende secondo il settore d'attinenza e
successivamente di visualizzarne il sito Web, se disponibile, oppure il
profilo interno. Inoltre sarà possibile accedere ai dati relativi ai contatti o
81
Caso d'uso: un portale per il risparmio energetico
alle informazioni riguardanti l'impresa desiderata. In figura 11 è
rappresentata l'interfaccia con la quale è possibile effettuare la ricerca
appena descritta.
Immagine 11: interfaccia per la ricerca delle aziende appartenenti ad un settore.
I dettagli relativi ad un'azienda verranno visualizzati in modo schematico
per permettere agli utenti di accedere facilmente alle informazioni legate al
contatto. Un esempio di questa visualizzazione è mostrata in figura 12.
Nello stesso modo saranno inseriti i dati anche all'interno del profilo
aziendale, nel quale sarà possibile inserire anche una breve descrizione
dell'azienda, per permettere al crawler di Google di ricercare le
informazioni anche all'interno del testo della pagina.
Immagine 12: dettagli relativi ad un'azienda.
Selezionando i collegamenti relativi ai settori presenti nel profilo aziendale,
si potranno ricercare le altre aziende registrate sul portale dello stesso
82
Caso d'uso: un portale per il risparmio energetico
campo, in modo da facilitare la ricerca delle imprese simili da parte
dell'utente.
Se un'azienda desidera registrarsi al social network dovrà accedere alla
pagina 'registrazione' ed inserire i dati relativi alla propria attività, ai propri
recapiti, e selezionare i settori relativi al risparmio energetico d'attinenza. In
figura 13 è raffigurata la prima parte dei dati richiesti al momento della
registrazione.
Immagine 13: inserimento dei dati relativi alla azienda al momento della registrazione.
Per evitare l'inserimento di dati errati all'interno della tabella 'azienda' del
database, sono stati implementati dei sistemi di controllo in Javascript che
impediscono di inviare richieste di registrazione se i campi 'username',
'password', 'nome azienda' sono vuoti. Inoltre si effettueranno dei controlli
sul possesso o meno di una pagina Web dell'impresa. Per questo sarà
richiesto di inserire una descrizione per il profilo o un url, in base alla
83
Caso d'uso: un portale per il risparmio energetico
scelta effettuata. Infine sarà effettuato un controllo in Ajax per la verifica
dell'username e del nome dell'impresa scelti, poiché questi parametri
serviranno ad identificare univocamente gli utenti e le loro aziende
all'interno del portale. Questo servirà, durante la registrazione, per
mostrare un messaggio d'errore non appena si inserissero dei valori già
presenti nel database nei campi univoci specificati in precedenza.
Successivamente verranno richiesti i contatti aziendali e i campi relativi alle
categorie dei prodotti o servizi offerti. In figura 14 è rappresentato un
esempio di inserimento di queste informazioni da parte di un'azienda.
Immagine 14: inserimento dei contatti aziendali al momento della registrazione.
In questa parte, non sono stati introdotti dei controlli in quanto i dati da
inserire non devono rispettare nessun vincolo particolare e sono facoltativi.
Per confermare la registrazione bisognerà premere sul bottone 'invia', a
questo punto bisognerà attendere l'approvazione da parte del gestore, anche
se sarà possibile utilizzare le credenziali immesse per accedere ai servizi
dedicati alle aziende o per modificare le proprie informazioni.
84
Caso d'uso: un portale per il risparmio energetico
Invece, per quanto riguarda l'utente gestore, il suo account sarà già attivo
senza bisogno di registrarsi. E' possibile inserire diversi utenti di questo tipo
nel portale, ma un utente non potrà essere sia aziendale sia amministratore.
I servizi messi a disposizione di questo particolare account sono accessibili
solo dopo essere entrati con le credenziali corrette. Dopo di che si potrà
selezionare dal apposito menu la possibilità di approvare o eliminare
un'azienda(ne è riportato un esempio in figura 16), inserire un nuovo settore
oppure aggiungere degli indirizzi esterni al dominio di ricerca.
Immagine 15: inserimento degli indirizzi esterni da parte del gestore.
Quest'ultimo servizio consentirà al gestore di avere il controllo anche sulle
ricerche degli utenti. Infatti se l'amministratore dovesse immettere alcuni
indirizzi di pagine che godono di un alto ranking in Google, essi avranno
maggiore probabilità di venire inseriti come primi risultati proposti da CSE.
Immagine 16: Approvazione da parte del gestore.
Per gestire la modifica del file xml di Google, si è scelto di implementare
un'applicazione apposita in php per permetterne uno sviluppo futuro anche
da parte di altre persone, in quanto è un linguaggio con licenza open source
ed è largamente utilizzato nella programmazione di pagine Web.
85
Caso d'uso: un portale per il risparmio energetico
3.2 Seconda sperimentazione
Nella seconda sperimentazione abbiamo implementato lo stesso portale
utilizzato dalle aziende inerenti al settore del risparmio energetico, ma si
sono aggiunte nuove funzionalità e servizi per la varie tipologie d'utenza.
Sicuramente la più importante tra le novità introdotte riguarda la possibilità
di permettere alle aziende di indicare una specializzazione del settore
d'attinenza e di inserire dei prodotti ad essa associati. Inoltre si dovrà
implementare un motore di ricerca interno specifico per i prodotti offerti
dalle imprese che permetta di filtrare i risultati in base a delle particolari
esigenze degli utenti. Alcuni esempi di filtri potrebbero essere quelli relativi
allo stato o alla città di residenza dell'azienda, il settore specifico di una
prestazione oppure il nome del produttore.
I risultati proposti da questa risorsa consentiranno all'utente di interagire
con le informazioni nei seguenti modi:
•
scaricando le informazioni dei contatti. Infatti dovrà essere
permesso il download della vcard aziendale contenente tutti i dati
relativi al fornitore del servizio, in modo da consentire un rapido
accesso alle informazioni principali anche sul proprio computer
senza interagire di nuovo con il portale;
•
inviando una mail al produttore. Questo servizio consentirà di
contattare rapidamente l'azienda produttrice per ulteriori dettagli
relativi al prodotto;
•
visualizzando la posizione della sede aziendale su Gmap.
Questo dovrà permettere agli utenti di avere delle informazioni
dettagliate riguardanti la posizione geografica della sede aziendale e
86
Caso d'uso: un portale per il risparmio energetico
di ottenere anche un itinerario completo per raggiungerla attraverso
i servizi offerti da Google map;
•
effettuando una ricerca di prodotti simili nel Web. Questo
servizio consentirà di effettuare ricerche specifiche riguardanti i
prodotti simili a quello preso in considerazione, attraverso Google
CSE o Yahoo BOSS;
•
visitando il sito Web dell'azienda produttrice. Utile per reperire
facilmente le informazioni che non sono contenute nel risultato
visualizzato.
Per consentire una ricerca più specifica delle informazioni contenute nelle
pagine Web aziendali si è deciso di utilizzare dei particolari tipi di
microformat. Per questo motivo queste strutture semantiche sono state
integrate nei profili creati dinamicamente dal portale per le aziende che
non possiedono un proprio sito Web.
Successivamente, si dovrà creare un servizio aggiuntivo apposito per
consentire anche alle imprese che possiedono già una propria pagina su
Internet di implementare i microformat.
Per quanto riguarda l'utente gestore rimarranno quasi immutati i sevizi a
cui potrà accedere, infatti bisognerà solo permettergli di inserire anche le
specializzazioni dei settori d'attinenza delle aziende.
Per questa sperimentazione si è scelto di utilizzare il servizio Yahoo BOSS
con l'ausilio di SearchMonkey per sfruttare le potenzialità offerte
dall'utilizzo dei microformat all'interno delle pagine Web. Per cui
l'inserimento di tutti i dati al momento della registrazione delle aziende
risulterà molto importante ai fini dell'implementazione di tutti i servizi offerti
dal portale. Questo perché tutte le informazioni verranno inserite all'interno
di particolari campi dei microformat in modo da essere poi richiamate al
momento della visualizzazione dei risultati tornati da Yahoo.
87
Caso d'uso: un portale per il risparmio energetico
3.2.1 Requisiti
Di seguito elencheremo solo i requisiti che sono stati aggiunti a quelli della
prima sperimentazione, in quanto quelli descritti in precedenza sono ancora
validi.
•
Classi d'utenza :
◦ Uguali alle precedenti
•
Funzioni richieste per ogni classe d'utenza:
▪ Aziende con sito web
◦ Possibilità di visionare i microformat
◦ Scelta di sotto-settori più specifici
◦ Inserimento dei servizi o prodotti offerti
◦ Inserimento dei prodotti nel motore di ricerca verticale
▪ Aziende senza sito web
◦ Scelta di sotto-settori più specifici
◦ Inserimento dei servizi o prodotti offerti
◦ Creazione di un profilo contenente i microformat
◦ Inserimento dei prodotti nel motore di ricerca verticale
▪ Gestore
◦ Inserimento dei sotto-settori specifici per ogni campo
▪ Tutti gli utenti
◦ Ricerca di prodotti o servizi
◦ Ricerche specifiche tramite Yahoo BOSS
◦ Accesso ai servizi supplementari associati ai prodotti
88
Caso d'uso: un portale per il risparmio energetico
3.2.2 Design preliminare
A differenza della prima sperimentazione, durante la registrazione, le
aziende potranno immettere anche i propri prodotti ed alcune informazioni
relative ad essi dopo averne scelto il settore d'attinenza all'interno di una
tassonomia a 2 livelli. I dati che si potranno includere saranno:
•
il Nome, relativo al servizio offerto. Esso potrà anche non essere
univoco in quanto alcune aziende possiedono prodotti i cui nomi non
sono specifici e quindi risultava inutile ai fini della successiva ricerca
differenziarli con sigle o codici;
•
una url pagina Web. Questa rappresenterà la pagina Web specifica
dedicata al prodotto, se disponibile, oppure l'indirizzo di una qualsiasi
documentazione legata ad esso, come ad esempio il pdf delle
istruzioni d'uso o delle specifiche tecniche.
•
L'url contenente l'immagine. Questo campo, anche se non
obbligatorio, sarà di fondamentale importanza per colpire l'attenzione
dell'utente che effettua una ricerca e per fornire una rapida
panoramica delle caratteristiche estetiche del prodotto.
•
La Descrizione. In questo campo si potranno inserire tutte le
informazioni aggiuntive che non è stato possibile immettere in
precedenza. In questo modo è stato ridotto il numero di campi da
compilare da parte delle aziende senza però diminuire il grado di
personalizzazione dei prodotti.
•
Il prezzo relativo al servizio immesso. Successivamente sarà
possibile effettuare delle ricerche in base al prezzo del prodotto,
quindi, pur non essendo un campo obbligatorio, rappresenta
un'informazione di fondamentale importanza per la descrizione del
prodotto stesso.
89
Caso d'uso: un portale per il risparmio energetico
Queste informazioni verranno inserite in un particolare microformat che verrà
immesso, insieme a quello relativo ai contatti aziendali, dentro tutti i profili
interni creati dinamicamente. Per permettere l'utilizzo di queste tecnologie
anche alle aziende che non necessitano della creazione di queste risorse (in
quanto ne possiedono già una) sarà implementato un servizio che mostrerà i
microformat, debitamente compilati, in un'apposita casella di testo. In questo
modo sarà possibile copiare il codice per poi inserirlo facilmente nelle pagine
Web in cui necessitano. In figura 17 è rappresentato lo use case che
sintetizza le nuove funzioni appena introdotte.
Immagine 17: Use case relativo alla seconda sperimentazione
90
Caso d'uso: un portale per il risparmio energetico
Se un'azienda non dovesse disporre di prodotti o servizi oppure non ne
ritenesse necessario l'inserimento nella base di dati del portale (ad esempio
per evitare frequenti aggiornamenti delle informazioni), potrà selezionare
solo il proprio settore oppure specificarlo con i relativi sotto campi senza
però inserire nessun tipo di informazione legata al prodotto.
Sarà invece possibile inserire diversi prodotti per ogni categoria selezionata
in modo da permettere all'azienda di presentare un'ampia gamma di servizi
offerti
anche
se
questi
non
si
differenziano
di
molto
da
quelli
precedentemente introdotti. Infine sarà consentito di inserire lo stesso
prodotto all'interno di diverse categorie se fosse necessario ai fini aziendali.
Immagine 18: Class diagram relativo alla seconda sperimentazione
91
Caso d'uso: un portale per il risparmio energetico
Per consentire il corretto funzionamento di Yahoo BOSS non è necessario
l'ausilio di un particolare file xml (come accadeva con CSE nella
sperimentazione precedente), in quanto bisogna inviare gli indirizzi del
dominio di ricerca all'interno di un particolare paramento tramite una
richiesta http. Si è introdotto un file di testo solo per memorizzare gli url
esterni inseriti dal gestore, poiché si è deciso di non immetterli nel
database per velocizzare l'operazione di lettura e scrittura.
Nel seguente deployment diagram è rappresentato lo schema funzionale
che si dovrà implementare per il corretto utilizzo dei servizi di Yahoo.
Immagine 19: Deployment diagram relativo alla seconda sperimentazione
92
Caso d'uso: un portale per il risparmio energetico
Nella richiesta a BOSS verrà specificato anche l'utilizzo del supporto di
SearchMonkey tramite un'apposita view, in modo da ricevere in risposta
anche i dati contenuti nei microformat presenti nelle pagine Web registrate e
nei profili creati.
Infine i risultati saranno inseriti in un particolare file xml che verrà
interpretato dall'applicativo presente sul web server. In questo modo si
potrà implementare un layout specifico per ogni tipo di risultato, mostrando
i prodotti ad esso associati e i contatti aziendali.
Per implementare la ricerca specifica dei prodotti e per ricevere i metadati
contenuti negli indirizzi del dominio di ricerca, si sarebbe potuto
implementare un servizio rest di SearchMonkey, a cui sarebbero stati
inviati gli indirizzi dei risultati tornati da BOSS. Quest'ultimo si sarebbe solo
occupato
di
tornare
Successivamente
un
ognuno
elenco
di
di risultati
questi
in base alla
sarebbe
stato
query.
rinviato
ad
un'applicazione SearchMonkey appositamente configurata in grado di
estrarre i dati dei microformat. Per evitare questo inutile giro di informazioni
e la conseguente perdita di tempo si è deciso di implementare Boss con
l'ausilio delle view 'SearchMonkey_feed'. In questo modo però si è
obbligati ad usare i microformat standard all'interno delle pagine Web e nei
profili per evitare la perdita delle informazioni.
Per quanto riguarda la ricerca implementata sui prodotti aziendali si è
deciso di effettuarla sul database e non di utilizzare un apposito servizio
SearchMonkey. In questo modo è stato possibile ricercare anche i prodotti
delle aziende che non avevano ancora inserito i microformat nella propria
pagina Web, per consentire loro di adeguarsi a queste tecnologie in modo
graduale senza escluderle dai risultati di ricerca.
Per permettere l'implementazione di questi servizi bisognerà quindi
modificare anche la struttura del database, perché sia compatibile sia con
le caratteristiche del portale precedenti sia con i nuovi servizi.
93
Caso d'uso: un portale per il risparmio energetico
3.2.3 Design di progettazione
Il database utilizzato per memorizzare i dati utilizzati dal portale è strutturato
secondo il seguente schema logico:
Immagine 20: diagramma logico del database relativo alla seconda sperimentazione
La struttura utilizzata nella sperimentazione precedente è stata mantenuta
ed è stata ampliata per permetterne l'utilizzo anche in questa. Dallo
schema in figura 20 si possono evincere facilmente le relazioni permesse e
le relative cardinalità:
•
Azienda – Prodotto. Sono in relazione 1 a N in quanto ogni
impresa potrebbe avere diversi servizi offerti o nemmeno uno. I
prodotti invece devono avere solo un'unica azienda associata. Per
consentire la comproprietà di un servizio è stata lasciata la
possibilità di reinserirlo nel database in associazione ad un'altra
azienda. Il portale li tratterà come 2 servizi distinti in modo da evitare
problemi di incoerenza dei dati relativi allo stesso oggetto.
94
Caso d'uso: un portale per il risparmio energetico
•
Settore – sotto settore. Anche in questo caso la relazione risulta
essere 1 – N, in quanto ogni campo potrà avere diverse
specializzazioni ed ognuna di queste potrà avere a sua volta solo un
settore generico a cui riferirsi. In questo modo si potrà costruire una
tassonomia a 2 livelli per inserire i prodotti aziendali. Questi ultimi
dovranno essere classificati all'interno di questa gerarchia in modo da
permettere l'implementazione della loro ricerca applicando un filtro
basato sull'ambito a cui si riferiscono.
•
Azienda – utente e Azienda – settore. Sono già state descritte nel
capitolo 3.1.3.
La tabella relativa alle informazioni dei servizi aziendali conterrà i seguenti
vincoli:
•
Nome azienda, Nome servizio. Questi valori saranno obbligatori, in
quanto serviranno per identificare un prodotto all'interno della base di
dati utilizzata. Potranno essere lunghi al massimo 255 caratteri
•
Id_campo e Id_sottocampo. Questi valori rappresentano la chiave
esterna associata alle tabelle legate alla categoria del prodotto offerto
dall'azienda. Per questo motivo si è scelto di assegnare una
lunghezza massima di 6 cifre e saranno obbligatori.
•
Indirizzi url. Considerato che questi indirizzi non saranno inviati al
servizio BOSS tramite richiesta http, è stata scelto di consentire un
massimo di 150 caratteri per l'indirizzo della foto e di 100 per quello
della pagina Web del prodotto, inoltre questi campi sono facoltativi.
•
Descrizione e prezzo. Questi parametri non saranno obbligatori e
dovranno attenersi ad una lunghezza massima di 2000 caratteri per il
primo e di 10 cifre per il secondo.
La chiave primaria di questa tabella sarà composta dal nome dell'azienda,
dalla categoria a cui si riferisce e dal indirizzo della propria pagina web in
95
Caso d'uso: un portale per il risparmio energetico
modo da consentire gli inserimenti dei dati relativi ai prodotti in comproprietà
e per permettere l'inserimento di prodotti aventi lo stesso nome oppure che
si riferiscono a diverse categorie.
Per consentire alle aziende di inserire i propri prodotti correttamente nella
base di dati del portale si dovranno apportare delle modifiche alla pagina di
registrazione implementata in precedenza. Infatti bisognerà creare una
gerarchia a 2 livelli in cui inserire i servizi offerti che sostituirà la semplice
scelta multipla del campo d'attinenza implementata in precedenza. In figura
21 sono riportate tutte le azioni che un'azienda con un proprio sito Web
dovrà effettuare per eseguire la nuova registrazione al portale.
Immagine 21: registrazione di un'azienda che possiede un proprio sito Web.
96
Caso d'uso: un portale per il risparmio energetico
Le differenze con il caso in cui l'azienda che effettua la registrazione non
avesse un proprio sito Web sono minime. Infatti se si verificasse
quell'eventualità,
l'applicativo dovrebbe occuparsi anche di creare il profilo
aziendale contenente tutti i dati relativi all'impresa e strutturati secondo gli
standard dei microformat scelti.
Per quanto riguarda il gestore, l'unico servizio che è stato implementato in
aggiunta alla sperimentazione precedente riguarda la possibilità di inserire
dei sotto settori al momento della creazione dei campi. In figura 22 è
mostrata la procedura de eseguire per accedere a questo servizio aggiuntivo
per il gestore.
Immagine 22: aggiunta di un settore e delle relative specializzazioni.
97
Caso d'uso: un portale per il risparmio energetico
In figura 23 è mostrata la procedura che viene attivata ad ogni ricerca
effettuata con il servizio Yahoo BOSS da parte di un utente.
Immagine 23: activity diagram relativo all'utilizzo del motore di ricerca di BOSS
98
Caso d'uso: un portale per il risparmio energetico
3.2.4 Design dei microformat
Dopo un'attenta analisi delle informazioni da inserire nelle pagine Web per
rappresentare l'azienda, i suoi contatti e i prodotti o servizi offerti, si è giunti
alla scelta dei tipi di microformat da usare.
A causa dell'elevato tempo di risposta che sarebbe stato necessario, non è
stata possibile l'implementazione di un'applicazione rest di SearchMonkey.
Quindi, considerato che si è obbligati ad usare Boss con la relativa view di
SearchMonkey si è reso necessario l'utilizzo di strutture semantiche
standard tra quelle riconosciute da Yahoo.
Tra i microformat supportati nativamente da BOSS sono stati scelti l'hcard,
per rappresentare le informazioni legate all'azienda e ai contatti, e Gr per
contenere le informazioni associate ai prodotti offerti.
Per quanto riguarda l'hcard verranno utilizzati i seguenti campi:
•
fn organization url. All'interno di questo marcatore inseriremo come
valore del parametro 'href' di un collegamento l'indirizzo del sito
aziendale, se disponibile, oppure quello del profilo creato all'interno
del portale. Inoltre bisognerà immettere anche il nome dell'impresa
come valore testuale del tag <a>;
•
fn n. In questo campo bisognerà immettere tutte l informazioni legate
al proprietario, come ad esempio il nome, il cognome oppure un
username legato a qualche social network.
•
Given – name. Sarà l'unico parametro che inseriremo nel tag 'fn n' in
quanto rappresenta il nome completo del titolare. Abbiamo escluso le
altre informazioni poiché non sono utili al fine di implementare un
servizio dedicato alle aziende. Si potrebbe utilizzare in futuro anche il
campo riguardante il nickname del proprietario presso il forum del
portale se se ne dovesse implementare uno.
99
Caso d'uso: un portale per il risparmio energetico
•
Adr. Indica la parte in cui verranno inseriti tutti i dati riguardanti i
recapiti
legati
in
qualche
modo
alla
persona
o
all'azienda
precedentemente descritte;
•
type. Indica la categoria delle informazioni contenute nel tag 'adr' del
microformat. Nel nostro caso abbiamo inserito 'work' in quanto i dati
saranno riferiti al recapito aziendale e
non abbiamo ritenuto
necessario inserirne altri riguardanti il domicilio del proprietario o di
qualche altra sede.
•
Street – address. Contiene l'indirizzo effettivo dello stabilimento
aziendale, composto da una stringa di testo contenente il nome della
via, del piazzale o del viale e da un campo numerico nel quale è
possibile inserire il numero civico;
•
locality. Anche lui è un sotto campo del tag 'adr' come i precedenti,
serve per indicare il nome della città in cui si trova la sede
dell'impresa.
•
Postal – code. Rappresenta il cap legato al paese dello stabilimento
aziendale;
•
country – name. Questo è l'ultimo sottocampo che verrà inserito nel
tag 'adr' e rappresenta il nome dello stato di residenza della sede.
Con tutti i parametri descritti fino ad ora si avrà la possibilità di
utilizzare ad esempio il servizio di Gmap per mostrare l'itinerario per
raggiungere il contatto rappresentato o la sua posizione geografica
corretta sulla cartina topografica mondiale.
•
Tel. Rappresenta i recapiti telefonici legati all'azienda. In questo tag si
può specificare il tipo di contatto nel sottocampo 'type',che ad
esempio potrà assumere uno dei seguenti valori: telefono, fax, casa,
lavoro oppure cellulare. Successivamente bisognerà inserire l'effettivo
numero telefonico all'interno del campo 'value'.
100
Caso d'uso: un portale per il risparmio energetico
•
Mail. Contiene il contatto relativo alla casella di posta elettronica
utilizzata dall'azienda per scambiare informazioni relative ai propri
prodotti con i clienti.
Queste informazioni saranno inserite nel microformat secondo questa
struttura:
Per quanto riguarda i dati relativi ai prodotti saranno inseriti in un
microformat Goodrelations e saranno utilizzati i seguenti campi:
•
gr:Offering. E' il tag principale che indica la presenza di un prodotto
all'interno della pagina. Tutti i campi e le informazioni saranno
inserite in questo tag. Inoltre se si devono inserire diversi prodotti
all'interno della stessa pagina bisognerà duplicare questa risorsa
per ogni prodotto che si vuole descrivere. Prima di specificare i
101
Caso d'uso: un portale per il risparmio energetico
campi e i relativi valori è necessario inserire la definizione del
namespace a cui essi si riferiscono in modo da consentire al crawler
di SearchMonkey di estrapolare in modo corretto le informazioni
contenute;
•
gr:HasPriceSpecification.
informazioni relative
Questo
campo
contiene
tutte
le
al prezzo del prodotto nelle varie valute
mondiali descritte attraverso i sotto tag gr:HasCurrency/Value e
gr:HasCurrency/Value;
•
gr:HasCurrency/Value. In questo parametro va inserito un valore
numerico float che indicherà il prezzo del prodotto descritto.
•
gr:HasCurrency. Contiene una sigla univoca di tre caratteri che
rappresenta una tra le valute mondiali alla quale il prezzo si riferisce.
Per il portale è stato scelto l'euro in quanto è la moneta corrente in
Italia e in Europa. Per future implementazioni sarà possibile inserire
anche la conversione in franchi svizzeri del prezzo. La lista completa
delle stringhe disponibili è descritta nella 'ISO 4217 Currency Code
List'.
•
Gr:IncludeObject. Contiene le informazioni generali relative al
prodotto descritto, come ad esempio il nome, una descrizione
sintetica oppure la categoria a cui si riferisce. Questi dati sono
inseriti attraverso i tag gr:typeOfGood, Rdfs:label e rdfs:comment.
•
Gr:typeOfGood. Indica la categoria generica del prodotto, ad
esempio se si stesse descrivendo una finestra, questo parametro
potrebbe assumere come valore la parola 'serramenti' o 'infissi'.
Questo campo non dovrà superare la lunghezza massima di 60
caratteri.
•
Gr:description. Contiene una descrizione più specifica del prodotto.
All'interno del portale si è deciso di associarla alla categoria, in
102
Caso d'uso: un portale per il risparmio energetico
modo da poter inserire la categoria relativa ai prodotti. Di fatto sarà
possibile inserire una tassonomia a due livelli per differenziare il
servizi offerti dalle aziende anche all'interno dei microformat. Il
gestore avrà il compito di scegliere una classificazione che assuma
significato anche all'esterno del portale in quanto i microformat
saranno interpretabili anche da altri servizi di ricerca.
•
Gr:ProductOrService. Serve a specializzare il tag Gr:IncludeObject
in quanto specifica che le informazioni in esso contenute saranno
relative ad un prodotto o ad un servizio e non, ad esempio, ad
un'azienda o ad un negozio.
•
Rdfs:label. Contiene il nome dell'oggetto a cui si riferiscono le
informazioni. L'informazione contenuta in questo campo non potrà
superare i 60 caratteri di lunghezza;
•
rdfs:comment. Esso dà la possibilità di inserire una breve
descrizione di 200 caratteri al massimo, in modo da poter descrivere
ulteriormente il prodotto con informazioni che non sono ancora
supportate dalla struttura del microformat.
•
Rdfs:seeAlso media:immage che conterrà l'url relativo ad un
immagine gif, jpg o png e il cui scopo sarà quello di rappresentare il
prodotto.
Questo campo è sottoposto a particolari vincoli, infatti
l'indirizzo non potrà superare i 200 caratteri e la foto dovrà misurare
al massimo 85 x 65 pixel.
•
Product:manufacturer.
Contiene
le
informazioni
legate
al
produttore ordinate secondo le specifiche della vcard descritte in
precedenza. Nel nostro caso si è deciso di inserire solo la parte
relativa al sito aziendale e al nome dell'impresa in quanto tutte l altre
informazioni sono già contenute nella pagina Web attraverso l'uso
del microformat vcard.
103
Caso d'uso: un portale per il risparmio energetico
•
Product: specification. Contiene l'indirizzo della pagina nella quale
sono riportate informazioni aggiuntive sul prodotto. Inoltre è anche
possibile inserire l'url relativo ad altre risorse, come ad esempio la
pagina contenente le faq con il tag 'Product: faq' oppure quella
relativa al manuale delle istruzioni d'uso con il campo 'Product:
manual'. Gli indirizzi inseriti dovranno attenersi al vincolo di
lunghezza massima di 200 caratteri.
Un esempio completo della struttura che questi campi dovranno seguire per
un corretto utilizzo è riportata nel seguente stralcio di codice:
I microformat descritti in questo capitolo verranno inseriti all'interno delle
pagine dei profili aziendali; per la modalità di visualizzazione di tali
informazioni si rimanda al capitolo successivo.
104
Caso d'uso: un portale per il risparmio energetico
3.2.5 Implementazione
Per configurare il servizio offerto da Yahoo si è scelto di implementare
un'interfaccia utente che permetta di configurare il dominio di ricerca in
base al bisogno, infatti sarà possibile limitarlo attraverso dei filtri. Essi
saranno basati sul settore aziendale in cui si vorranno effettuare le
ricerche, in questo modo il risultato finale sarà simile a quello offerto da
Google CSE con le label.
Per quanto riguarda i parametri inviati al servizio si è scelto di utilizzare il
formato xml per contenere i risultati restituiti e di non utilizzare nessun tipo
di filtro legato ai contenuti o alla regione di ricerca in quanto non necessari
per questa sperimentazione.
In futuro se si vorrà implementare anche la possibilità di selezionare la
lingua, si potrebbe impostare il filtro in base ad essa.
Infine si è impostata una paginazione di 10 risultati settando nel modo
opportuno i parametri count e start. In figura 24 è mostrata l'interfaccia
utente implementata per accedere al servizio di Yahoo.
Immagine 24: interfaccia per effettuare una ricerca con Yahoo BOSS
105
Caso d'uso: un portale per il risparmio energetico
L'elenco dei siti da inviare a BOSS tramite la richiesta http viene creato
dinamicamente dall'applicativo. Infatti questo preleverà la lista dei siti
appartenenti al settore scelto dal database attraverso un'apposita query.
Successivamente aggiungerà tutti gli indirizzi delle pagine Web riguardanti il
settore del risparmio energetico contenuti sul file di testo prodotto attraverso
l'account del gestore.
I risultati tornati da BOSS saranno visualizzati all'utente nel modo mostrato in
figura 25. Ogni result conterrà i seguenti parametri:
•
informazioni generali. Esse avranno il compito di fornire una
panoramica del risultato, in quanto presentano un estratto dalla
pagina del sito, il nome e l'indirizzo Web del risultato. Come si può
notare la visualizzazione è completamente diversa da quella proposta
da Google, in quanto questa è lasciata completamente alla fantasia
dello sviluppatore.
•
Keyterms. Queste informazioni reperite tramite la view apposita di
BOSS
sono
state
implementate
in
modo
da
permettere
di
specializzare la ricerca. Infatti saranno proposte all'attenzione
dell'utente come dei semplici link che una volta selezionati
modificheranno la query di ricerca del servizio aggiungendoci la
keyterms scelta.
•
Vcard aziendale. Questo servizio permetterà di scaricare sul proprio
computer la vcard relativa all'azienda selezionata. Questo file verrà
creato al momento dell'approvazione del gestore successiva alla
registrazione o alla modifica dei dati inseriti da parte delle imprese.
Queste risorse saranno nominate con il nome dell'azienda che
rappresentano, quindi sarà possibile permetterne il download
semplicemente reindirizzando l'utente alla vcard desiderata attraverso
il seguente link:
<a href='Indirizzo server/vcard/NOME AZIENDA.vcf '>
106
Caso d'uso: un portale per il risparmio energetico
Immagine 25: visualizzazione dei risultati tornati da BOSS
Invece utilizzando BOSS con l'ausilio di SearchMonkey attraverso l'uso
della view 'SearchMonkey_feed' la visualizzazione dei risultati tornati sarà
più completa. Infatti si potranno inserire ulteriori informazioni oltre a quelle
precedenti come ad esempio la visualizzazione dei prodotti offerti
dall'azienda con le relative informazioni ( ne è un esempio la figura 26 )
oppure la possibilità di visualizzare la mappa con l'itinerario per
raggiungere la sede aziendale o il negozio autorizzato alla vendita.
Nel portale si utilizzerà la visualizzazione dei risultati contenente i prodotti
qualora se ne presentasse uno avente delle informazioni sui servizi offerti
dall'impresa. In alternativa si mostreranno nel modo illustrato in figura 25.
Infine si è scelto di non modificare il ranking dei risultati proposti da BOSS
per evitare ulteriori incrementi del tempo di risposta dovuti sia all'attesa
delle numerose richieste in parallelo da effettuare al servizio di Yahoo, sia
107
Caso d'uso: un portale per il risparmio energetico
all'interpretazione dei xml ricevuti, sia all'eliminazione dei risultati
eventualmente ripetuti e alle politiche di ordinamento scelte.
Immagine 26: visualizzazione dei risultati tornati da BOSS con l'ausilio di SearchMonkey.
I dati aggiuntivi mostrati nella precedente immagine, rispetto a quella
mostrata in figura 25, sono permessi grazie alle informazioni aggiuntive
ritornate nel xml dei risultati da BOSS se si utilizza la view di
SearchMonkey. Infatti verranno inseriti tutti i dati contenuti dai microformat
presenti nella pagina Web relativa al risultato. Queste informazioni
possono rappresentare una vcard, un prodotto o un qualsiasi metadato
supportato
da
SearchMonkey.
Un
esempio
delle
informazioni
supplementari inserite nel file dei risultati è mostrato in figura 27 nella
quale è riportato uno stralcio del xml ricevuto in risposta da BOSS,
contenente i dati relativi ad un microformat gr.
Inoltre, utilizzando questo servizio si potrebbe evitare la memorizzazione
delle vcard aziendali sul server, in quanto, tutti i dati necessari sarebbero
contenuti nel xml dei risultati, rendendo di fatto possibile la creazione
dinamica del
file contenente i recapiti dell'impresa. Quest'ultima
108
Caso d'uso: un portale per il risparmio energetico
eventualità non è stata implementata nel portale perché la possibilità di
visualizzare e scaricare la vcard delle aziende è presente in diverse pagine
del progetto. Inoltre non si sapeva a priori se le aziende registrate
avessero aggiornato il proprio sito Web con i microformat e se il crawler di
Yahoo contenesse già i dati necessari. Quindi per fare in modo che le
aziende e i relativi dati fossero presenti da subito nel motore di ricerca è
stato scelto di non implementare la creazione dinamica delle vcard
aziendali.
Immagine 27: stralcio di xml contenente i dati tornati da BOSS con la view di SearchMonkey
Un altro tipo di ricerca è stato implementato sfruttando i dati memorizzati
nel database del portale. Infatti si voleva concedere la possibilità di
ricercare velocemente i prodotti aziendali offerti attraverso dei particolari
filtri senza attendere il tempo di risposta di BOSS e quello relativo
all'interrogazione di un servizio rest apposito di SearchMonkey per ogni
risultato proposto dal motore di ricerca precedente. Per questo motivo è
109
Caso d'uso: un portale per il risparmio energetico
stato implementato un motore di ricerca in grado di ordinare e filtrare i
risultati attraverso la seguente query:
Da questa richiesta otterremo in risposta una lista di elementi che
conterranno le informazioni evidenziate in verde, successivamente esse
verranno visualizzate nel modo rappresentato in figura 28. I parametri
evidenziati in blu rappresentano i campi che verranno utilizzati per attuare i
filtri immessi dell'utente, rappresentati a loro volta dalle variabili evidenziate
in rosso. E' possibile modificare l'ordine con cui vengono presentati i
risultati semplicemente settando i parametri mostrati nella parte inferiore
dell'interfaccia messa a disposizione dell'utente.
Per quanto riguarda il layout dei risultati si è cercato di implementare
un'interfaccia simile a quelle implementabili attraverso i servizi messi a
disposizione da SearchMonkey. Infatti verranno presentati innanzitutto i
dati rilevanti, cioè quelli con cui è consentito impostare il filtro e
successivamente la foto del prodotto e la sua descrizione. Infine verranno
inseriti alcuni servizi aggiuntivi legati al prodotto e all'azienda produttrice.
110
Caso d'uso: un portale per il risparmio energetico
Immagine 28: visualizzazione dei prodotti restituiti dalla ricerca nel database
Attraverso questi servizi aggiuntivi sarà possibile inviare una mail
all'azienda produttrice, per chiedere ulteriori dettagli riguardo al prodotto
selezionato, oppure scaricare tutti i recapiti aziendali nel formato vcard.
Questo per consentire agli utenti di contattare l'impresa nel modo
desiderato o per poter salvare queste informazioni sul proprio computer in
modo semplice e veloce.
Inoltre si potrà ricercare nel Web prodotti simili a quello proposti nel
risultato visualizzato al fine di confrontare le caratteristiche o il prezzo dei
prodotti offerti con quelli di altri fornitori. Per far questo si è implementato,
attraverso un link, un servizio in grado d'inviare una query a Google
contenente la categoria a cui si riferisce il prodotto selezionato.
Infine, si è creato, attraverso le API fornite da Gmap, un servizio in grado
di mostrare la posizione geografica di un'azienda. In questo modo sarà
possibile anche accedere all'itinerario per raggiungerla. Per poter
implementare questo servizio si è dovuta includere la libreria di funzioni,
offerte
da
Google
map,
reperibile
a
questo
indirizzo:
http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=App_id .
111
Caso d'uso: un portale per il risparmio energetico
Successivamente sarà possibile utilizzare il seguente stralcio di codice per
ottenere le coordinate corrette della longitudine e latitudine della sede
aziendale.
Infine, tramite questi valori numerici, si potrà visualizzare sulla mappa un
puntatore e alcune informazioni riassuntive relative all'impresa, come
mostrato in figura 29.
Immagine 29: visualizzazione della posizione geografica di un'azienda
112
Caso d'uso: un portale per il risparmio energetico
Attraverso il servizio concesso da Gmap è possibile accedere al sito Web
di Google per ottenere le indicazioni stradali relative all'itinerario proposto
per raggiungere la sede aziendale.
Per consentire alle imprese di inserire i propri prodotti scegliendone la
categoria, nella tassonomia composta da 2 livelli, è stata necessaria la
modifica della pagina della registrazione. Per questo motivo si è
implementata un'ulteriore parte in cui verranno chieste queste informazioni
(mostrata in figura 30).
Immagine 30: settore della pagina per la registrazione dedicato alle informazioni dei servizi
Questo nuovo settore, creato all'interno della pagina relativa alla
registrazione da parte delle aziende, possiede numerosi controlli
Javascript
utili per evitare l'inserimento di dati errati da parte delle
imprese. Inoltre sarà implementato, sempre attraverso degli script, un
sistema che consentirà l'inserimento di numerosi servizi all'interno sia della
stessa, sia di diverse categorie. Quest'ultimo creerà o eliminerà
dinamicamente le caselle di testo dedite all'immissione dei dati relativi ai
servizi aziendali in base alla scelta dell'utente. Per questo motivo sono stati
113
Caso d'uso: un portale per il risparmio energetico
creati due pulsanti per consentire l'aggiunta di un nuovo prodotto o la
rimozione di uno precedentemente inserito.
Sono state apportate modifiche anche alle pagine contenenti i profili delle
aziende che non possiedono una propria pagina Web. Infatti sono stati
aggiunti i microformat relativi alle informazioni legate all'impresa e ai
relativi servizi offerti.
Inoltre sono state aggiunte le possibilità di scaricare la vcard aziendale e di
visualizzare la mappa recante la posizione dello stabilimento o del negozio
descritto nella pagina Web. In figura 31 è riportato un esempio completo
riguardante il nuovo layout utilizzato nei profili interni creati dal portale.
Immagine 31: visualizzazione dei profili aziendali contenenti i microformat
Invece, per consentire l'utilizzo dei microformat alle aziende che già
detengono una propria pagina Web contenente le proprie informazioni e i
114
Caso d'uso: un portale per il risparmio energetico
propri prodotti, è stata introdotta la possibilità di accedere, tramite le
proprie credenziali, ad un apposito servizio.
Questo consentirà all'impresa di visualizzare i microformat contenenti le
proprie informazioni in un'apposita casella di testo. In tal modo sarà
possibile copiarli e inserirli nelle proprie pagine Web in modo semplice e
veloce. E' riportato un esempio di tale servizio in figura 32.
Immagine 32: visualizzazione dei microformat per le aziende con un proprio sito Web.
Per quanto riguarda l'utente gestore, l'interfaccia è rimasta quasi
totalmente invariata. Infatti è stato aggiunto solo un servizio per consentire
l'inserimento dei settori e dei relativi sotto campi.
115
Caso d'uso: un portale per il risparmio energetico
Anche in questa pagina sono stati inseriti dei controlli in Javascript per
evitare l'immissione di dati duplicati o errati. Inoltre, sempre attraverso l'uso
di script, è stata implementata la possibilità di inserire diversi sotto campi
per ogni settore in caselle di testo create dinamicamente dall'applicativo.
L'interfaccia utente utilizzata per presentare questo nuovo servizio al
gestore è rappresentata in figura 33.
Immagine 33: interfaccia relativa al servizio per l'aggiunta dei settori e sotto settori.
Per accedere a tutti i servizi personalizzati per gli utenti del portale
bisognerà usare le proprie credenziali e selezionare tra i servizi proposti
quello desiderato.
Infine, per facilitare il confronto tra BOSS e CSE, i servizi di custom search
sono stati implementati in contemporanea nella stessa pagina del portale.
Per questo motivo sono state effettuate anche alcune scelte legate alla
struttura
del
database
per
consentirne
l'utilizzo
da entrambe
le
applicazioni. Inoltre è stato utilizzato il file xml, che era stato creato
appositamente per Google CSE, anche per attingere gli indirizzi delle
pagine inserite dal gestore necessarie per la configurazione del dominio di
ricerca di BOSS.
116
Caso d'uso: un portale per il risparmio energetico
Capitolo 4:
Conclusioni finali
4.1 Prefazione
In questo capitolo trarremo le conclusioni dal lavoro di ricerca e di
sperimentazione svolto fino ad ora, analizzando scrupolosamente i servizi
utilizzati. Inoltre cercheremo di derivare dalle nostre analisi anche un
modello ideale di servizio, di cui auspichiamo la presenza nel panorama
mondiale per consentire alle aziende di implementare un proprio motore di
ricerca veloce ed efficace.
Infine, prima di mostrare tutta la bibliografia utilizzata come supporto,
faremo delle considerazioni riguardo agli sviluppi futuri e ai servizi
aggiuntivi
che
si
potranno
implementare
nel
portale
preso
in
considerazione nelle nostre sperimentazioni.
Gli argomenti analizzati in quest'ultima parte sono emersi durante l'analisi
delle informazioni tratte dalle seguenti attività:
•
studio delle problematiche aziendali. Questa fase ci ha permesso
innanzitutto di focalizzare l'attenzione sulle vere problematiche
aziendali legate al contesto dei motori di ricerca, in modo da poter
proporre una soluzione che miri a risolverne la maggior parte. Inoltre
si sono potuti carpire i principi fondamentali che hanno portato due
delle più importanti imprese di motori di ricerca come Google e
117
Conclusioni finali
Yahoo a creare dei servizi innovativi per accaparrarsi il settore del
custom search.
•
Analisi delle soluzioni disponibili. In questa parte del nostro
studio abbiamo potuto entrare in contatto con alcuni servizi
innovativi
che,
potenzialmente,
indicheranno
la
strada
per
intraprendere un nuovo tipo di ricerca sul Web, basata su significati
semantici e sulla possibilità di manipolare il dominio di ricerca.
•
Confronto tra i servizi proposti. In questo modo si è potuto
approfondire ulteriormente lo studio delle caratteristiche di ogni
servizio creato per effettuare ricerche personalizzate, in modo da
riuscire a tracciare delle direttive per realizzare un prodotto per le
aziende in grado di risolvere alcuni dei maggiori problemi legati a
queste nuove tecnologie.
•
Sperimentazioni. In questa fase si sono potute testare le risorse
studiate in precedenza in modo da analizzare le limitazioni
implementative ad esse legate e di applicare concretamente le
tecnologie descritte. Infatti, durante queste prove, si sono scoperti
alcuni limiti legati all'integrazione con la tecnologia utilizzata sul
proprio Web server, come ad esempio il tempo di risposta effettivo
dei servizi o il metodo di gestione dei risultati.
•
Analisi dei risultati ottenuti. Questa costituisce l'ultima tappa della
ricerca effettuata in questa tesi, ma non la meno importante anzi,
risulta di fondamentale importanza in quanto rappresenta la sintesi
del contributo apportato dal nostro lavoro.
Per tutti questi motivi il presente capitolo servirà a dettagliare il lavoro
svolto riassumendo tutti i contributi fondamentali emersi durante lo studio
dei servizi custom search.
118
Conclusioni finali
4.2 Considerazioni sui servizi analizzati
Durante l'analisi e la sperimentazione delle tecnologie offerte da Google e da
Yahoo sono emerse alcune analogie ma anche molte differenze. Sfruttando i
dati raccolti cercheremo di proporre dei consigli utili all'implementazione di
un servizio completo e facile da utilizzare in sostituzione di quelli attualmente
disponibili.
A fine paragrafo sarà proposta una tabella riassuntiva contenente tutte le
informazioni che andremo a disquisire di seguito:
•
Il modo in cui sarà reso disponibile agli sviluppatori. In questo
senso, sia Google, sia Yahoo, hanno utilizzato dei metodi
completamente differenti. Infatti Boss e SearchMonkey sono stati
sviluppati come delle risorse di tipo rest, cioè reperibili solo
attraverso delle richieste http, in modo da essere facilmente
configurabili attraverso l'uso di semplici parametri (come ad esempio
l'elenco delle pagine Web da comprendere nel domino di ricerca
oppure alcuni particolari filtri). In questo modo, come abbiamo
potuto osservare nel corso delle sperimentazioni, si è ottenuto il
vantaggio di poter cambiare configurazione dinamicamente in base
alla tipologia di ricerca effettuata dall'utente. Di contro si sono
evidenziati notevoli svantaggi legati al tempo di risposta del servizio
e alla limitazione dei parametri passabili attraverso richiesta http pari
a 8178 caratteri. D'altra parte CSE consente di salvare l'elenco degli
indirizzi utilizzabili per la ricerca e alcuni parametri di configurazione
direttamente all'interno di un file xml, in modo da porre un limite di
url molto superiore: almeno di 5 volte maggiore rispetto a quello
consentito da Boss. Purtroppo però questo dominio non potrà
essere aggiornato dinamicamente in quanto l'xml viene processato
119
Conclusioni finali
dai server di Google in intervalli prestabiliti e non al momento della
richiesta da parte dell'utente. Un servizio ideale dovrebbe garantire
tutte le caratteristiche positive descritte in precedenza cercando di
offrire un servizio configurabile dinamicamente, magari con dei
parametri recuperati dall'interfaccia utente, senza però avere delle
limitazioni dovute alla richiesta http, sui parametri passabili. Per
questo motivo si potrebbe implementare una risorsa che permetta di
effettuare l'invio di un file contenente l'elenco degli url in cui essa
dovrà effettuare la ricerca. In questo modo non si avranno ritardi
dovuti all'estrazione delle informazioni in quanto l'elenco sarà già
ottimizzato secondo uno standard stabilito al momento della
creazione del servizio.
•
Tipo di ricerca. In questo frangente sia CSE che BOSS effettuano
questa operazione solo all'interno del contenuto testuale della
pagina
senza
informazioni
assegnare
recuperate
nessun
dai
significato
crawler.
D'altra
semantico
parte
alle
invece,
SearchMonkey indicizza i dati inseriti nei microformat in modo più
intelligente, cioè classificando le informazioni da essi contenute in
base al tipo di
struttura utilizzato o all'oggetto rappresentato. In
questo modo sarebbe possibile effettuare ricerche filtrando i risultati
in base al valore di particolari dati, come ad esempio in base al
prezzo o alla zona di vendita. Il problema principale dei servizi
analizzati durante la nostra esperienza è proprio legato a questa
caratteristica che non è stata implementata in alcun modo. Infatti,
basti pensare che Google non considera minimamente l'importanza
di queste strutture semantiche all'interno delle pagine Web, poiché
non le classifica e non offre nessun servizio in grado di estrarle.
Boss permette di ricevere i dati relativi ai microformat, però non
permette di effettuare ricerche o filtri con essi. Pertanto, prima
120
Conclusioni finali
esegue la scelta e l'ordinamento dei risultati da proporre, in base
all'attinenza con la query inserita dall'utente rispetto al contenuto
delle pagine Web presenti nel dominio di ricerca, e solo
successivamente, attraverso la view di SearchMonkey, associa al
result tutte le informazioni relative alle strutture semantiche presenti
nella pagine Web del risultato stesso. In questo modo si ottengono
molte più informazioni rispetto al servizio offerto da Google, ma la
ricerca effettuata non dipende in alcun modo dai microformat inseriti
nelle pagine Web o dal loro contenuto. Per risolvere questo
problema si deve implementare un'applicazione appositamente
studiata per riordinare o filtrare i risultati restituiti da Boss in base ai
valori contenuti nei campi dell'xml relativi ai metadati associati dal
servizio al risultato proposto. Questo metodo presenta il grande
svantaggio di aumentare drasticamente il tempo di risposta del
motore di ricerca in seguito ad una query effettuata da un utente.
Per tutti questi motivi un servizio ideale dovrebbe consentire anche
di creare anche dei range di valori per alcuni campi dei microformat
più utilizzati, in modo da poter effettuare delle ricerche prendendo in
considerazione delle informazioni supplementari oltre alla semplice
query testuale. Logicamente quest'ultima considerazione potrebbe
rivelarsi utopica in quanto probabilmente bisognerebbe modificare
drasticamente il sistema di indicizzazione delle informazioni da parte
dei crawler, cercando di porre maggior attenzione a quei determinati
valori. Inoltre bisogna considerare che in pochissime pagine Web
sono integrate queste strutture semantiche quindi non si può
implementare un servizio che funzioni solo per una ristretta cerchia
di risorse Web. Ipotizzando che nei prossimi anni i microformat si
diffondano in modo da essere presenti nella maggior parte dei siti
Web aziendali e privati, un servizio concepito nel modo appena
descritto potrebbe ottenere numerosi consensi da parte degli
121
Conclusioni finali
sviluppatori e delle imprese desiderosi di implementare dei servizi
di ricerca basati su queste tecnologie.
•
Il ranking dei risultati proposti. I servizi per la selezione dei
risultati e per il loro ordinamento sono stati concepiti in maniera
differente da Google e Yahoo. Infatti il primo non permette nessuna
modifica del ranking che propone allo sviluppatore, se non la
concessione di una piccola promozione verso l'alto di alcune pagine
attraverso un parametro ad esse assegnato al momento della
definizione del dominio di ricerca. In questo modo si è semplificato il
compito degli sviluppatori in quanto basterà preservare uno spazio
per la visualizzazione dei risultati in una pagina Web e del resto si
occuperà il servizio. Yahoo Boss,
invece, permette il completo
riordinamento dei risultati attraverso un'applicazione apposita in
quanto la visualizzazione dei risultati va gestita dello sviluppatore. In
questo frangente non si può dire quale dei due metodi sia il migliore,
poiché dipende fortemente dal contesto in cui si vogliono utilizzare.
Ad esempio un'azienda che non possiede personale in grado di
gestire un Web server o un applicativo in php, sicuramente preferirà
un servizio simile a quello di Google mentre invece un'impresa che
dispone di un programmatore o vuole avere il controllo sui risultati
visualizzati dal proprio motore di ricerca sceglierà una risorsa uguale
a Boss.
•
La visualizzazione dei risultati particolari e le informazioni
relative ad ognuno di essi. Anche in questo frangente i servizi
analizzati propongono due approcci completamente differenti. Infatti
Google consente di mostrare i risultati proposti solo in modo
classico, ovvero un collegamento ad una pagina Web, una breve
descrizione e poco altro, qualunque sia il tipo di risultato da
presentare. D'altro conto, Yahoo permette attraverso Boss di
122
Conclusioni finali
implementare un proprio layout dei risultati in modo da lasciare un
ampio grado di libertà agli sviluppatori. Queste soluzioni presentano
notevoli svantaggi, ad esempio la prima non permette di visualizzare
delle informazioni aggiuntive (in grado di aiutare l'utente nella
selezione del risultato che più lo soddisfa), mentre la seconda
obbliga un'impresa ad assumere un Web designer o una figura
simile per le difficoltà di gestione della la paginazione dei risultati e
del layout desiderato per ognuno di essi. Per un servizio ideale si
potrebbero implementare delle maschere predefinite, utilizzabili per
dei particolari tipi di dati. In questo senso si sono prodigate sia
Google, sviluppando dei layout particolari per i risultati contenenti
esclusivamente
immagini
o
video,
sia
Yahoo
che
con
SearchMonkey consente la creazione di particolari maschere
utilizzabili però solamente all'interno delle pagine personali dei
clienti registrati al sito del motore generalista offerto da questa
azienda. L'implementazione di particolari tipi di maschere dedite alla
visualizzazione dei dati standard potrebbe essere molto utile in
quanto si potrebbero diversificare i risultati in base alla categoria. Ad
esempio si potrebbe scegliere di effettuare delle ricerche solo tra i
prodotti o tra le aziende, proponendo come risultati delle maschere
in grado di visualizzare i dati relativi ai microformat gr per il primo
caso e vcard per il secondo. Anche in questo caso si potrà attivare
questo servizio solo dopo aver inserito nella maggior parte dei siti
interessati le strutture semantiche precedentemente descritte.
•
La creazione di nuovi tipi di microformat. Questa possibilità
attualmente viene concessa solo da SearchMonkey, che permette di
definire un'applicazione rest in grado di estrarre dei dati dalle pagine
Web anche se non sono contenute in microformat standard.
Purtroppo questo servizio presenta una pesante limitazione, infatti
123
Conclusioni finali
consente di utilizzare l'applicazione creata solo nelle pagine i cui gli
indirizzi
sono
stati
specificati
al
momento
della
creazione
dell'applicazione SearchMonkey. La stessa risorsa permette anche
la creazione di una maschera per la visualizzazione dei metadati
precedentemente estratti. Anche questo servizio è messo a
disposizione solo per gli utenti che effettuano una ricerca all'interno
della propria pagina personale di Yahoo. Per questi motivi la
creazione di un nuovo microformat è consentita ma ne rende
praticamente impossibile un utilizzo diffuso nel Web: se si tentasse
di usare la stessa struttura semantica in una pagina non contenuta
nel 'trigger domain' dell'applicazione, essa non verrebbe attivata nel
momento dell'estrazione dei dati che quindi non verrebbero
indicizzati. Dal nostro punto di vista un servizio di ricerca nel Web
dovrebbe consentire la creazione delle strutture in grado di
contenere dei dati specifici in quanto i microformat standardizzati
presenti attualmente non sono in grado di coprire tutti le categorie di
oggetti o risorse presenti nelle pagine Web mondiali. Logicamente i
nuovi tipi di microformat e le relative applicazioni per estrarli dalle
pagine dovrebbero essere attivati sui motori di ricerca generalisti
solo dopo essere stati approvati e testati da una commissione di
esperti in modo da evitare la diffusione di migliaia di standard diversi
che rappresentano lo stesso prodotto o servizio.
•
Le risorse messe a disposizione. In questo contesto Google offre
servizi migliori rispetto a Yahoo. Infatti quest'ultimo presenta solo un
servizio di correzione sintattica della query di ricerca digitata
dall'utente. Google invece permette di implementare dei servizi in
grado di consigliare all'utente ricerche più specifiche o addirittura di
riscrivere la query in base alle parole digitate nella ricerca. Queste
risorse sono attuate attraverso dei particolari tipi di label. Inoltre
124
Conclusioni finali
Google
fornisce
delle
funzioni,
richiamate
automaticamente
dall'interfaccia di ricerca, in grado di effettuare il controllo sintattico
della stringa di richiesta inviata dall'utente. Migliorare gli aspetti di
questi servizi di supporto proposti da Google risulta difficile, quindi in
un'ipotetica risorsa per la ricerca sul Web dovrebbero essere
presenti delle risorse simili a queste, implementate in modo da
consentirne la scelta all'interno della propria pagina Web da parte
dello sviluppatore.
•
I servizi aggiuntivi che si possono implementare ai risultati.
Nella seconda sperimentazione si è implementato una risorsa in
grado di mostrare i dati relativi ai prodotti e alcuni servizi aggiuntivi
associati al risultato proposto. Si può notare facilmente che risorse
di questo tipo (come ad esempio quella che permette di visualizzare
la posizione della sede aziendale su una mappa geografica oppure
quella che consentiva di inviare una mail direttamente al produttore),
sono molto utili perché in grado di facilitare la navigazione agli utenti
che necessitano di tali servizi. Per questo motivo si potrebbero
creare dei servizi 'standard' da associare ai diversi tipi di risultati
ritornati dal motore di ricerca. Alcuni esempi di queste risorse di
default potrebbero essere: un collegamento a Gmap per i risultati
relativi alle aziende, un servizio per la conversione delle valute per i
prodotti, un collegamento ad un social network per i dati relativi ad
una persona oppure una risorsa per la conversione di formato di un
file se si tratta di un risultato relativo a dei documenti. Tra i servizi
analizzati solo Yahoo con SearchMonkey ha provato a consentire
dei servizi aggiuntivi per particolari tipi di risultati. Rimane però il
problema legato alla visibilità infatti tali servizi saranno ancora
utilizzabili solo dagli utenti registrati al portale di Yahoo nelle proprie
pagine personali. Google invece si è limitata ad aggiungere, solo nel
125
Conclusioni finali
proprio servizio generalista, la possibilità di visualizzare la mappa
contenente la posizione geografica corretta se il risultato si riferisce
ad un indirizzo specifico.
•
Interfaccia utente. Questa caratteristica risulta di fondamentale
importanza per un servizio in quanto permette di definire tutti i
parametri che esso riceverà in ingresso. In un servizio ideale
l'interfaccia utente dovrebbe essere come quella offerta da Gmap,
cioè a blocchi. In questa risorsa, utilizzabile tramite Javascript, è
possibile selezionare i servizi che si vogliono concedere all'utente
aggiungendoli a quello base offerto di default. Ad esempio alla
cartina mostrante la posizione dell'indirizzo inserito si possono
aggiungere: una casella di testo per consentire la visualizzazione di
un altro punto sulla carina, lo zoom per permettere la modifica del
livello di dettaglio voluto sulla mappa visualizzata oppure un
etichetta di testo che rappresenta in modo schematico la posizione
del puntatore nella cartina politica. Seguendo l'esempio di Gmap un
motore di ricerca dovrebbe presentare di default una casella di testo
per inserire la query di ricerca e un pulsante per inviarla, inoltre lo
sviluppatore potrebbe scegliere quali servizi supplementari mostrare
tra i seguenti: un sistema per consentire la scelta tra la ricerca nel
Web o in un dominio ristretto di siti, un interfaccia a scelta multipla
per consentire la selezione dei settori (le label per Google) in cui
ricercare, un elenco per selezionare i filtri sui contenuti desiderati
oppure una casella di testo per aggiungere ulteriori dettagli alla
query inserita. Inoltre, se supportati, si potrebbero creare dei campi
in cui introdurre dei vincoli o dei valori relativi ai microformat più
importanti.
Dando la possibilità di immettere questi parametri
direttamente nell'interfaccia del servizio si potranno implementare
anche dei controlli in Javascript per evitare l'inserimento di dati errati
126
Conclusioni finali
senza complicare l'implementazione del servizio da parte delle
aziende.
•
Prezzo. Google propone gratuitamente il proprio servizio in quanto
guadagna attraverso l'inserimento di spazi pubblicitari all'interno
delle pagine in cui verranno mostrati i risultati. Yahoo invece
concede a pagamento il proprio servizio per gli utenti che effettuano
più di 10000 richieste giornaliere. Una risorsa ideale dovrebbe
essere completamente gratuita se utilizzata per fini inerenti la
ricerca e lo sviluppo, e a pagamento per gli utenti che la
implementano per scopi commerciali o privati nella propria pagina
Web. Questi costi potrebbero essere annullati tramite l'immissione di
pubblicità all'interno dei siti Web che decidono di implementare il
motore di ricerca, concedendo comunque la scelta relativa al
metodo di pagamento desiderato.
•
Integrazione con il motore di ricerca generalista. Sia Google, sia
Yahoo considerano i propri servizi di custom search come delle
risorse completamente indipendenti rispetto al proprio motore di
ricerca generalista. Questo rappresenta uno svantaggio soprattutto
per
le
imprese
che
desiderano
implementare
dei
servizi
personalizzati con caratteristiche innovative. Basti pensare alle
aziende che creano un'applicazione SearchMonkey per estrarre i
propri microformat. Inoltre, in questo modo si rallenta anche lo
sviluppo delle nuove tecnologie in quanto si diffonderanno solo le
strutture semantiche già presenti e standardizzate e non quelle
sperimentali che magari si prestano meglio ai contesti aziendali. Per
questi motivi un servizio di custom search dovrebbe consentire
anche alle componenti create dagli utenti, sempre dopo un'attenta
analisi, di interagire con il motore di ricerca generalista.
127
Conclusioni finali
Le considerazioni descritte in precedenza sono relative ad un servizio di
custom search ideale e quindi difficilmente realizzabile attualmente perché
la diffusione dei microformat è minima. Inoltre i crawler dei principali motori
di ricerca sono stati implementati e ottimizzati per l'indicizzazione e la
ricerca di contenuti testuali e quindi difficilmente mutabili in favore di una
ricerca semantica basata su valori numerici o alfanumerici. In tabella 3
mostreremo un riassunto delle considerazioni discusse in questo capitolo.
Proprietà
Descrizione
Tipo di
ricerca
Ricerca consentita sia tra i contenuti testuali della pagina
sia all'interno dei dati inseriti nei microformat più
importanti e conosciuti, implementando dei filtri o delle
classificazioni in base al valore da essi contenuti. Inoltre
dovrà rendere possibile sia la ricerca nel web sia la
ricerca in un dominio ristretto di siti Web.
Risorse
disponibili
Tutti i servizi per aiutare l'utente nella ricerca, cioè:
controllo sintattico oppure suggerimenti di ricerca in base
alle parole inserite, per specificare al meglio la richiesta
effettuata.
Su di un file xml contenente tutte le informazioni
richieste, lasciando la scelta del layout al programmatore,
Visualizzazio
oppure visualizzate automaticamente dal servizio in modo
ne dei
intelligente, cioè con maschere predefinite in base al tipo
risultati
di risultato mostrato oppure con servizi aggiuntivi in base
al contenuto del risultato proposto.
Dati
Supportati
Tutti i tipi di microformat standardizzati con la possibilità
di aggiungerne di nuovi, proposti dagli utenti, dopo averli
esaminati e confrontati con quelli già esistenti per evitare
di far creare agli utenti sviluppatori strutture già esistenti
o simili.
Interfaccia
Oltre alla classica casella di testo dovrebbe dare la
possibilità di aggiungere altri servizi, in modo da facilitare il
lavoro del programmatore e di controllare i dati da
immettere.
128
Conclusioni finali
Proprietà
Prezzo
Tabella 3:
Descrizione
Gratuito, utilizzando ricavi dalle pubblicità.
caratteristiche di un servizio di custom search ideale dedotte dall'analisi dei
servizi offerti da Yahoo e Google.
4.3 Sviluppi futuri
Anche per questo aspetto divideremo le considerazioni in modo da
approfondire gli sviluppi futuri
sia nella parte teorica, sia in quella
sperimentale.
Per quanto riguarda lo studio effettuato sulle nuove tecnologie per il Web
come i servizi per effettuare custom search o per attribuire significati
semantici alle informazioni contenute nelle pagine Web si potrebbero
avere i seguenti sviluppi:
•
creazione di un nuovo tipo di microformat personalizzato. Per
implementare
questa
nuova
struttura
bisognerà
innanzitutto
analizzare i dati che si vogliono inserire e successivamente valutare
se è proprio necessaria la sua creazione o se le informazioni che
essa conterrà possono essere distribuite tra i microformat
standardizzati già presenti. Ci rifaremo all'esempio pratico relativo al
portale per le aziende del settore del risparmio energetico trattato in
questo documento, per effettuare degli esempi concreti di dati che si
potrebbero inserire in un nuovo microformat. Supponiamo di voler
immettere delle informazioni che non sono contenute né in
Goodrelations né nella Vcard oppure di voler creare un nuovo
microformat per semplificarne la comprensione alle aziende del
portale che lo devono implementare. In questi casi bisognerà
impelementare delle pagine contenenti la nuova struttura e
129
Conclusioni finali
successivamente
configurare
un'applicazione
SearchMonkey
apposita per poter estrarre le informazioni contenute nel microformat
personalizzato. Se si riuscisse a creare una nuova struttura in grado
di contenere tutte le informazioni rilevanti per un'azienda e i suoi
prodotti, si potrebbe anche eliminare dal database la parte relativa a
queste informazioni e ricavare i dati solo dai profili creati al momento
della registrazione delle aziende attraverso un'applicazione rest di
SearchMonkey.
•
Creazione
di
una
maschera
per
la
visualizzazione
dei
microformat utilizzati. Anche se sarà visibile solo nella pagina
personale degli utenti registrati al dominio di
Yahoo, questo
sviluppo permetterà di aumentare la visibilità dei dati contenuti nel
portale, sia che si utilizzino i microformat standard sia che si
implementino delle nuove strutture. Ovviamente per ottenere un
maggior beneficio da questa azione, bisognerebbe anche pensare
ad un sistema per pubblicizzare l'uso di questa maschera qualora si
effettuassero delle ricerche legate a prodotti aziendali simili a quelli
inerenti al settore del risparmio energetico.
Per quanto riguarda la parte sperimentale della tesi, come sviluppi futuri
del portale energyCHIT si potrebbero implementare i seguenti servizi o
apportare le seguenti migliorie:
•
maggiori informazioni richieste alle aziende. Per poter effettuare
questa operazione bisognerà espandere i microformat utilizzati
attualmente nei profili aziendali oppure includerne di nuovi.
Innanzitutto si potrebbero inserire maggiori informazioni relative ai
prodotti, memorizzando quelle riguardanti alcune caratteristiche
(come ad esempio il peso, la larghezza, il colore, la provenienza,
l'altezza, la densità specifica) oppure il numero di componenti con
cui è formato. Per immettere i dati relativi a caratteristiche
130
Conclusioni finali
quantitative
si
dovrà
utilizzare
il
tag
gr:quantitativeProductOrServiceProperty che a sua volta conterrà il
sottocampo gr:QuantitativeValue.
In questo modo sarà possibile
settare dei range per i parametri desiderati sfruttando i valori
contenuti da
gr:hasMinValue e gr:hasMaxValue. Un esempio
pratico di un'implementazione di questa struttura potrebbe essere la
durata della batteria di un prodotto in anni solari. Per inserire delle
caratteristiche
qualitative
invece
bisognerà
utilizzare
il
tag
gr:qualitativeProductOrServiceProperty contenente il sottocampo
gr:QualitativeValue. In questo modo sarà possibile immettere nel
microformat, ad esempio il dato relativo al colore di un determinato
apparecchio oppure al tipo di legno utilizzato per la realizzazione di
un serramento. Altri parametri che si potranno inserire nei
microformat utilizzati riguardano gli orari d'apertura dei negozi o
delle aziende. Per consentire l'immissione di questi parametri si può
utilizzare
il
campo
gr:OpeningHoursSpecification
specificato
attraverso gli attributi contenuti in gr:hasOpeningHoursDayOfWeek
che può specificare gli orari d'apertura relativi a tutti i giorni della
settimana. Infine si potrebbe inserire la durata della garanzia offerta
relativa
al
prodotto
selezionato
gr:durationOfWarrantyInMonths.
Con
all'interno
queste
del
informazioni
tag
si
potranno descrivere minuziosamente i prodotti inseriti nel portale e
le aziende registrate. Altri dati non avrebbero alcun senso nel
contesto di studio esaminato.
•
Implementazione di un sistema di feedback. Attraverso questo
servizio si potranno implementare delle risorse rivolte agli utenti
che desiderano acquistare dei prodotti presenti sul portale. Infatti
usufruendo del microformat hReview sarà possibile inserire una
valutazione e dei commenti relativi ai servizi offerti dalle imprese nei
131
Conclusioni finali
profili aziendali. Successivamente sarà possibile inserire dei controlli
di qualità sui prodotti in modo da garantire un servizio migliore agli
utenti che ricercano i prodotti relativi al risparmio energetico. Infine
bisognerà implementare un sistema di controllo sui commenti inseriti
per evitarne un utilizzo inopportuno. Considerando che questa
risorsa dovrà essere controllata dal gestore del portale, occorrerà
predisporre un servizio opportuno, accessibile solamente attraverso
l'uso di un account d'amministratore.
•
Differenziare i prodotti in base alla categoria a cui sono
assegnati. In questo modo si potrebbero associare informazioni
diverse in base al campo a cui si riferisce il prodotto. Ad esempio si
potrebbero salvare i dati relativi alle dimensioni o al peso
per
quanto riguarda i prodotti materiali e alcune informazioni legate alla
qualità
per i servizi aziendali offerti. Si potranno implementare
anche delle visualizzazioni differenti in base agli oggetti ricercati
dall'utente in modo da diversificare i prodotti dai servizi e dalle
aziende.
•
Implementazione del servizio multilingua. In questo modo si
potranno utilizzare tutti i servizi nelle tre lingue conosciute dal bacino
d'utenza del portale: italiano, tedesco ed inglese. Per effettuare delle
ricerche in base al paese di residenza dell'utente, è possibile settare
dei particolari filtri relativi alla lingua nelle quali sono scritte le
pagine dei risultati. Questo servizio è configurabile attraverso
dei parametri
inviati
con
la
richiesta
http
per
BOSS
e
scegliendo la lingua desiderata sul pannello di controllo on-line
per CSE.
•
Utilizzare un microformat completo per eliminare parti del
database. Per poter applicare questa modifica in base ai dati che si
desiderano salvare, si potrebbe utilizzare una struttura semantica
132
Conclusioni finali
personalizzata oppure espandere quelle già contenute nei profili
aziendali. Successivamente andrà implementata un'applicazione
SearchMonkey per permettere l'estrazione dei dati contenuti nei
microformat ogni volta che ce ne sarà bisogno. Infine bisognerà
creare un profilo aziendale per tutte le imprese registrate anche se
sono già in possesso di un proprio sito Web .
•
Mostrare più servizi per ogni risultato ritornato da boss.
Utilizzando le view di SearchMonkey sarà possibile implementare
diversi servizi aggiuntivi legati ai dati ritornati dai microformat. Alcuni
esempi di servizi potrebbero essere quelli già implementati nella
risorsa che permette di effettuare delle ricerche tra i prodotti
aziendali. Altri esempi potrebbero essere i seguenti: un servizio di
conversione di valuta per gli utenti che non utilizzano l'euro, la
possibilità di inserire un commento o una valutazione relativi
all'azienda o ai suoi prodotti oppure un collegamento alla pagina del
fornitore in modo da poter chiedere ulteriori informazioni riguardanti
la spedizione o le modalità di consegna.
•
Implementare una ricerca testuale interna. Questo servizio dovrà
consentire agli utenti di ricercare tra le informazioni contenute nel
portale tutti i risultati legati ad una query testuale. In questo modo
sarà possibile trovare un'azienda o un particolare prodotto
semplicemente digitandone il nome o una caratteristica particolare.
Questa risorsa cercherà all'interno del database, tra i parametri
univoci, quello relativo all'oggetto desiderato e ne mostrerà i dettagli.
Si potrebbe anche implementare il servizio in modo che ricerchi
anche tra le caratteristiche non univoche degli elementi salvati
all'interno della base di dati presentando all'utente diversi risultati
simili.
133
Conclusioni finali
•
Implementazione di un forum per scambi di opinioni. Questa
risorsa permetterà agli utenti registrati di scambiarsi opinioni ed
esperienze lavorative volte a migliorare le tecnologie esistenti.
Inoltre in questo modo le aziende e i clienti potranno comunicare tra
di loro per effettuare, ad esempio, alcune richieste di informazioni
legate ai prodotti offerti nel portale.
•
Implementazione di funzioni per news. Il servizio consiste in
un’area pubblica contenente news di settore, informazioni di
interesse generale oppure notizie di cronaca. Questi contenuti
potranno anche essere reperiti dal Web tramite l'utilizzo del
meccanismo dei RSS pubblici. Queste notifiche su sottoscrizione
potranno essere integrate nel portale in modo da consentirne un
aggiornamento
automatico
oppure
supervisionato
dall'utente
gestore.
•
Sistema di monitoraggio degli accessi e file log. Questo servizio
consentirà al gestore di monitorare i clienti che accedono al portale
in modo da consentirgli delle elaborazioni statistiche periodiche.
Attraverso il file di log invece, l'amministratore potrà tenere sotto
controllo lo stato dell'applicazione evitandone o correggendone gli
errori.
•
Creazione di un'area riservata. In questa zona ad accesso
controllato sarà possibile scambiarsi e condividere file, informazioni
e documenti. Si dovranno implementare delle misure di sicurezza
adatte al contesto, poiché in questa area transiteranno informazioni
riservate o confidenziali.
Un aumento della diffusione dell'utilizzo dei microformat all'interno delle
pagine Web aziendali consentirebbe di estendere l'uso delle funzioni
integrate in Boss attraverso le view di SearchMonkey anche alle imprese
134
Conclusioni finali
che non possiedono un profilo interno. Attualmente, per consentire questa
opportunità si è dovuto implementare un database per memorizzare le
informazioni aziendali rilevanti, dal quale attingere i dati tutte le volte che
se ne presenti la necessità.
4.4 Lavoro svolto e ringraziamenti
Il lavoro che porta a questo elaborato è iniziato la prima settimana di aprile a
seguito della segnalazione da parte del Professor Fraternali del progetto
EnergyCHIT. Successivamente è avvenuto l'incontro preliminare con i
professori Marco Brambilla, Massimo Tisi, Alessandro Bozzon ed Emanuele
Della Valle per discutere le caratteristiche principali del progetto e per la
scelta delle tecnologie Web utilizzabili per l'implementazione del servizio in
modo da soddisfare tutti i requisiti proposti.
Da allora fino alla conclusione della tesi di laurea si sono tenuti periodici
appuntamenti per verificare il lavoro svolto e per chiarire le direttive del suo
sviluppo. In questo modo il
ripianificato
alla
luce
lavoro
delle
ha potuto
nuove
essere
conoscenze,
aggiornato
delle
e
tecnologie
utilizzate, dai problemi implementativi emersi.
La fase attuativa si è composta di molteplici tappe definite e concordate
dinamicamente nel corso degli incontri precedentemente descritti. In seguito
proporremo un elenco delle attività svolte:
•
analisi preliminare di Google cse: studio delle funzionalità di base
ed avanzate del motore di ricerca personalizzato, studio della
personalizzazione attraverso l'interfaccia web ed analisi delle
principali personalizzazioni. Di queste fanno parte e hanno costituito
argomento di studio, i perfezionamenti applicabili tramite il concetto
135
Conclusioni finali
di label, l'esclusione o la promozione di particolari domini e il layout
della pagina dei risultati di ricerca;
•
analisi preliminare di Yahoo Boss: studio delle modalità per
accedere alle API di BOSS (appid), studio della composizione
dell'url per effettuare la chiamata HTTP al servizio REST e dei
principali parametri. Particolare attenzione è stata dedicata a quelli
più importanti (in relazione al progetto realizzato successivamente)
come “Sites”, usato per la composizione dei domini di ricerca, “format”
per il tipo di risposta ritornata dal servizio, e “view” per la specifica di
formati
aggiuntivi
ritornati
da
BOSS
come
i
keyterms,
i
searchmonkey_feed ed i searchmonkey_rdf. Si è poi passati allo
studio della risposta XML, agli attributi generali (come il numero di
risultati e l'indice di partenza per gestire successivamente la
paginazione) e agli attributi caratteristici di ogni risultato;
•
implementazione
base dei due
servizi: per
avere un'idea
preliminare delle potenzialità dei custom search engine messi a
disposizione da Yahoo e Google si è realizzata un'interfaccia web che
usufruisce dei due servizi. Sulla base delle conoscenze già acquisite
in altri ambiti si è deciso di utilizzare per la prova la tecnologia
ASP.NET di Microsoft e c# come linguaggio di programmazione.
Questo per rimandare, almeno in fase preliminare, la scelta
preliminare di una tecnologia a scapito di altre. L'implementazione di
Google
CSE
è
molto
semplice,
essendo
il
servizio
quasi
esclusivamente personalizzabile dall'interfaccia web apposita. Alla
fine della personalizzazione viene generato un codice html da
immettere nella pagina dedicata alla casella di ricerca e uno per la
visualizzazione dei risultati offerti dal motore di Google, quindi la
procedura di creazione e utilizzo del servizio è rapida. Molto più lunga
e laboriosa è stata la realizzazione dell'interfaccia di Yahoo BOSS: si
è dovuto procedere programmaticamente alla costruzione della
136
Conclusioni finali
schermata utente e delle opzioni di ricerca (casella di testo, opzioni di
lingua, tipi di file, domini, ecc..), e successivamente si è passati alla
composizione dell'url di chiamata HTTP verso i server Yahoo in base
ai parametri scelti dall'utilizzatore per la ricerca per poi sviluppare un
parser personalizzato per interpretare al meglio la risposta ritornata
da BOSS.
•
implementazione delle funzioni avanzate: una volta generata la
base che sfrutta i due servizi, ci si è concentrati sugli aspetti avanzati
dei due motori di ricerca personalizzata. Per Google CSE si è
approfondito il sistema delle annotazioni tramite feed xml che
permette di aggiornare dinamicamente la lista contenente i domini di
ricerca e i loro perfezionamenti attraverso etichette (label). Si sono
eseguite prove di aggiornamento dinamico del feed e si è verificato
che la latenza di aggiornamento del file delle annotazioni da parte di
Google fosse accettabile tramite la console per gli sviluppatori messa
appositamente a disposizione. Per quanto riguarda invece Yahoo
BOSS si è cercato di capirne in maniera più precisa i limiti quantitativi
e qualitativi del servizio. Si sono effettuate quindi delle prove tecniche
per conoscere l'effettivo numero massimo di risultati ritornati per ogni
pagina, quello totale e la lunghezza massima dell'url di chiamata del
servizio. Per gli aspetti qualitativi si è studiato l'effettivo valore delle
parole chiave del risultato (keyterms), il loro possibile impiego e la
diffusione dei formati searchmonkey_feed e searchmonkey_rdf in
modo da ottenere risultati contenenti dati semantici.
•
studio di Yahoo searchmonkey: si è capito come funziona questo
particolare servizio, le sue principali funzionalità ed i suoi limiti. Si
sono studiati tutti i particolari tipi di microformat e dati semantici che
indicizza, facendo degli esperimenti successivi con gli strumenti di
validazione.
137
Conclusioni finali
•
progetto preliminare di EnergyCHIT: dapprima si sono presi in
considerazione i tipi di utenti del portale (clienti, aziende, gestori) e le
loro esigenze principali in modo da comporre uno use-case che
permettesse di tracciare le linee guida generali valide per tutta la
durata del progetto. Una volta messe in evidenza le funzionalità
obbligatorie offerte dal portale e la loro disposizione, è incominciato il
lavoro di costruzione della struttura e grafica del sito web con html,
css, e immagini. Ultimato lo scheletro principale ci si è dedicati
all'apprendimento del linguaggio di programmazione server-side
scelto (PHP 5), a quello client-side (Javascript) e all'implementazione
del database MYSQL attraverso la piattaforma di management di
database phpmyadmin. Successivamente è iniziata la fase di
programmazione vera e propria del portale che ha portato alla prima
versione senza microformat di Goodrelations.
•
implementazione definitiva del portale: partendo dalla valida base
costituita dalla versione preliminare del portale, si sono adottati i
microformat GR per descrivere le aziende e i loro prodotti. È stato
necessario modificare il database per permettere ai membri del
network di dividere i prodotti in categorie e sotto categorie. Sono state
modificate quindi: l'area di registrazione (per dare la possibilità di
aggiungere dei prodotti) e la parte relativa al generatore dei
microformat e dei profili delle aziende senza sito web. Sono state poi
implementate la funzionalità di visualizzazione interna dei prodotti
mediante filtri e la ricerca tramite Yahoo BOSS nei domini del
network.
Il lavoro precedentemente descritto si potrebbe suddividere idealmente in
sole 3 fasi che, se pur collegate tra di loro, possono essere analizzate
separatamente:
138
Conclusioni finali
•
analisi delle tecnologie. Questa fase ha occupato i primi tre mesi
dell'intero arco di tempo impiegato a concludere la nostra tesi. In
questo periodo si sono dovuti approfondire: le conoscenze relative
alle tecnologie Web da utilizzare attraverso le documentazioni ufficiali,
alcuni forum dedicati, le implementazioni dimostrative disponibili
sul Web e uno scambio di opinioni con i professori impegnati nel
progetto.
•
Sperimentazione.
L'implementazione
delle
tecnologie
precedentemente studiate è avvenuta in modo graduale nell'arco dei
successivi due mesi, nei quali si sono rafforzate ulteriormente le
nostre conoscenze e abbiamo acquisito piena padronanza dei
servizi offerti da Yahoo e Google. Nel frattempo abbiamo anche
imparato ad utilizzare php che al giorno d'oggi è un linguaggio di
fondamentale importanza per chi implementa nuove applicazioni per
la creazione o la gestione di siti, portali o semplici pagine Web.
•
Conclusioni. In questa parte è compresa sia la fase di effettiva
stesura della tesi sia l'ulteriore analisi delle tecnologie utilizzate per
dedurne i relativi pregi e difetti. In questo modo si è potuto ottenere
un servizio ideale avente caratteristiche scelte da entrambi i servizi
di Yahoo e Google. Per questi motivi ci siamo occupati di questa
fase solo nell'ultimo mese di lavoro, anche se la stesura della tesi
era già cominciata in precedenza.
Ringraziamo i professori Marco Brambilla, Massimo Tisi, Emanuele Della
Valle, Piero Fraternali e Alessandro Bozzon per il supporto che ci hanno
offerto, per i consigli in merito alle problematiche che con l'avanzare del
nostro lavoro sono emerse e per averci messo a disposizione la loro solida
esperienza nel settore delle tecnologie informatiche per il Web. Inoltre
siamo loro molto grati anche per l'esempio di professionalità e di
correttezza che ci hanno dimostrato in questi sei mesi di lavoro.
139
Conclusioni finali
Un ringraziamento particolare va ai nostri genitori, Maria Grazia e Donato,
e, Stefania e Ivano, (rispettivamente di Stefano e di Simone) per il
supporto morale ed economico che ci hanno offerto in questi anni di studi
permettendoci di laurearci presso il prestigioso Politecnico di Milano.
Infine ringraziamo tutte le persone che ci sono state vicine e ci hanno
incoraggiato in questo percorso.
4.5 Conclusioni
Con lo studio iniziale si sono evidenziati i principali pregi e difetti delle
possibili soluzioni adottabili nel campo della ricerca, verticale, mirata su un
particolare settore o a un range di siti web.
Si è deciso poi di implementare le due soluzioni che maggiormente si
adattano al contesto del progetto energyCHIT (portale di aziende nel
settore del risparmio energetico) , ovvero Google Cse e Yahoo Boss.
Come prova preliminare si è deciso di utilizzare la tecnologia ASP.NET con
il linguaggio di programmazione c# di Microsoft per realizzare un sito
web in cui sono state
implementate le
caratteristiche principali
dei
custom search engine. Da questa prova sono emersi chiaramente sia la
diversa filosofia, sia il differente approccio con cui le due società fornitrici di
questi
servizi
hanno
affrontato
il
problema
relativo
alla
ricerca
personalizzata:
Google cse
•
propone un'interfaccia web che permette la creazione, la
configurazione e la personalizzazione in pochi e semplici passi di un
motore di ricerca custom che fa della velocità di risposta il suo punto
di forza;
140
Conclusioni finali
•
visualizza in html: non permette di gestire programmaticamente i
risultati e la loro visualizzazione ma si prende carico di tutto il layout
della pagina, mentre all'utente è lasciata ben poca libertà. La
presentazione è in formato html in classico stile Google,
assolutamente non modificabile se non attraverso la scelta del
colore del carattere relativo alla descrizione e dei link di
collegamento alle pagine dei risultati proposti;
•
è privo di microformat: non indicizza né restituisce alcun tipo di
microformat, anche se questi possono essere molto utili per creare
delle nuove web application in grado di concedere servizi aggiuntivi
agli utenti che effettuano la ricerca.
Per questo il servizio di Google può essere visto come semplice strumento
di ricerca, limitata ad un numero chiuso di domini. Possibili applicazioni
possono essere ad esempio la ricerca personalizzata all'interno di un
particolare sito web (semplificando enormemente il lavoro di un webmaster
che non deve creare appositamente una funzione che svolga questo
compito) oppure un metodo per ricercare contenuti attraverso categorie
ben definite e statiche (sfruttando il concetto di “label” associate a siti web,
personalizzabili tramite l'interfaccia web di Cse) come implementato nella
versione definitiva del portale dedicato alle aziende del settore delle
energie rinnovabili.
Altro approccio è invece quello di Yahoo Boss :
•
propone un servizio “rest”, quindi nessun dato è memorizzato sui
server di Yahoo (contrariamente a Google), ma si effettua una
richiesta http chiamando un url con i parametri di ricerca
completamente personalizzabili in base alle esigenze;
•
effettua la risposta tramite XML o JSON, cioè su due metodi per
la rappresentazione dei dati molto utilizzati e conosciuti. Le
141
Conclusioni finali
informazioni possono quindi essere gestite come il programmatore
desidera eseguendo il parse del file ritornato dal servizio;
•
restituisce i microformat standard di Yahoo searchmonkey, che
possono essere anch'essi classificati e utilizzati da parte del
developer a suo piacimento;
Con queste libertà si possono sfruttare al massimo le possibilità di
personalizzazione della presentazione grafica e dei dati ritornati dal
servizio. É possibile inoltre, indicandolo opportunamente nella richiesta
http, utilizzare i microformat che Yahoo SearchMonkey indicizza per creare
servizi aggiuntivi che sfruttano i dati semantici presenti in una pagina web
al contrario delle classiche web application che per cercare di ottenere lo
stesso risultato si devono affidare ad un database precedentemente
costituito. Questo è sicuramente il punto di forza di Yahoo Boss e Yahoo
SearchMonkey.
Terminate le considerazioni sulle caratteristiche dei motori di ricerca
personalizzati si è potuti passare allo studio di un caso specifico, ovvero la
realizzazione di un portale dedicato al settore del risparmio energetico e
delle energie alternative.
Per garantire la massima fruibilità dei contenuti già generati dalle stesse
aziende si sono effettuate scelte congrue che hanno portato alla
definizione delle funzionalità definitive :
•
suddivisione delle aziende in appartenenti o non appartenenti al
network di entità coinvolte nel progetto. Per le prime si permette la
registrazione al portale (tramite approvazione di un gestore
generale) e la fruizione dei servizi offerti, mentre per le seconde
esiste la possibilità di essere incluse nel motore di ricerca
personalizzato tramite inserimento del dominio web aziendale;
142
Conclusioni finali
•
creazione di profili delle imprese registrate nel network che non
possiedono un proprio sito Web, all'interno dei quali sono presenti
tutti i dati relativi all'azienda. Inoltre tali profili sono composti da
microformat riconosciuti nativamente da Yahoo SearchMonkey,
quindi a fronte di un'eventuale ricerca di Yahoo Boss comprendente
il dominio della pagina, si ha la restituzione dei dati semantici
comprendenti anche i dati relativi ai prodotti aziendali inseriti al
momento della registrazione;
•
creazione dei microformat per tutte le aziende appartenenti al
network, in modo che possano arricchire di dati semantici il proprio
sito web per sicuri benefici futuri. Il tipo di microformat scelto per
rappresentare i dati aziendali è Goodrelations, lo standard “local”
per descrivere l'azienda (nome, indirizzo, contatti, ecc..) e “product”
per descrivere ogni prodotto/servizio che l'azienda offre (con
descrizione,
immagini,
prezzo,
categoria
e
sotto
settore
d'appartenenza, ecc...);
•
ricerca dei servizi attraverso la consultazione del database interno.
La ricerca avviene specificando delle caratteristiche del servizio
( prezzo, settore, città o stato di residenza dell'azienda produttrice,
ecc... ) ed i criteri con cui si vogliono ordinare i risultati. Questi filtri
vengono poi applicati ai prodotti/servizi presenti nella base di dati e
vengono mostrati solo quelli che rispondono ai requisiti specificati
dall'utente;
•
motore di ricerca verticale basato su tecnologia Yahoo Boss che
consente la ricerca tra i soli contenuti presenti sul portale
energyCHIT e su tutti i siti web delle aziende che fanno parte del
network. I risultati sono visualizzati in maniera complessa (non il
classico titolo, descrizione e url) con informazioni aggiuntive quali i
termini chiave (keyterms) associati all'url di destinazione e utilizzati
143
Conclusioni finali
per affinare la ricerca iniziale dell'utente fruitore del servizio.
L'applicazione web è in grado di sfruttare i dati semantici ritornati da
Yahoo Boss sotto forma di searchmonkey_feed o searchmonkey_rdf
per visualizzare i prodotti e relative caratteristiche contenuti nelle
varie pagine web prima che l'utente vi acceda direttamente. I
microformat di Goodrelations sono presenti nei profili salvati delle
aziende che hanno dichiarato di non essere in possesso di un
proprio sito web così come nelle pagine delle aziende che hanno
utilizzato il generatore di microformat del portale. L'applicazione web
esegue la chiamata a Yahoo Boss specificando proprio questi
domini di ricerca e riuscendo così a sfruttare fino in fondo le
potenzialità dei dati semantici presenti. La web application è anche
in grado di fornire in anteprima la Vcard dell'azienda associata ad un
particolare risultato, ricercando l'url nel database interno;
•
lista
delle
aziende
del
contesto
energyCHIT,
nella
quale
compaiono tutte le aziende del network. È possibile filtrare il
contenuto
per
settore
(
energie
alternative,
riscaldamento,
serramenti, ecc.. ), visualizzare il profilo interno al sito nel caso di
azienda sprovvista di website oppure navigare nel sito aziendale, o
ancora accedere ai dettagli forniti dall'azienda ( dati aziendali e
prodotti/servizi offerti);
•
gestione portale: il gestore globale del sito ha il compito di
convalidare la registrazione delle aziende che chiedono di registrarsi
al portale o modificano i propri dati. Solo dopo l'approvazione da
parte dell'amministratore l'azienda viene inserita nella lista interna
del
portale
e resa disponibile.
Il gestore
inserisce anche
collegamenti esterni al network di energyCHIT che faranno
comunque parte del dominio del motore di ricerca. Infine
l'amministratore gestisce i settori e i sotto settori d'attinenza con il
144
Conclusioni finali
contesto del portale creando una sorta di tassonomia a due
livelli nella quale un'impresa potrà inserire i propri prodotti o servizi
offerti.
Per la gestione del network aziendale (registrazione, modifica dei dati,
creazione dei profili, ecc..), per il generatore di microformat e la
visualizzazione dei dati provenienti da fonti xml come quelli di Yahoo Boss,
si è reso necessario adottare tecnologie adeguate.
È stato scelto il linguaggio di scripting lato server PHP che consente una
facile interazione con tutti gli strumenti necessari per creare il portale:
gestione delle sessioni, creazione di contenuti dinamici, interazione
facilitata con il motore di database MYSQL, lettura facilitata di file XML
(con il parser simple_xml incluso in PHP5).
Dall'analisi dei principali aspetti della ricerca personalizzata e della
realizzazione di un reale progetto si è acquisita la consapevolezza di
quanto questo settore sia destinato ad evolversi rapidamente. In
particolare si dovrà rivolgere l'attenzione al ruolo fondamentale che
avranno in futuro i dati semantici. Tramite questo paradigma avremo
motori di ricerca sempre più intelligenti ed efficienti in grado di rispondere
all'utenza con una precisione non paragonabile a quella attuale.
Nel caso specifico della ricerca a domini limitati, incrociando i dati
semantici raccolti attraverso la ricerca con applicazioni sviluppate in
proprio o con API di altre web apps come quelle di Google, facebook, ecc..
si potranno creare web application che offrono servizi di qualità superiore.
145
Bibliografia
Google CSE
Home page
http://www.google.com/coop/cse/
Gestione
http://www.google.com/coop/manage/cse/
documentazio http://code.google.com/intl/en/apis/customsearch/docs/start
ne
.html
Gestione xml
http://code.google.com/intl/en/apis/customsearch/docs/ann
otations.html#xml_annos
Yahoo search
Home page
http://developer.yahoo.com/search/
Tipi di risultati http://developer.search.yahoo.com/start
Yahoo Boss
146
Bibliografia
introduzione
http://php.html.it/articoli/leggi/3014/yahoo-bossintroduzione-al-web-service/
Esempi Boss
http://php.html.it/articoli/leggi/3025/yahoo-boss-esempi-diricerca-sul-web/
Home page
http://developer.yahoo.com/search/boss/
Guida PDF
http://developer.yahoo.com/search/boss/boss_guide/boss_
guide.pdf
documentazio http://developer.yahoo.com/search/boss/boss_guide/
ne
Chiamata http http://developer.yahoo.com/search/boss/boss_guide/overvi
ew.html
Parametri
http://developer.yahoo.com/search/boss/boss_guide/Web_
chiamata http Search.html#optional_args_web
Risposta xml
http://developer.yahoo.com/search/boss/boss_guide/Web_
Search.html#d3e196
Attributi
risposta
http://developer.yahoo.com/search/boss/boss_guide/ch02s
02.html
Spelling
suggestions
http://developer.yahoo.com/search/boss/boss_guide/Spellin
g_Suggest.html
Fonti url
esempi
http://musicmoz.org/
Microformat
Web
semantico
http://www.w3.org/2001/sw/SW-FAQ
Microformat
http://www.w3.org/2001/sw/SW-FAQ#relmf
Rdf
http://www.w3.org/2001/sw/SW-FAQ#whrdf
RFC rdf
http://www.w3.org/TR/rdfa-syntax/
147
Bibliografia
hcard
http://microformats.org/wiki/hcard
Yahoo SM
searchmonkey
introduzione
http://semanticweb30.wordpress.com/2009/01/27/yahoosearchmonkey/
documentazio http://developer.yahoo.com/searchmonkey/smguide/index.h
ne
tml
application
http://developer.yahoo.com/searchmonkey/smguide/quickst
art.html
SM rdf
http://developer.yahoo.com/searchmonkey/smguide/mar
kup.html
SM
microformat
http://developer.yahoo.com/searchmonkey/smguide/compa
re_microformats.html
SM data rss
http://developer.yahoo.com/searchmonkey/smguide/unders
tand_datarss.html
SM vocabulary http://developer.yahoo.com/searchmonkey/smguide/profile
_vocab.html#profile-overview
SM Vcard
http://developer.yahoo.com/searchmonkey/smguide/vcarddetails.html
SM GR
http://developer.yahoo.com/searchmonkey/smguide/grdetails.html
GoodRelations
Home page
http://www.heppnetz.de/projects/goodrelations/
Introduzione
http://www.heppnetz.de/projects/goodrelations/primer/
148
Bibliografia
GR per SM
http://www.ebusinessunibw.org/wiki/GoodRelations_and_Yahoo_SearchMonkey
Validatore
prodotti GR
http://developer.search.yahoo.com/help/objects/product
Validatore
aziende GR
http://developer.search.yahoo.com/help/objects/local
Esempio
prodotto
http://www.heppnetz.de/searchmonkey/product.html
Esempio
azienda
http://www.heppnetz.de/searchmonkey/company.html
ontologia
http://www.heppnetz.de/ontologies/goodrelations/v1
Costruzione
website
Php intro
http://www.w3schools.com/php/default.asp
Sessioni php
http://www.w3schools.com/php/php_sessions.asp
Database
mysql
http://www.w3schools.com/php/php_mysql_connect.asp
Xml dom
http://www.w3schools.com/php/php_xml_dom.asp
css
http://www.w3schools.com/css/default.asp
Css how to
http://www.w3schools.com/css/css_howto.asp
esempi
http://www.w3schools.com/css/css_examples.asp
Simple xml
http://www.w3schools.com/php/php_xml_simplexml.asp
javascript
http://www.w3schools.com/js/default.asp
149
Bibliografia
validazione
http://www.w3schools.com/js/js_form_validation.asp
DOM
http://www.w3schools.com/js/js_obj_htmldom.asp
ajax
http://www.w3schools.com/ajax/default.asp
Http request
http://www.w3schools.com/ajax/ajax_xmlhttprequest.asp
Response xml http://www.w3schools.com/ajax/ajax_responsexml.asp
Hosting
altervista
http://it.altervista.org/
Gestione file
sito web
http://s54.altervista.org/lf.pl?
sid=f5366fd5ec211a65f548d16fa1a86c9f
Gestione db
http://www54.altervista.org/phpmyadmin/index.php
Dati aziende
Pagine gialle
http://www.paginegialle.it/
Settore
risparmio
energetico
http://www.paginegialle.it/naviga/0032672005/energia_solare_ed_energie_alternative_impianti_e_comp
onenti.html
Pagine gialle
ch
http://yellow.local.ch/
http://www.ratti.com/
http://www.energy-co.it
http://www.elettromeccanicagalli.it/
http://www.casariweb.com/
http://www.doxcom.com/
http://www.enersolutions.ch/
150
Bibliografia
http://www.tech-insta.ch/ita/
http://www.interactiongroup.ch
http://www.riello.it/
http://www.aermec.it/
http://www.casa-azienda.it/contatti.php
http://www.powerpress.it/italiano/azienda.html
http://www.primavera84.it/
http://www.torsellini.com/it/index.php
Altri supporti
UML
ingegneria del software – creatività e metodo
151