• Non ci sono risultati.

Servizi esposti all'amministratore del modulo di classificazione

Capitolo 5: Workflow Implementazione

5.9 Servizi esposti

5.9.2 Servizi esposti all'amministratore del modulo di classificazione

I servizi esposti all'amministratore del modulo di classificazione per sviluppare nuove funzionalità o effettuare test sono elencati nelle tabelle in seguito. Anche tali servizi non sono tutti quelli ricavabili dal “workflow progetto”. Il web service che espone tali servizi è disponibile tramite il relativo WSDL all'indirizzo:

http://131.114.58.252:8080/SmartyWeb/SmartyDeveloperServices?wsdl

caricaNuovoEvento

Nome del Servizio

caricaNuovoEvento

Descrizione

Il servizio carica un nuovo evento nel sistema software. Oltre a caricare un nuovo evento, carica anche i dettagli di tale evento (null di default). Infine il database viene aggiornato con i nuovi dati inseriti.

Parametri

Nome Tipo Descrizione

nomeEvento String Il nome con cui sarà riferito

l'evento. (es. Traffico)

descrizioneEvento String Nella prima versione rilasciata

dell'applicazione, viene

utilizzato solo tale campo testuale per inserire dettagli aggiuntivi. (es. Manifestazione- > verifica la presenza di una manifestazione in città)

Valore Restituito Tipo Descrizione

Boolean Se l'operazione va a buon fine torna come risultato true, altrimenti false.

modificaEvento

Nome del Servizio

Descrizione

Il servizio consente di modificare il nome e la descrizione di un evento precedentemente inserito. Infine il database viene aggiornato con i nuovi dati inseriti. Se il parametro nuovaDescrizione è null o vuoto, viene lasciata inalterata la descrizione precedente. Se il parametro nuovoNomeEvento è null o vuoto, viene lasciato inalterato il nome precedente.

Parametri

Nome Tipo Descrizione

nomeEvento String Il nome con cui sarà riferito

l'evento. (es. Traffico)

nuovoNomeEvento String Il nuovo nome con cui sarà

riferito l'evento. (es. Incidente)

nuovaDescrizione String La nuova descrizione per l'evento.

Valore Restituito Tipo Descrizione

String Viene restituita una stringa formattata in formato json contenente:

se nuovoNomeEvento è diverso da null o vuoto

allora === Nome Evento modificato: === " + + nuovoNomeEvento +";

se nuovaDescrizione è diverso da null o vuoto

allora === Descrizione Modificata: === " + + nuovaDescrizione +";

cancellaEvento

Nome del Servizio

cancellaEvento

Descrizione

Il servizio consente di cancellare un evento dal database precedentemente inserito. Viene cancellata anche la tupla relativa all'evento nella tabella DettagliEvento.

Parametri

Nome Tipo Descrizione

nomeEvento String Il nome con cui è riferito

Valore Restituito Tipo Descrizione

Boolean Se l'operazione va a buon fine torna come risultato true, altrimenti false.

creaModello

Nome del Servizio

creaModello

Descrizione

Permette la creazione di un nuovo modello di classificazione con cui classificare i tweet.

Parametri

Nome Tipo Descrizione

dataSet String Il nome del file.arff contenente

il dataset di training.

nomeDaDareAlModello String Il nome con cui sarà riferito il

modello, seguito da .model . (es. SMOtest.model)

eventoDelModello String L'evento di cui il modello

verifica o meno la presenza.

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che specifica l'esito dell'operazione e i risultati ottenuti. Il payload contiene un oggetto Modello

mostraModelliDisponibili

Nome del Servizio

MostraModelliDisponibili

Descrizione

Vengono visualizzati i modelli presenti all'interno del sistema con cui è possibile effettuare la classificazione dei tweet.

Parametri

Nome Tipo Descrizione

- - -

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che specifica l'esito dell'operazione e i risultati ottenuti. Il payload contiene una lista di oggetti Modello, relativa ai modelli presenti all'interno del sistema

Esempio di Oggetto restituito

return (string): {"header": {"code":"200", "shortDescription":"OK", "longDescription":""}, "payload":[ {“type”: “Modello”, "id":”1”, "idEvento":"1", "nome":"SMOSTWV.model", "path":”/C:/Users/Fabio/Desktop/jboss-as- 7.1.1.Final/standalone/deployments/Smarty.ear/SmartyEJB.jar/SM OSTWV.model”, }] } caricaSUMdaDatabase

Nome del Servizio

caricaSUMdaDatabase

Descrizione

Viene letto il file contenente i parametri per il caricamento dei tweet da database: UploadTweetFromDB.xml, presente all'intero della cartella /bin del server Jboss e viene restituito una lista dei tweet caricati da database che corrispondono ai parametri specificati. Il riempimento di tale file di configurazione è a cura dell'amministratore del modulo classificazione e deve specificare i seguenti parametri:

<ITEM KeyWord1="Traffico" KeyWord2="" KeyWord3=""...KeyWordN=""> <DESCR>KeyWords</DESCR> </ITEM> <ITEM SearchOperation="AND"> <DESCR>Operation</DESCR> </ITEM>

<ITEM FullAddress="Via Diotisalvi 1, Pisa" Radius="200" Measure="Km">

<DESCR>GeoLocation</DESCR> </ITEM>

<ITEM Date="2014-02-10" Time="02:00:00"> <DESCR>DateTime</DESCR>

</ITEM>

</Search_Parameters>

Parametri

Nome Tipo Descrizione

- - -

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che specifica l'esito dell'operazione e i risultati ottenuti. Il payload contiene una lista di oggetti SUM relativa ai sum presenti all'interno del database che soddisfano i parametri specificati

Esempio di Oggetto restituito

return (string): {"header": {"code":"200", "shortDescription":"OK", "longDescription":""}, "payload":[ {“type”: “SUM”, "id":26294, "idUtenteTwitter":"489223494365564928", "data":"2014-04-20 11:01:22.0",

"testo":”Coda per 3 km sulla Fi-Pi-Li per non so cosa, sono in coda pure io, tra pisa aurelia e pisa nord-est.”,

"lat/long":”null/null”}, {“type”: “SUM”,

"id":26243,"idUtenteTwitter":"476118739333595136", "data":"2014-04-20 09:43:35.0",

sul lavoro in una cartiera della ... via “, "lat/long":”null/null”},

}] }

creaModello

Nome del Servizio

creaModello

Descrizione

Permette la creazione di un nuovo modello di classificazione con cui classificare i tweet.

Parametri

Nome Tipo Descrizione

dataSet String Il nome del file.arff contenente

il dataset di training.

nomeDaDareAlModello String Il nome con cui sarà riferito il

modello, seguito da .model . (es. SMOtest.model)

eventoDelModello String L'evento di cui il modello

verifica o meno la presenza.

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che specifica l'esito dell'operazione e i risultati ottenuti. Il payload contiene un oggetto Modello

costruisciXMLfileParametriRicerca

Nome del Servizio

costruisciXMLfileParametriRicerca

Descrizione

Viene costruito il file xml contenente i parametri di ricerca di default utilizzato per lo scaricamento dei tweet da Twitter nei servizi esportati all'utente.

Parametri

Nome Tipo Descrizione

keyword[] String[] Lista di parole chiave separate da

virgola. (es. Traffico, Incidente)

radius Integer Valore di default del raggio con

cui viene costruito il cerchio spaziale per la ricerca dei tweet. Di default assume valore 15

measure String Specifica se l'unità di misura del

raggio è Km o Ml(miglia). Può assumere solo questi due valori. Di default è impostato a Km

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che contiene il POJO rappresentante il file xml.

Esempio di Oggetto restituito

return (string): {

"keywords[]":"Traffico, Incidente, Manifestazione", "radius":"15",

"measure":”Km”, }]

}

traduciGeoCoordinateSUM

Nome del Servizio

traduciGeoCoordinateSUM

Descrizione

Viene passato in ingresso l'id di un SUM, vengono tradotte, qualora sia necessario (ovvero non siano ancora state tradotte in indirizzo testuale) la coppia di coordinate spaziali in formato DDD relative al SUM. In uscita viene restituito il SUM, più la traduzione dell'indirizzo.

Parametri

idSUM Integer ID univoco per il riconoscimento di un SUM.

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che contiene il SUM relativo segueto dalla traduzione delle coordinate.

Esempio di Oggetto restituito

return (string): {"header": {"code":"200", "shortDescription":"OK", "longDescription":""}, "payload":[ “type”: “SUM” "id":26175, "idUtenteTwitter":"451725490710384640", "data":"2014-04-03 16:18:44.0",

"testo":"Fila chilometrica all\u0027accettazione bagagli di @aegeanairlines all\u0027aeroporto di #Roma Fiumicino...in coda da un\u0027ora...",

"latlong":"41.7951931/12.2543841"}, ],

“indirizzo tradotto”, “Roma, Grande Raccordo Anulare”, }

classificaUnSUM

Nome del Servizio

classificaUnSUM

Descrizione

Il servizio consente all'amministratore del modulo classificazione di effettuare una classificazione mirata su un determinato SUM. Come parametri d'ingresso si ha il solo IdSUM, in quanto l'amministratore ha accesso al database e può verificare gli id; come restituzione del servizio si ha una lista di SUM classificati: un SUMClassificato per ciascuno dei modelli presenti all'interno del sistema. (In pratica si verifica gli eventi che il testo del SUM identifica o meno).

Parametri

Nome Tipo Descrizione

idSUM Integer ID univoco per il riconoscimento

di un SUM.

Valore Restituito Tipo Descrizione

String una stringa formattata in JSON che specifica l'esito dell'operazione e i risultati ottenuti.L'Header specifica se l'esito dell'operazione è andato a buon fine, Il payload contiene un oggetto SUMClassificato formattato in JSON.

Esempio di Oggetto restituito

return (string): {"header": {"code":"200", "shortDescription":"OK", "longDescription":""}, "payload":[ “type”: “SUMClassificato”, "id":1012, "nomeEvento":"traffico", "valore":true, "nomeModelloUsato":"SMOTraffico.model", "latlong":"null/null"}, ], “type”: “SUMClassificato”, "id":1013, "nomeEvento":"traffico", "valore":true, "nomeModelloUsato":"SMOTraffico.model", "latlong":"42.1241931/19.2533671"}, } controllaEventiDiUnaCollezione

Nome del Servizio

controllaEventiDiUnaCollezione

Descrizione

salvata nel database, li classifica e restituisce la lista degli eventuali eventi identificati.

La politica di classificazione di eventi utilizzata nella versione attuale del servizio è la seguente:”se almeno il 20% dei tweet scaricati viene classificato come interessante per uno specifico evento, allora l'evento viene aggiunto al payload dell'oggetto restituito”.

Parametri

Nome Tipo Descrizione

IdCollezione String Id univoco che identifica i SUM appartenenti ad una determina Collezione di SUM.

visualizzaLog Boolean Se specificato a true, il servizio

restituisce anche la lista di tutti i tweet che l'hanno generato gli eventi identificati. Il valore di tale parametro è fissato a false di default.

Valore di ritorno Tipo Descrizione

String una stringa formattata in JSON che specifica l'esito dell'operazione e i risultati ottenuti. Il payload contiene una lista di oggetti EventoClassificato.(Uno per ogni evento identificato). Se il campo visualizzaLog assume valore true, allora ogni evento è restituito assieme alla lista dei tweet che lo hanno generato.

return (string): {"header": {"code":"200", "shortDescription":"OK", "longDescription":""}, "payload":[ {“type”: “EventoClassificato” "id":28, "nomeEvento":"traffico",

"dettagli":"Verifica la presenza di traffico nei Sum", "verificato":true,

"data":"2014-04-03 18:30:34",

"nomeModello":"SMOTraffico.model",

"geoIndirizzo":"Galleria Circonvallazione Settentrionale, 00166 Rome, Italy"} } {“type”: “SUM”

"id":26175,

"idUtenteTwitter":"451725490710384640", "data":"2014-04-03 16:18:44.0",

"testo":"Fila chilometrica all\u0027accettazione bagagli di @aegeanairlines all\u0027aeroporto di #Roma Fiumicino...in coda da un\u0027ora...", "latlong":"41.7951931/12.2543841"}, {“type”: “SUM” "id":26176, "idUtenteTwitter":"451725447718793216", "data":"2014-04-03 16:18:34.0",

"testo":"#A1 Traffico in congestione da Chiusi-Chianciano a Montepulciano.Velocità rilevata:35km/h", "latlong":"null/null"}, {“type”: “SUM” "id":26177, "idUtenteTwitter":"451724690244272128", "data":"2014-04-03 16:15:33.0",

"testo":"#SS7 Traffico in congestione da Innesto Ss374 Di Summonte E Montevergine a Montesarchio.Velocità rilevata:20km/h",

"latlong":"null/null"},

(VisualizzaLog = false)

return (string): {"header": {"code":"200",

"shortDescription":"OK", "longDescription":""},

"payload":[

{“type”:”EventoClassificato "id":28,

"nomeEvento":"traffico",

"dettagli":"Verifica la presenza di traffico nei Sum", "verificato":true,

"data":"2014-04-03 18:30:34"

"nomeModello":"SMOTraffico.model",

"geoIndirizzo":"Galleria Circonvallazione Settentrionale, 00166 Rome, Italy"}

] }

Documenti correlati