Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.

Slides:



Advertisements
Presentazioni simili
XmlBlackBox La presentazione Alexander Crea 11 Aprile 2010 La presentazione Alexander Crea 11 Aprile 2010.
Advertisements

Survey su ADL XML-Based
IlTrovatore S.p.a. IlTrovatore RemoteSearch IlTrovatore mette a disposizione di portali Internet, piccole e medie imprese, tutto il suo know-how nel settore.
Introduzione ad XML Mario Arrigoni Neri.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Recupero debito quarto anno Primo incontro
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Commenti C#.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
PHP.
IL LINGUAGGIO HTML Il linguaggio html. Il linguaggio html. Utilizzo dei tag. Utilizzo dei tag. Script Browser I link I link Caricamento dei dati sul server.
Sistema di gestione flussi documentali
Web Services.
Java Enterprise Edition (JEE)
Metodologie di Programmazione = decomposizione basata su astrazioni
Connessione con MySQL.
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
XmlBlackBox La presentazione Alexander Crea 7 Giugno 2010 La presentazione Alexander Crea 7 Giugno 2010.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione.
La Ricerca in Rete Danco Singer novembre 2002 novembre 2002 Master in Editoria Multimediale La Ricerca in Rete: strategie di navigazione.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Approfondimento delle classi
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Architettura Java/J2EE
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Database & Information Retrieval
Gruppo 11: Ausili Andrea Giovanni Belellixxxxxxxx Polenta Marcoxxxxxxxx Giuseppe Prencipexxxxxxxx Marco Trinastichxxxxxxxx Università Politecnica.
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
PROGRAMMARE IN C Un ambiente di sviluppo `e un software che serve per scrivere ed eseguire programmi. Generalmente integra almeno 3 funzionalita’: Editor:
1 w w w. g a t 4. c o m WI GAT WebIngelligence rappresenta una piattaforma funzionale e tecnologica per la creazione e gestione di un datawarehouse che.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
FASTVID RENTALS: CONCLUSIONI I PUNTI DI FORZA DEL PROGETTO, GLI SVILUPPI FUTURI 1.
Progetto Ingegneria del Software
Corso di Web Services A A Domenico Rosaci 1. Introduzione
FESR Trinacria Grid Virtual Laboratory ADAT (Archivi Digitali Antico Testo) Salvatore Scifo TRIGRID Second TriGrid Checkpoint Meeting Catania,
Lezione 8.
PART 3: DATA ANALYSIS THROUGH OMNIFIND. Il cliente: una sorgente importante di informazioni Mercato iper-competitivo, altamente caotico. Cliente al centro.
Introduzione a Javascript
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Titolo della sezione Eventuale sottotitolo Formazione Volontari SCN 2011 Centro Linguistico di Ateneo - Mediateca Motori di ricerca non solo Google.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
SISTEMI DIDATTICI PER L’ E- LEARNING
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Internetworking V anno. Le soluzioni cloud per la progettazione di infrastrutture di rete.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Eprogram SIA V anno.
2 Indice Un esempio Che cosa è A cosa serve Confronto con HTML Punti di forza La sua struttura.
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
+ Gestire la persistenza Nicolò Sordoni. + Meccanismi di persistenza dei dati In Windows Phone, come negli altri ambienti, abbiamo tre soluzioni principali.
+ Connettersi al web Nicolò Sordoni. + Verificare se lo smartphone è connesso Per poter accedere alla rete, è consigliato innanzitutto verificare se il.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati uno o più file descrittivi. Struttura: Lapplicazione si compone di due parti, una web application ed una desktop application. La ricerca verrà effettuata tramite keyword ed i file da ricercare saranno di tre diversi tipi: WSDL, BPEL e SWSAL. La ricerca si basa su quattro livelli ossia cè la possibilità di ricercare i servizi interni ad un repository locale e/o su di un repository pubblico interno al nostro server e/o su repository predefiniti ed infine eventualmente anche nel web.

Servizio semantico Un servizio semantico è un servizio web a cui è associata una semantica ossia al servizio vengono affiancate informazioni e dati (metadati) che specificano il contesto semantico in un formato adatto all'interrogazione, all'interpretazione e, più in generale, all'elaborazione automatica. Nel nostro contesto elaboriamo servizi che forniscono descrittori WSDL, BPEL e SWSAL.

WSDL: web services description lenguage, è un linguaggio formale in formato XML utilizzato per la creazione di "documenti" per la descrizione di Web Service. Mediante WSDL può essere, infatti, descritta l'interfaccia pubblica di un Web Service ovvero creata una descrizione, basata su XML, di come interagire con un determinato servizio. BPEL: Business Process Execution Language è un linguaggio basato sull'XML costruito per descrivere formalmente i processi commerciali ed industriali in modo da permettere una suddivisione dei compiti tra attori diversi. BPEL è in particolare adatto a modellare workflow completamente automatizzati, per la composizione di web service con l'integrazione di servizi con hardware eterogenei, architetture di rete e linguaggio del relativo codice. Cosè un WSDL ed un BPEL

A questo livello di astrazione abbiamo definito cosa fa il software mediante la suddivisione del problema principale in sottoproblemi che corrispondo alle funzionalità da esso offerto. Abbiamo individuato i seguenti scenari: Ricerca Memorizzazione file e link dei servizi Gestione repository locale Gestione repository pubblico Indicizzazione dei risultati Controllo autenticazione amministratore Analisi orientata agli scenari

Diagramma dei casi duso

Diagramma delle classi Desktop application Ricerca Memorizzazione Gestione repo locale

Diagramma dei package Desktop application

Diagramma delle classi Web application Gestione repo pubblico Ricerca Indicizzazione

Diagramma dei package Web application

Ricerca Ovviamente punto centrale della nostra applicazione è la ricerca; questa verte su due diverse parti: Ricerca sui repository Ricerca sul web La ricerca sui repository è la modalità di ricerca condotta sui repository pubblico, locale e predefiniti. La ricerca sul web consiste nella ricerca dei file descrittori direttamente sul web mediante luso delle API messe a disposizione da google. Nota implementativa di rilievo: le due ricerche nella desktop application risultano essere Ricerca Ricerca Repository Ricerca Web

Ricerca sui repository Per il parsing dei file abbiamo utilizzato DocumentBuilderFactory, che è il parser DOM predefinito per il java, il quale ci consente di ottenere una rappresentazione ad albero del file XML. Definizione livelli di ricerca Reperimento file repository Exec ricerca con parsing file Restituzione array risultati

Ricerca sul web Per lesecuzione della ricerche dei file descrittori sul web abbiamo utilizzato google come motore di ricerca; ci siamo interfacciati alle sue API mediante il package org.json Definizione motore di ricecra Costruzione query Exec ricerca con strutturazione dei risultati Restituzione array risultati

Link public Link(String servName,String servLink,String wsdl,String bpel,String swsal, String servRepo ){ this.wsdlLink=wsdl; this.bpelLink=bpel; this.swsalLink=swsal; this.servLink=servLink; this.servName=servName; this.servRepo=servRepo; } La classe Link è una delle classi principali di tutto il progetto in quanto definisce un oggetto che ha internamente tutto quello che ci serve per definire un servizio dal punto di vista del risultato della ricerca. A seconda degli ambiti di applicazione delloggetto saranno presenti in maniera opzionale altre tre caratteristiche che sono il rank (valore intero utilizzato nellambito dellindicizzazione), servDescr (valore di tipo stringa usato nella ricerca) e servMeta (array di stringhe che corrispondono a parole chiave rappresentative del servizio).

Parametri e file di configurazione Come linguaggio di caratterizzazione dei nostri file di configurazione e dei repository abbiamo utilizzato lxml. Questo metalinguaggio ci ha consentito di definire, sintatticamente e di conseguenza semanticamente, tag che poi sono stati usati per reperire parametri necessari allesecuzione del software. Per quanto riguarda la desktop application abbiamo utilizzato : un file di configurazione, situato in locale, utilizzato per il settaggio del link del repository locale e per la configurazione del proxy;configurazione Per la web application: un file di configurazione, collocato sul server web, utilizzato per il settaggio del link del repository pubblico e predefiniti, per la configurazione del proxy e per gestire gli accessi degli amministratori.configurazione

Struttura dei repository La struttura da noi utilizzata è la medesima sia per il repository locale, pubblico e per quelli predefiniti. Tale struttura prevede lutilizzo del tag root repository il quale allinterno conterrà un elenco di servizi. Ogni servizio è caratterizzato dalla seguente struttura a tag: ferrarelle lete.wsdl lete.bpel lete.swsal 35 servizio acqua ferrarelle acqua ferrarelle

Indicizzazione e criterio di ranking Risultati Attribuzione valutazione analisi Ricerca rank.xml Memorizzazione I primi 20risultati della ricerca condotta sul rank saranno aggiunti al file rank.xml; Se un risultato era stato in precedenza memorizzato nel file rank.xml il rank associato al servizio sarà incrementato di 1; Loperazione di associazione di un rank ad un servizio viene effettuata anche allatto del salvataggio di un file ma in questo caso il valore sarà incrementato di 5 a fronte di un maggiore interesse riscontrato sul servizio da parte dellutente; Con scadenza di 30 giorni il demone esegue una potatura del file rank.xml a 100 servizi, questo al fine di evitare una crescita esponenziale di questultimo. In seguito alla potatura i risultati indicizzati su rank.xml andranno ad essere accodati al repository pubblico; Questa funzionalità riguarda la web application. P.S. i valori numerici utilizzati sono quelli di default, cioè i valori attualmente assegnati mediante file di configurazione. Questi valori possono essere personalizzati mediante file di configurazione.

Conclusioni Software multipiattaforma con caratteristiche di leggerezza e semplicità duso; Sistema di indicizzazione; Google API per sfruttare uno dei migliori motori di ricerca attuali; Sicurezza con sistema crittografico MD5; Difficoltà implementative per colmare il gap tra teorico e pratico;

FINE