Sei sulla pagina 1di 151

POLITECNICO DI MILANO

Polo Regionale di Como


Facolt di Ingegneria dellInformazione
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 legati alla
implementazione del servizio aziendale;

7
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 sotto-
domini, 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, invece di ricevere la parte dell'array dei risultati
mancanti 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.

Essendo un servizio
Bisogna configurare
rest, si configura
nel relativo pannello ad Per aggiungere tutte le
completamente con
interfaccia web i informazioni contenute
dei parametri inviati
parametri principali del nei microformat ai dati
tramite una richiesta
servizio, tra cui: standard dei risultati
http. Si pu impostare
Configurazione informazioni base,Il occorre scegliere la view
il dominio di ricerca,
dominio di ricerca,le SearchMonkey_feed o
dei filtri particolari, il
label,Il layout e la SearchMonkey_rdf
numero di risultati
formattazione, tramite la richiesta http
ottenuti ed i tipi di
l'account Adsense, le effettuata al servizio.
view associate ai
keywords ed i sinonimi.
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,
Metodo di web distinte, uno per occupi di ricevere la inoltre consentito
Implementazione creare l'interfaccia per 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.

57
Tecnologie per la ricerca Web

Servizi
Offerti

Nessuno, basta una


semplice pagina
HTML. Se invece si
necessario usare necessario usare
desidera poter creare
Linguaggio di un'applicazione php o un'applicazione php o
domini di ricerca in
programmazion java per gestire la java per gestire la
modo dinamico,
e di supporto richiesta e per richiesta e per
bisogna creare un
necessario visualizzare i risultati visualizzare i risultati nel
programma apposito in
nel modo desiderato. modo desiderato.
php o java che
modifichi il file XML
apposito.

Si possono inserire
fino a 5000 pagine web
nel dominio di ricerca, Si possono inviare
Si possono inviare
inoltre esso tramite parametro
tramite parametro
configurabile sia allegato alla richiesta
Dominio di allegato alla richiesta
attraverso un file XML http solo 8178
ricerca http solo 8178 caratteri
apposito, sia attraverso caratteri totali, che
totali, che consentono
il pannello di controllo consentono all'incirca
all'incirca 200 250 url.
disponibile on-line. 200 250 url.

possibile creare delle


label ed assegnarle ad
classificazione
alcuni siti del dominio
degli indirizzi
di ricerca, in questo
all'interno del Non consentita. Non consentita.
modo si riesce a
dominio di
dividere i siti in sotto
ricerca 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 di correzione aiuto di correzione
Aiuti nella presentare agli utenti grammaticale della grammaticale della
ricerca dei termini simili o pi query di ricerca query di ricerca tramite
specifici a quelli tramite l'uso della l'uso della Spelling
ricercati. Spelling suggestion. suggestion.

Variabile, infatti
Variabile, infatti dipende
dipende sia dal tempo
sia dal tempo di risposta
Molto basso, in quanto di risposta del servizio
Tempo di del servizio sia dalla
dipende solo dal tempo sia dalla velocit di
risposta velocit di elaborazione
impiegato dal servizio. elaborazione dei
dei risultati del server su
risultati del server su
cui implementato.
cui implementato.

Il collegamento alla Il collegamento alla


pagina del risultato, pagina del risultato, un
Informazioni Un collegamento alla un breve testo breve testo contenente
pagina del risultato, il
restituite per contenente la la descrizione, la data
nome e un breve testo
ogni descrizione, la data dell'ultima modifica, il
contenente la
dell'ultima modifica, il titolo e la dimensione
risultato descrizione.
titolo e la dimensione della pagina del
della pagina web. risultato.

Attraverso le view si
Attraverso le view
Informazioni possono ottenere
SearchMonkey_feed o
supplementar delle informazioni
SearchMonkey_rdf si
i disponibili Nessuna. supplementari come
possono ottenere
per ogni le keywords associate
informazioni relative ai
risultato. al risultato o la sua
microformat
lingua.

59
Tecnologie per la ricerca Web

Servizi
Offerti

Si possono impostare 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
Filtri
risultati di alcuni url del di tipo pornografico o tipo pornografico o
consentiti
dominio attraverso violento attraverso violento attraverso
l'apposito file xml. l'impostazione di un l'impostazione di un
parametro specifico. parametro specifico.

Completamente
Completamente
personalizzabile in
personalizzabile in
Standard di Google, quanto i risultati sono
Visualizzazio quanto i risultati sono
consentito solo forniti su di un file xml
ne dei forniti su di un file xml o
cambiare il colore dei o json e quindi la
risultati json e quindi la
caratteri. visualizzazione
visualizzazione gestita
gestita solo dallo
solo dallo sviluppatore.
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
microformat: dc, foaf,
con i Nessuna. Nessuna.
vcard, vcal, review, sioc,
microformat gr, dbpedia, fb.

60
Tecnologie per la ricerca Web

Servizi
Offerti

Si possono impostare
Integrazione delle maschere di
Viene presentato come
visualizzazione
con il una sorta di aiuto nelle
personalizzate dei propri
motore di ricerche o come Nessuna.
risultati utilizzabili, dopo
ricerca gadget per la propria
averle selezionate,
pagina personale.
generalista all'interno della propria
pagina personale.

Gratuito, bisogna solo Gratuito se non si Gratuito se non si


Costo 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. Infine si

71
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 un elenco di risultati in base alla query.
Successivamente ognuno di questi sarebbe stato 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. Questo campo contiene tutte le


informazioni relative 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 assegnare nessun significato semantico alle
informazioni recuperate dai crawler. D'altra parte 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

Ricerca consentita sia tra i contenuti testuali della pagina


sia all'interno dei dati inseriti nei microformat pi
Tipo di importanti e conosciuti, implementando dei filtri o delle
ricerca 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.

Tutti i servizi per aiutare l'utente nella ricerca, cio:


Risorse controllo sintattico oppure suggerimenti di ricerca in base
disponibili 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.

Tutti i tipi di microformat standardizzati con la possibilit


di aggiungerne di nuovi, proposti dagli utenti, dopo averli
Dati
esaminati e confrontati con quelli gi esistenti per evitare
Supportati
di far creare agli utenti sviluppatori strutture gi esistenti
o simili.

Oltre alla classica casella di testo dovrebbe dare la


possibilit di aggiungere altri servizi, in modo da facilitare il
Interfaccia
lavoro del programmatore e di controllare i dati da
immettere.

128
Conclusioni finali

Propriet Descrizione

Prezzo Gratuito, utilizzando ricavi dalle pubblicit.

Tabella 3: 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 all'interno del tag
gr:durationOfWarrantyInMonths. Con queste informazioni 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


unarea 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 lavoro ha potuto essere aggiornato e
ripianificato alla luce delle nuove conoscenze, delle 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-boss-
introduzione-al-web-service/

Esempi Boss http://php.html.it/articoli/leggi/3025/yahoo-boss-esempi-di-


ricerca-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 http://developer.yahoo.com/search/boss/boss_guide/ch02s
risposta 02.html

Spelling http://developer.yahoo.com/search/boss/boss_guide/Spellin
suggestions g_Suggest.html

Fonti url http://musicmoz.org/


esempi

Microformat

Web http://www.w3.org/2001/sw/SW-FAQ
semantico

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/yahoo-
searchmonkey/

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 http://developer.yahoo.com/searchmonkey/smguide/compa
microformat 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/vcard-
details.html

SM GR http://developer.yahoo.com/searchmonkey/smguide/gr-
details.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.ebusiness-
unibw.org/wiki/GoodRelations_and_Yahoo_SearchMonkey

Validatore http://developer.search.yahoo.com/help/objects/product
prodotti GR

Validatore http://developer.search.yahoo.com/help/objects/local
aziende GR

Esempio http://www.heppnetz.de/searchmonkey/product.html
prodotto

Esempio http://www.heppnetz.de/searchmonkey/company.html
azienda

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 http://s54.altervista.org/lf.pl?


sito web sid=f5366fd5ec211a65f548d16fa1a86c9f

Gestione db http://www54.altervista.org/phpmyadmin/index.php

Dati aziende

Pagine gialle http://www.paginegialle.it/

Settore http://www.paginegialle.it/naviga/003267200-
risparmio 5/energia_solare_ed_energie_alternative_impianti_e_comp
energetico 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

Potrebbero piacerti anche