Code Architects S.r.l. SWOP Semantic web-service Opened Platform B2SO201

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Code Architects S.r.l. SWOP Semantic web-service Opened Platform B2SO201"

Transcript

1 UNIONE EUROPEA FONDO EUROPEO DI SVILUPPO REGIONALE. REGIONE PUGLIA AREA POLITICHE PER LO SVILUPPO IL LAVORO E L INNOVAZIONE Modello M14 Allegati RTA POR PUGLIA Asse I Linea 1.1 Azione Bando Aiuti agli Investimenti in Ricerca per le PMI BENEFICIARIO Code Architects S.r.l. TITOLO DEL PROGETTO SWOP Semantic web-service Opened Platform CODICE DEL PROGETTO B2SO201 RAPPORTO TECNICO ATTIVITA : A 1.1 (OR1) - Analizzare le modalità per l annotazione semantica dei web service Allegato 1 - D.1.1 Analisi dei requisiti per l annotazione semantica dei web service

2 Indice dei contenuti 1. CONTENUTO DELL ALLEGATO CORPO DELL ALLEGATO Service Oriented Architecture Architettura Web Service Tecnologie standard XML-based extensible Markup Language (XML) Service Oriented Application Protocol (SOAP) Web Service Description Language (WSDL) Universal Description Discovery and Integration (UDDI) Vantaggi nell uso dei Web Service Limiti dei Web Service Tecnologia REST Dai Web Service ai Semantic Web Service Semantica nel Web Le ontologie Semantic web service Semantica funzionale Semantica dei dati Semantica della qualità (o non-funzionale) Semantica di esecuzione Annotazione semantica Benefici e tecniche per l'annotazione semantica Annotazione semantica di Web Service Tool per l annotazione semantica di Web Service Tool semi-automatici Tool manuali Tecniche di NLP per l'annotazione semantica NLP - i concetti base SWOP Annotation: come suggerire le annotazioni Algoritmo di text-similarity Algoritmo generale La piattaforma per i Semantic Web Service Bibliografia APPENDICI Documento WSDL di esempio Documento 100_CharFTClient.wsdl Pag. 2 di 40

3 1. Contenuto dell Allegato Il seguente documento presenta una raccolta documentata di tutte le tecnologie attualmente disponibili per l annotazione semantica di un Web Service. Pertanto, verranno illustrati gli standard e le tecnologie relativi alla gestione di piattaforme di Web Service con particolare riferimento ai limiti di tali approcci in modo da introdurre il valore aggiunto derivante dall annotazione semantica. Si procederà, quindi, con l analizzare il significato di Semantic Web Service, con particolare riferimento al termine semantic : cosa significa in generale, e più dettagliatamente nell accezione dei servizi web. Nella seconda parte del documento verrà illustrato lo stato dell arte relativamente all annotazione semantica di servizi REST. L ultima sezione del documento illustra la linea che, alla luce di quanto asserito precedentemente, è opportuno seguire per perseguire l obiettivo realizzativo. Pag. 3 di 40

4 2. Corpo dell Allegato 2.1 Service Oriented Architecture Dagli anni 90, Internet ha beneficiato di una forte crescita accompagnata da un sempre più vivo interesse da parte delle aziende. La possibilità di utilizzare la rete globale come veicolo di comunicazione ed anche di vendita ha spinto le imprese ad integrare i propri sistemi informativi richiedendo notevoli sforzi organizzativi e tecnologici. Prima dell avvento di Internet, la maggior parte delle aziende adottava sistemi informativi quasi totalmente proprietari, e completamente incapaci di dialogare con il mondo esterno. La necessità di scambiarsi informazioni pur mantenendo, allo stesso tempo, una certa autonomia, ha dato origine ad una nuova architettura software: la Service-Oriented Architecture (SOA). L obiettivo fondamentale dell architettura orientata ai servizi è facilitare l interoperabilità tra i diversi sistemi, consentendo l utilizzo delle singole applicazioni come componenti del processo di business e soddisfando le richieste degli utenti in modo integrato e trasparente. L architettura orientata ai servizi nasce dall esigenza di rendere interoperabili diverse applicazioni costruite con sistemi diversi, in linguaggi diversi, su macchine diverse Architettura La definizione di SOA più autorevole è senza ombra di dubbio quella di OASIS (Organizzazione per lo sviluppo di standard sull'informazione strutturata): Un paradigma per l'organizzazione e l'utilizzo delle risorse distribuite che possono essere sotto il controllo di domini di proprietà differenti. Fornisce un mezzo uniforme per offrire, scoprire, interagire ed usare le capacità di produrre gli effetti voluti consistentemente con presupposti ed aspettative misurabili. È importante rilevare che tale architettura, oltre che essere utilizzata per agevolare la comunicazione tra aziende differenti, venga abbondantemente impiegata anche per la comunicazione interna. In altri termini, è possibile che per motivi storici ed organizzativi, differenti divisioni della medesima azienda abbiano adottato differenti sistemi informativi. Anche in quest ultimo caso, l adozione dell architettura SOA consente di superare il limite intrinseco. Nella formalizzazione canonica dell architettura si individuano tre attori principali che prendono parte all intero processo di richiesta e fornitura del servizio ( Figura 1). Essi sono [2]: Pag. 4 di 40

5 un service provider: attore che offre il servizio all esterno, pubblicizzando (publish) l interfaccia dei propri servizi ad un broker; ogni provider decide autonomamente quali servizi offrire, scegliendo il miglior compromesso tra visibilità e privacy; un service requestor: attore che richiede un servizio e lo utilizza (use) conformemente al protocollo di comunicazione stabilito. Il richiedente quasi mai conosce l indirizzo esatto del servizio di cui necessita, per questa ragione cerca (find) e contatta un intermediario noto (detto broker); service directory (o broker): questo attore offre supporto a tutti i richiedenti di servizi e restituisce un elenco di provider coerenti con le richieste degli attori richiedenti. Il broker può adottare politiche di controllo degli accessi modificando la visibilità di taluni servizi a scapito di altri. Figura 1 Architettura SOA I tre attori possono essere dislocati sul territorio ed usare tecnologie differenti, a patto che tutti utilizzino il medesimo canale trasmissivo. L architettura, essendo estremamente generale, si adatta bene a differenti canali trasmissivi: quello più importante è sicuramente quello Web. Nel Web, si utilizzano specifiche tecnologie per l interazione, la descrizione, la ricerca ed il reperimento dei servizi. Esse sono rispettivamente: SOAP: per l interazione tra fornitore e fruitore del servizio; WSDL: per la descrizione formale di ciascun servizio; UDDI: per la ricerca ed il reperimento dei servizi. I fattori comuni a tutte queste tecnologie sono: l impiego di XML come linguaggio di rappresentazione dei dati; l uso del protocollo HTTP come veicolo di comunicazione. Il risultato di quest ultimo binomio è la totale indipendenza dalla piattaforma hardware e software sottostante (Figura 2). Pag. 5 di 40

6 Figura 2- Architettura SOA nel Web E opportuno chiarire che un architettura SOA che sfrutti il Web come mezzo trasmissivo, può anche essere sviluppata utilizzando tecnologie differenti: RPC, REST, DCOM, CORBA, WCF (Windows Communication Foundation). Il principale pregio di questa architettura è la possibilità di offrire servizi a prescindere dal tipo di linguaggio utilizzato dall attore richiedente ed erogante. Per inciso, un sistema informativo scritto in Java può offrire servizi ad uno scritto in C# e viceversa. In questo tipo di architettura ogni attore mette a disposizione un numero arbitrario di servizi e può utilizzare quelli offerti dagli altri attori. In questo contesto è possibile, in maniera più facile, realizzare applicazioni anche molto complesse frutto di un opportuna orchestrazione di servizi. Sotto queste ipotesi i servizi prendono il nome di Servizi Web (Web Service). 2.2 Web Service Lo strumento fondamentale oggigiorno impiegato per la realizzazione di un architettura SOA è il Web Service (WS). Ogni attore della rete offre servizi all esterno ed utilizza servizi di altri attori. Questo meccanismo ha fatto si che si venissero a creare applicazioni complesse operanti sul web realizzate esclusivamente tramite un opportuna orchestrazione manuale di questi servizi. I Web service [12] sono componenti applicativi modulari, auto-descrittivi ed indipendenti (auto-contained), accessibili via Internet. Si tratta della più popolare tecnologia per la realizzazione di un architettura di tipo SOA. Un Web service è una componente software invocabile dal Web attraverso un messaggio XML che osserva gli standard SOAP. La componente mette a disposizione una o più operazioni da eseguire per conto del richiedente. Le operazioni e i formati di input ed output dei messaggi scambiati sono descritti utilizzando WSDL. Essendo legato a standard aperti del Web, un Web service è indipendente sia dal suo linguaggio di implementazione che dal tipo di piattaforma. La descrizione del servizio, espressa in un linguaggio neutrale, è essenziale per la Pag. 6 di 40

7 diffusione di tale tecnologia. Per poter essere utilizzato, in generale, un servizio deve essere descritto e pubblicizzato. WSDL si preoccupa della fase di descrizione mettendo a disposizione un apposito linguaggio capace di esprimere dettagli sufficienti a far invocare le operazioni del servizio. Il fornitore del servizio descrive il suo Servizio Web e lo pubblicizza tramite un registro universale chiamato UDDI. Questa operazione fa si che tutti i richiedenti possano cercare un servizio opportuno (che presenti le caratteristiche desiderate). UDDI consente la creazione di registri accessibili via Web. Un registro contiene semplicemente la descrizione del servizio (in linguaggio WSDL) ed eventualmente informazioni addizionali come quelle circa il fornitore. I richiedenti di un particolare servizio (i client) possono interrogare diversi registri per scoprire ed usare servizi rilevanti. Per descrivere ulteriormente un Web service, proviamo ad esaminare uno scenario reale: Un azienda chiamata Moon Company distribuisce un prodotto. Questa tiene traccia dei propri clienti, prodotti ed ordini attraverso un sistema proprietario. L azienda non vuole fornire, ai propri clienti, accesso illimitato al sistema, ma vuole solo dare loro la possibilità di effettuare ordini in modo più facile. Utilizzando i Web service, Moon Company può creare un interfaccia con il proprio sistema che possano utilizzare i clienti, previa autenticazione, per effettuare gli ordini. Sotto queste ipotesi, l azienda ha bisogno di fornire una definizione WSDL del servizio e i clienti saranno in grado di realizzare sistemi interni che utilizzano il servizio di ordini offerto dal fornitore. Poiché Moon Company non conosce i sistemi informativi utilizzati dai suoi clienti, tecnologie alternative sarebbero difficili da implementare Tecnologie standard XML-based L uso di protocolli di comunicazione standard è uno degli aspetti più importanti dell architettura SOA; che le conferisce grande flessibilità oltre che la capacità di sviluppare servizi tecnicamente inter-compatibili. Attualmente, gli standard dei Web service sono quelli preferiti per sviluppare prodotti di tipo SOA. La tecnologia dei Web service ha ottenuto un buon livello di maturità ed è utilizzata per offrire facilmente funzionalità di business all interno di Intranet ed Internet. Le funzionalità di business possono consistere in applicazioni comuni come sistemi di ERP, CRM e SCM. Alcuni degli standard associati ai Web Service sono indispensabili per sviluppare soluzioni basate su SOA (Figura 3). Pag. 7 di 40

8 Figura 3 Web Service e loro standard XML, SOAP, WSDL ed UDDI sono le tecnologie fondanti per sviluppare un architettura SOA basata su Web service (Figura 4). XML è lo standard per la rappresentazione dei dati; SOAP specifica il livello di trasporto (mandare messaggi tra fornitore e richiedente); WSDL descrive ciascun Web service; UDDI è utilizzato per registrare il servizio e consentirne il ritrovamento. Figura 4 Relazione tra XML, SOAP, WSDL ed UDDI extensible Markup Language (XML) Affinché i dati siano machine-readable essi devono essere strutturati. Per strutturarli ci si deve avvalere di un linguaggio con una sintassi formale, e perciò comprensibile alle macchine, che consenta di definire le informazioni ed il tipo di operazioni supportate. La codifica dei dati o data encoding specifica un modo particolare di strutturare l informazione. Primi esempi di encoding includono schemi relazionali, XML DTDs, UML e modelli Entità-Relazioni. XML [11] è stato introdotto come meccanismo per rappresentare documenti strutturati sul web, ma può essere anche considerato un modello per dati semi-strutturati, come dati grezzi o non fortemente tipizzati. Può essere definito più propriamente come un metalinguaggio in quanto non ha un insieme di tag definiti come nel caso dell HTML, ma è possibile definirne di nuovi a seconda dell uso per cui saranno utilizzati. Pag. 8 di 40

9 Per creare un documento XML, bisogna, prima di tutto, definire una struttura logica di questo, che sarà poi comune a tutti i documenti di quel tipo, e individuare i suoi componenti. Un documento XML è costituito da un insieme correttamente annidato di tag aperti e chiusi (elementi); ognuno di questi elementi è legato agli altri da vincoli di dipendenza; tutti gli elementi che compongono un documento assumono una struttura ad albero. Gli elementi, a loro volta, possono essere provvisti, al loro interno, di un numero arbitrario di coppie attributo-valore che ne descrivono le proprietà. I documenti XML possono essere logicamente distinti in due tipi: ben formati, per cui è sufficiente creare una struttura di tipo gerarchico che segua le specifiche dettate dal W3C, e validi, ossia conformi alla DTD (Document Type Definition). Una DTD è un documento che serve a definire la struttura di un documento XML imponendo vincoli sul formato ed è utilizzato come supporto di validazione automatica nello scambio di documenti di testo. Le caratteristiche essenziali di una DTD sono : è usata per specificare gli elementi e gli attributi validi che possono essere usati in un documento XML; permette di definire fino a tre gerarchie di elementi; permette di definire un organizzazione sequenziale. Gli elementi base di una DTD sono descritti in Tabella A. Item DTD Element Description Body, messaggio I blocchi che costituiscono un documento XML. Essi specificano il tipo dei dati dell element, il numero di occorrenze di ogni element, le relazioni tra gli elements e così via. DTD Attributes Indicano varie regole e specifiche associate con i dati. Forniscono valori per gli elementi, qualificandoli es. <element_name id= 1 >. DTD Entities Usate per far riferimento a file esterni o definiscono testo comunemente usato come per es. < (<), > (>), " ( ). Tabella 1 Descrizione degli elementi base di una DTD Per ciascun element type usato nel documento XML, la DTD deve contenere una dichiarazione che specifica, mediante una regolare espressione, come gli elementi possono essere annidati all interno di elementi di quel tipo. Per ciascun attributo presente nel documento XML, la DTD deve contenere una dichiarazione che specifica il nome dell attributo, il tipo dell elemento ad esso associato e proprietà addizionali. In tal modo XML produce una struttura standard dei dati che li rende condivisibili in un sistema distribuito e inoltre, mediante la DTD, fornisce uno Pag. 9 di 40

10 strumento di validazione che assicura un controllo di validità della struttura dei dati ricevuti Service Oriented Application Protocol (SOAP) Molti concetti alla base dei web services costituiscono buone soluzioni a problemi ricorrenti nell ambito dell integrazione dei sistemi, delle applicazioni, dello sviluppo applicativo e nella messaggistica, ed alcune tecnologie si sono oramai affermate come standard de-facto. Una di queste è SOAP [10], il protocollo di scambio di messaggi XML. SOAP è l acronimo di Simple Object Access Protocol e nell intenzione dei suoi sviluppatori dovrebbe costituire un protocollo d accesso ad oggetti remoti, basato su XML, e semplice da utilizzare. SOAP definisce la struttura dei singoli messaggi che vengono scambiati tra i nodi, definendo una serie di tag XML specifici. Utilizzando come riferimento questi elementi, chi riceve il messaggio è in grado di conoscere informazioni importanti sul messaggio stesso; in maniera più semplice si può dire che la struttura di un messaggio SOAP consente di mettere ordine e trasmettere le informazioni in modo strutturato. SOAP fornisce la definizione di informazione XML-based che può essere utilizzata per scambiare informazione strutturata e tipizzata tra componenti paritarie in un ambiente decentralizzato e distribuito. Non esiste il concetto di server centrale in SOAP, tutti i nodi possono essere considerati uguali. SOAP differisce da RMI, CORBA e COM per il fatto che tale protocollo si concentra sul contenuto essenzialmente disaccoppiandosi sia dall implementazione che dal protocollo sottostante. Il tempo di vita di un oggetto è un aspetto importante per i sistemi distribuiti e talvolta ci si riferisce ad esso con il nome di service scope o service activation. Nei sistemi SOAP basati su http ci sono generalmente tre modelli di service activation : Request level service activation : per ogni richiesta fatta al server è creata un istanza dell oggetto servizio invocato che è mantenuta fino al completamento della richiesta; Application level service activation : ad una singola istanza dell oggetto servizio sono effettuate tutte le richieste per tutta la durata dell applicazione; Session level service activation : una singola istanza dell oggetto servizio è usata per tutte le richieste per la durata della sessione. E possibile creare una sessione specifica nell applicazione generando e passando i tokens oppure usando i cookies. La specifica correntemente pubblicata dal W3C definisce una struttura del tipo in Figura 5. L involucro (Envelope) più esterno definisce lo spazio dei nomi della specifica SOAP e il tipo di codifica dei caratteri utilizzato per la stesura Pag. 10 di 40

11 del documento. La sezione di intestazione (Header) è opzionale e contiene informazioni aggiuntive circa il messaggio. La sezione centrale (Body) contiene i dati che devono essere trasferiti. Figura 5 SOAP skeleton listing Web Service Description Language (WSDL) WSDL (Web Service Description Language) [9] è il linguaggio che fornisce un modello, espresso in formato XML, che descrive le informazioni sintattiche circa il Web Service. Si tratta di uno standard W3C per la specifica dell interfaccia di Web service, anche detta contratto. L uso di tale linguaggio consente la separazione tra la descrizione delle funzionalità astratte offerte dal servizio e la concreta loro implementazione, definendo in tal modo l interfaccia che il Web Service metterà a disposizione del richiedente. La definizione dell interfaccia (detta port-type nella versione 1.1 e interface nella versione 2.0) costituisce l impronta per tutte le operazioni esposte, includendo il nome dell operazione, gli input, gli output e i possibili errori. Oltre all interfaccia, il documento WSDL consente di specificare, eventualmente, informazioni circa il servizio in sé e le sue relazioni con altri servizi. L ultima versione dello standard è WSDL 2.0, raccomandata dal W3C (Giugno 2007). WSDL utilizza XML Schema Definition (XSD) che fornisce i costrutti per la creazione di tipi di dato complessi. In Appendice è riportato il codice di esempio di un file WSDL Universal Description Discovery and Integration (UDDI) UDDI (Universal Description, Discovery, and Integration) [2] è attualmente lo standard di fatto per la registrazione ed il ritrovamento di Web Service. Quando un servizio viene sviluppato, è necessario pubblicizzarlo al fine di agevolarne il ritrovamento. Il meccanismo di ritrovamento può essere Pag. 11 di 40

12 ottimizzato in modo tale da essere adeguato alla vastità del Web garantendo ricerche efficienti e risultati rilevanti tra i centinaia o migliaia di Web Service disponibili. UDDI è stato progettato per essere interrogato da messaggi SOAP e fornire il collegamento ai rispettivi documenti WSDL che descrivono i servizi. Lo standard definisce il contenuto informativo ed il tipo di accesso fornito dal possessore del servizio. Queste directory forniscono visibilità ai servizi che possono così essere invocati (utilizzati) dai richiedenti. UDDI può memorizzare le descrizioni dei servizi interni ad un organizzazione così come quelli pubblici presenti in Internet Vantaggi nell uso dei Web Service Riepilogando, è possibile tracciare un elenco dei principali punti di forza derivanti dall uso dei servizi web, elencati di seguito: permettono l'interoperabilità tra diverse applicazioni software e su diverse piattaforme hardware/software; utilizzano un formato dei dati di tipo testuale, quindi più comprensibile e più facile da utilizzare per gli sviluppatori (esclusi ovviamente i trasferimenti di dati di tipo binario); essendo basati sul protocollo HTTP, non richiedono modifiche alle regole di sicurezza utilizzate come filtro dai firewall; sono semplici da utilizzare e possono essere combinati l'uno con l'altro (indipendentemente da chi li fornisce e da dove vengono resi disponibili) per formare servizi "integrati" e complessi; permettono di riutilizzare applicazioni già sviluppate; fintanto che l'interfaccia rimane costante, le modifiche effettuate ai servizi rimangono trasparenti; sono in grado di pubblicare le loro funzioni e di scambiare dati con il resto del mondo; tutte le informazioni vengono scambiate attraverso protocolli "aperti" Limiti dei Web Service Per sua natura, la comunicazione tra l offerente ed il richiedente avviene utilizzando XML. Se tale caratteristica, da un lato risolve definitivamente il problema della compatibilità, dall altro ne appesantisce i dati poiché oltre al contenuto informativo vero e proprio sono necessari tag e strutture aggiuntive. Oltre a ciò è anche necessario che i due attori della comunicazioni effettuino ogni volta una codifica e decodifica delle informazioni. Questi fattori rendono i Web Service poco adatti ad applicazioni per le quali la velocità rappresenti un fattore critico. Pag. 12 di 40

13 Per diverso tempo, la capacità di cercare, selezionare, comporre ed eseguire questi servizi web è stata prerogativa unica degli sviluppatori: unici attori capaci di comprendere la semantica sottesa a ciascun servizio per poi realizzarne un opportuna combinazione al fine di produrre applicazioni più articolate e complesse. E proprio in quest ultima pratica che risiede il principale limite dei servizi web comunemente utilizzati. Alla luce del successo di tale tecnologia e della facilità con la quale ogni applicazione se ne serve, delegare attività quali la ricerca, la selezione e la composizione ad attori umani è oggigiorno diventato un vincolo troppo stringente Tecnologia REST I servizi basati su un paradigma a trasferimento di stati (REST), implementazione leggera di SOA, hanno riscosso notevole successo negli ultimi tempi. REST si riferisce ad un insieme di principi di architetture di rete, i quali delineano come le risorse sono definite ed indirizzate. Il termine è spesso usato nel senso di descrivere ogni semplice interfaccia che trasmette dati su HTTP senza un livello opzionale come SOAP o la gestione della sessione tramite i cookie. Questi due concetti possono andare in conflitto così come in sovrapposizione. È possibile progettare ogni sistema software complesso in accordo con l'architettura REST senza usare HTTP e senza interagire con il World Wide Web. È altresì possibile progettare una semplice interfaccia XML+HTTP che non sia conforme ai principi REST, e invece segua un modello di Remote Procedure Call. I sistemi che seguono i principi REST sono spesso definiti "RESTful". REST prevede che la scalabilità del Web e la crescita siano diretti risultati di pochi principi chiave di progettazione: lo stato dell'applicazione e le funzionalità sono divisi in Risorse Web; ogni risorsa è unica ed indirizzabile usando una sintassi universale tramite link ipertestuali; tutte le risorse sono condivise con interfaccia uniforme per il trasferimento di stato tra client e risorse, che consiste in: un insieme vincolato di operazioni ben definite; un insieme vincolato di contenuti, opzionalmente supportato da codice on-demand; un protocollo che è: client-server, stateless, cachable ed organizzato a livelli. Utilizzando messaggi basati su XML, i servizi RESTful possono unire dati discreti provenienti da differenti servizi per creare insiemi di dati con un particolare significato. Questa operazione prende il nome di mashup. Pag. 13 di 40

14 Se da un punto di vista concettuale il mashup è molto utile ed abbraccia nettamente l idea di personalizzazione del Web, la sua implementazione reale non è altrettanto semplice ed immediata. Per superare i problemi di implementazione, grossomodo legati alla complessità intrinseca di tale attività, diverse aziende hanno prodotto tool in grado di assistere e supportare tale attività. I più noti sono: Yahoo s pipes, IBM QEDwiki e Google Mashup Editor. Anche in questo caso, come nel caso dei Web Service, il problema dell integrazione ed in generale quello della interoperabilità tra diversi servizi trova nella descrizione sintattica una forte limitazione. Sovente è difficile integrare dati attraverso la loro sola descrizione sintattica e strutturale: sono necessarie tecniche semantiche. 2.3 Dai Web Service ai Semantic Web Service Uno dei punti più delicati per tutti i web service è la fase di ritrovamento. La pubblicazione del servizio tramite UDDI non garantisce il corretto ritrovamento del servizio ma soltanto la sua pubblicazione. Attualmente i servizi web vengono ritrovati dagli sviluppatori software con diversi criteri. La ricerca di tali servizi è difficoltosa e non sempre fruttuosa. La chiave necessaria per migliorare la fase di ritrovamento è l associazione di semantica a ciascun servizio. Si cerca di trovare soluzioni che consentano di superare il limite sintattico. La ricerca universitaria, insieme a quella aziendale, si sono mosse verso la semantica. Si studiano tecniche orientate ad arricchire ciascun servizio web già esistente con un livello semantico che esprima le funzionalità del servizio in maniera machine-readable [5,7]. La scelta di arricchire le risorse correntemente esistenti è chiaramente essenziale in un ottica aperta come quella del web: i tentativi di riscrittura dell architettura dell informazione sono, de facto, improponibili. Ogni servizio web viene arricchito di informazioni indispensabili per chiarire il servizio in esame, espresse con un formalismo standard utilizzando un vocabolario condiviso ed algoritmi di ragionamento su meta-dati. A tal proposito, giocano un ruolo decisivo, le ontologie Semantica nel Web I soli Web Service non sono sufficienti a costruire processi Web sofisticati. Via via si è convenuto nel ritenere che è essenziale rendere i servizi web, machine-understandable per consentire l implementazione di soluzioni idonee a supportare tutte le fasi del ciclo di vita di un processo Web [1]. Pag. 14 di 40

15 Nasce proprio dall idea del Semantic Web, l esigenza di rendere comprensibili anche alla macchina i diversi servizi disponibili. In quest ottica, le ontologie giocano un ruolo decisivo e vengono considerate il blocco fondante del Semantic Web poiché consentono l interpretazione dei dati da parte dei calcolatori riducendo, conseguentemente, il coinvolgimento dell uomo Le ontologie Il punto di partenza per la realizzazione di un qualsiasi sistema informativo, che si tratti di un database o di un sistema basato sulla conoscenza, parte sempre da una concettualizzazione del dominio. La porzione del mondo reale che deve essere descritta in un modello concettuale è detta Universo del Discorso (UofD). Essendo la concettualizzazione un astrazione, comporta sempre un certo numero di assunzioni, che rimangono spesso implicite. Affinché sia possibile condividere informazione tra diversi sistemi è importante esplicitare queste assunzioni, sviluppando metodi formali che consentano di legare diversi schemi e rendere tali conoscenze esplicite in modo che possano essere utilizzate da diverse comunità di utenti. Nei sistemi basati sulla conoscenza queste assunzioni sono spesso rese esplicite mediante un ontologia, che consente di formulare regole di mapping tra concettualizzazioni differenti ma compatibili. Nell ambito dell Intelligenza Artificiale ed in particolare nel campo dell Ingegneria della Conoscenza, Gruber [16] definisce un ontologia come una specificazione esplicita e formale di una concettualizzazione condivisa. Il termine concettualizzazione riflette il fatto che un ontologia costituisce un modello astratto di un qualche fenomeno del mondo reale; l aggettivo esplicita vuole evidenziare che i concetti usati, le loro relazioni e i vincoli sul loro uso sono esplicitamente definiti; l aggettivo formale si riferisce al fatto che l ontologia dovrebbe essere machine-understandable ; infine l aggettivo condivisa riflette il fatto che l ontologia cattura un tipo di conoscenza consensuale, cioè accettata da una comunità scientifica operante in un determinato campo dello scibile umano. Il dominio di interesse è descritto e modellato identificandone i concetti (class) principali che lo compongono, le relazioni (role) intercorrenti tra di essi ed i loro attributi (functional role). Un ontologia può essere rappresentata mediante un albero tassonomico di concettualizzazioni, i cui nodi corrispondono ai concetti e gli archi corrispondono ai roles e alle relazioni is-a. I concetti, da molto generali e indipendenti dal dominio ai livelli superiori diventano sempre più specifici del dominio in esame man mano che si scende ai livelli tassonomici più bassi. Una ontologia è fondamentalmente costituita da quattro elementi [18]: Pag. 15 di 40

16 Classi : ossia i concetti; esse sono astrazioni del mondo reale a vari livelli di dettaglio. Esse non sono necessariamente disgiunte né necessariamente esaustive. Si parla spesso di classes o concepts. Relazioni : indicano i rapporti esistenti tra due concetti; il role più importante è IS_A (letteralmente E _UN) che permette di generare una gerarchia tra i concetti basandosi sul principio dell ereditarietà delle proprietà. Proprietà : sono gli attributi di ciascuna classe; su di esse spesso vengono generati dei vincoli (facet) che impongono delle restrizioni sul dato della proprietà. Sono anche detti slot o properties. Istanze: ossia gli specifici oggetti del mondo reale. Le istanze ereditano attributi e relazioni dalle classi a cui si riferiscono. Le ontologie si possono classificare a seconda di quanto sono generali [17]: si va dalle ontologie top-level (che formalizzano concetti generali o di senso comune), alle ontologie di dominio e di task (descrivono concetti in dipendenza di dominio e obiettivo e forniscono un vocabolario sistematico dei termini utilizzati per risolvere i problemi associati ai compiti appartenenti o meno allo stesso dominio), fino alle ontologie di applicazione (che trattano concetti molto specifici relativamente a particolari attività in particolari domini). In particolare, di nostro interesse sono le ontologie di domino che descrivono, il vocabolario generico di un dominio specializzando i termini introdotti nella ontologia top-level o introducendone di nuovi. Sono riusabili in uno specifico dominio. C è un chiaro confine tra ontologie di dominio e ontologie Top-level. I concetti nelle ontologie di dominio sono in genere specializzazioni di concetti già definiti nelle ontologie Top-level e lo stesso accade per le relazioni. Una ulteriore classificazione viene operata relativamente al contenuto delle ontologie. Le ontologie heavyweight sono caratterizzate dalla presenza di vincoli ed assiomi generali; si contrappongono alle ontologie lightweight che di solito rappresentano solo concetti con le relative proprietà ed eventualmente tassonomie. Nella maggior parte dei casi, la rappresentazione di una ontologia è sempre formale poiché il fine ultimo è quello di rendere una parte di conoscenza comprensibile al calcolatore. Sotto opportune condizioni, infatti, è possibile usare un ontologia per ragionare induttivamente, classificare ed in generale fare inferenze logiche. Questi grandi repository di conoscenza vengono costruiti appositamente da utenti che prendono il nome di Ingegneri della conoscenza: attori in grado di definire i concetti rilevanti per il dominio di interesse, ordinare i concetti in gerarchie, definire le proprietà ed i vincoli su di essi, nonché stabilire le opportune relazioni. Realizzare da zero un ontologia di un dominio, anche non particolarmente vasto, non è un lavoro banale. Il numero di considerazioni, decisioni progettuali che devono essere intraprese, unitamente alla profonda Pag. 16 di 40

17 conoscenza di dominio richiesta per la realizzazione di un ontologia, fanno si che si prediliga l uso di ontologie vicine al proprio dominio (o a volte la personalizzazione di queste) piuttosto che la sua costruzione from scratch Semantic web service I Semantic Web Service nascono con l obiettivo di riprogettare i processi d integrazione dei Web service allo scopo di automatizzare le fasi di ritrovamento, selezione, composizione e invocazione. Generalmente un Semantic Web Service è descritto attraverso un ontologia dei servizi, che rende comprensibili alle macchine le sue capacità e permette di integrarle con una conoscenza di dominio che può anche essere utilizzata in maniera indipendente. Arricchiti con una descrizione formale delle proprie capacità, questi servizi possono essere utilizzati da altre applicazioni o da altri servizi senza specifici interventi da parte dell uomo o accordi molto vincolanti su interfacce e protocolli. I Semantic Web Service appaiono dunque come un estensione delle attuali tecnologie e standard per i Web service realizzata utilizzando le tecnologie e gli standard del Semantic Web (Figura 6). Figura 6 - Semantic Web Services nel Semantic Web Cardoso e Sheth [4] dividono il significato di semantica in quattro diversi tipi, ciascuno dei quali opportunamente scelto per rappresentare le capacità, i requisiti, gli effetti e l esecuzione del servizio web Semantica funzionale Il potere dei Web Service si manifesta solo quando vengono ritrovati servizi appropriati, rispondenti ai requisiti funzionali. Pag. 17 di 40

18 Un assunzione universale per i differenti algoritmi di discovery di servizi web semantici è che la funzionalità del servizio è caratterizzata dal suo input e dal suo output. In tal senso questi algoritmi cercano le corrispondenze tra input ed output dei servizi, ed input ed output dei requisiti. Questo tipo di corrispondenza semantica, da sola, può non restituire risultati appropriati che soddisfino i requisiti funzionali. Per esempio: due servizi possono avere le stesse specifiche di input/output anche se assolvono a compiti completamente diversi. Un servizio semplicissimo di somma di due numeri avrà lo stesso significato sintattico di un altro servizio che effettua la differenza tra due numeri. Effettuare il confronto basandosi esclusivamente sul contratto di interfaccia di un servizio web può non fornire i risultati attesi. Per rappresentare la funzionalità del servizio migliorando il ritrovamento e la selezione, è indispensabile annotare lo stesso con semantica funzionale. Disponendo di un ontologia di tipo funzionale, nella quale ogni concetto/classe rappresenta una funzionalità ben definita del dominio scelto, l intento è quello di agganciare ogni funzionalità ad uno o più concetti dell ontologia di riferimento. Anziché utilizzare ontologie, in alcuni rari casi la semantica funzionale può essere espressa per categorizzazione. Tale tecnica è utilizzabile solo quando le funzionalità del servizio ricadono in categorie prestabilite da organi competenti, come United Standard Products and Services Code (UNSPSC 1 ) o il RosettaNet Technical Dictionary (RNTD 2 ) Semantica dei dati Tutti i Web Service prevedono un set di input e producono un set di output. Entrambi gli insiemi di dati sono descritti all interno del documento WSDL. Tuttavia la specifica di tali operazioni viene fornita soltanto in termini sintattici (anche nel caso di strutture dati complesse). Questi dettagli (come i tipi dei dati, lo schema XML dei tipi complessi) sono utilizzati per l invocazione del servizio. Per effettuare il ritrovamento di servizi, è necessario esprimere la semantica dei dati di input/output. Quindi, se i dati coinvolti nell operazione del Web service fossero annotati utilizzando un apposita ontologia, allora questi potrebbero essere utilizzati per effettuare un confronto semantico tra i dati di input/output dei servizi e quelli di input/output delle richieste Pag. 18 di 40

19 Semantica della qualità (o non-funzionale) Dopo aver ritrovato i Web Service la cui semantica corrisponde con quella delle richieste, il passo successivo è selezionare il servizio più adatto. Ogni servizio può avere diverse qualità perciò la scelta implica la corrispondenza con il criterio che esprime la miglior qualità. Il criterio di selezione del servizio riveste un ruolo essenziale specialmente nella fase di composizione. Esso richiede la gestione di metriche di qualità (QoS) per i Web service al fine di ottenere un set di servizi che tengano conto delle qualità di interesse. Tuttavia, lo studio di questo tipo di semantica esula dagli obiettivi di questo documento, dal momento che trova la sua utilità nelle fasi di selezione e composizione, anziché in quella di annotazione. Tale tipo di semantica è spesso esplicitata anche per elicitare dei vincoli o dettagli specifi che non trovano spazio all intero delle altre semantiche. E altresì importante specificare tale semantica per migliorare la fase di discovery (in particolare quella di filtering) di SWS Semantica di esecuzione La semantica di esecuzione di un Web Service coinvolge l idea di sequenza di messaggi, modelli di conversazione tra servizi in esecuzione, flussi di azioni, precondizioni ed effetti dell invocazione di un servizio. Alcuni problemi relativi alla semantica d esecuzione sono ereditati direttamente dalle tecnologie di workflow. Nell e-commerce, l uso della semantica d esecuzione può aiutare nel cercare dinamicamente servizi che non solo condividano i requisiti funzionali, ma anche quelli operazionali come lunghe interazioni o conversazioni complesse. Un modello opportuno per la semantica d esecuzione potrebbe anche aiutare a coordinare le diverse attività transazionali. In generale, questo tipo di semantica serve a descrivere formalmente il servizio web da due punti di vista: esterno ed interno. Il comportamento esterno descrive il protocollo che il client deve osservare per consumare le funzionalità del servizio. Il comportamento interno, al contrario, descrive un flusso di lavoro: come le funzionalità del servizio si aggregano con eventuali servizi esterni. La formalizzazione di quest ultimo comportamento (quello interno) esula dall interesse di questo documento. Pag. 19 di 40

20 2.4 Annotazione semantica Benefici e tecniche per l'annotazione semantica Prima di affrontare la descrizione dello stato dell'arte in materia di strumenti a supporto dell'annotazione semantica senza considerare un particolare linguaggio di rappresentazione, è necessario analizzare il problema dell'annotazione in termini del tutto generali. In particolare, per annotazioni semantiche si intendono le informazioni semantiche associate a risorse web. Tali annotazioni si usano per: arricchire il contenuto informativo dei documenti esprimere in maniera formale, il significato di porzioni di testo in un documento, Web service, Strutture dati coinvolte in un processo di collaborazione (interoperabilità tra applicazioni software), ecc. Le annotazioni possono essere classificate sulla base dei seguenti criteri: Livello di formalità del linguaggio usato - una annotazione formale è espressa in un linguaggio formale di rappresentazione della conoscenza quali RDF e RDFS, OWL (per una trattazione di tali linguaggi si rimanda al deliverable D2.2 del secondo obiettivo realizzativo). Una annotazione formale permette di processare i dati senza l intervento umano, è quindi machine understandable. Una annotazione informale è, invece, espressa in linguaggio naturale o in un linguaggio controllato, permette quindi di aggiungere informazioni su documenti o risorse, fruibili esclusivamente da un utente umano. Posizionamento dell annotazione - una annotazione può essere embedded se è inserita all interno dello stesso documento annotato, mentre è attached se è memorizzata separatamente, collegata al documento da un link. Destinatario dell annotazione - se il destinatario è lo human user, allora l'annotazione ha lo scopo di fornire informazioni aggiuntive su una risorsa. In questo caso l annotazione in genere sarà poco formale probabilmente realizzata in linguaggio naturale. Se il destinatario è invece il computer, allora l'annotazione ha lo scopo di esplicitare il significato di una risorsa. In tal caso l annotazione deve essere di tipo formale per poi essere processabile da una macchina; Tipo di risorsa annotata - è possibile annotare risorse diverse: 1) documenti (frammenti di testo, pagine HTML, immagini, ecc.), 2) Web Services ( per esprimere cosa fa un servizio, descrivere i parametri di input e l output) che solitamente è un'annotazione di tipo formale, 3) strutture dati e processi in generale, coinvolti nello scambio di informazioni tra applicazioni software che cooperano e solitamente si tratta di un'annotazione di tipo formale e ontology-based; Pag. 20 di 40

21 Livello di restrizione imposto sul linguaggio - il livello Absence assume che i termini del linguaggio possano essere usati senza vincoli, il livello Advised permette di scegliere se utilizzare o meno un glossario, un'ontologia (o anche parole chiavi) in alternativa al linguaggio naturale, mentre il livello Mandatory obbliga l'uso di un glossario di riferimento o di un'ontologia; Modalità di annotazione - per quanto riguarda l'annotazione basata sull'uso di ontologie, che risulta la tecnica più diffusa, esistono due modalità di annotazione: o Annotazione attraverso istanze di concetti - l annotazione consiste nell'associare una istanza all elemento annotato con opportuna valorizzazione delle proprietà che descrivono l istanza; o Annotazione attraverso concetti - l annotazione consiste nell'associare un concetto dell ontologia all elemento annotato oppure una "composizione" di concetti dell ontologia (attraverso opportuni operatori) all elemento annotato Per quanto riguarda l'annotazione dei Web Service esistono diverse modalità [8], la maggior parte delle quali basate sull'utilizzo di ontologie di dominio e prevedono una parziale o completa interazione con l'utente finale come ampiamente discusso nei seguenti paragrafi Annotazione semantica di Web Service Le specifiche dei Web service sono oggi basate su standard che ne definiscono solo le caratteristiche sintattiche. Sfortunatamente, ciò non è sufficiente, dal momento che l interoperabilità automatica dei servizi/processi Web non può evidentemente essere ottenuta. Una delle soluzioni largamente riconosciute per risolvere tale problema è abilitare le applicazioni alla comprensione dei metodi e dei dati, aggiungendo ad essi un significato interpretabile dalla macchina [3,6]. Esistono diversi tool utili alla creazione dei Web Service: le stesse applicazioni scritte in Java (o in qualsiasi altro linguaggio orientato agli oggetti) possono essere agevolmente tradotte in Web service. In fondo ogni programma (in qualsiasi linguaggio) può esporre Web Service. Tuttavia è indispensabile, fin dai primi passi della creazione di un Web Service, cominciare ad usare semantica (nei diversi tipi sopra descritti). Durante lo sviluppo, la semantica dei dati, quella funzionale e quella di qualità hanno bisogno di essere specificate. Tutti i Web service richiedono un set di input e producono un set di output. Queste informazioni sono presenti all interno del contratto delle operazioni in una particolare sezione del file WSDL. Tuttavia la definizione dell interfaccia Pag. 21 di 40

22 fornisce soltanto una specifica sintattica oltre che una specifica strutturale dei dati. Per effettuare il ritrovamento automatico dei servizi, è necessario associare la semantica dei dati. Quindi, se i dati coinvolti nel servizio fossero annotati utilizzando un ontologia, allora tale semantica dei dati potrebbe essere utilizzata per il calcolo della corrispondenza tra: semantica dei dati di ciascun servizio e semantica dei dati del servizio richiesto. In questo momento non esiste una tecnologia universale riconosciuta come tale per l annotazione semantica di un Web Service o più in generale di documenti Web. I due principali attori coinvolti nella sfida della semantica sul Web, aziende ed università, hanno dato vita, talvolta assieme, ad una serie di linguaggi che nel corso della storia hanno registrato consensi e dissensi. A prescindere dal tipo di linguaggio utilizzato, in questo momento lo stato dell arte è diviso principalmente in due categorie di strumenti per l annotazione: manuali; semi-automatici. L attività di annotazione, per sua natura, non può (e forse potrà) mai essere completamente demandata ad un calcolatore: l intervento umano rimane indispensabile Tool per l annotazione semantica di Web Service Di seguito si riportano i tool più diffusi per l annotazione semantica di documenti WSDL. In particolare, per la specifica dei linguaggi semantici considerati nei prossimi paragrafi si rimanda al deliverable D2.1 Analisi dei linguaggi e dei tool per la descrizione semantica di web service. Esistono fondamentalmente due tipi di tool di annotazione semantica: semi-automatici e manuali. Nell annotazione semantica manuale, l intervento dell utente è indispensabile. Con questo tipo di approccio è l utente ad operare le scelte di associazione tra concetti, laddove il tool si limita a fornire l interfaccia grafica (e alle volte strumenti corollari) per modificare opportunamente il codice del documento WSDL. Con l approccio semi-automatico il tool implementa algoritmi di NLP che suggeriscono all utente delle possibili associazioni. L operatore, in tal caso, ha il compito di visionare le associazioni proposte ed accettarle o rigettarle. La fase di annotazione semantica è particolarmente importante poiché da essa dipende la comprensibilità del documento annotato da parte delle macchine. L intervento umano è attualmente indispensabile poiché è in grado di garantire la coerenza dell annotazione. Per questa ragione non esistono tool completamente autonomi che non richiedono l intervento dell utente (tool automatici). Pag. 22 di 40

23 Tool semi-automatici Meteor-S Web Service Annotation Framework Meteor-S 3 è un insieme di tool realizzati per agevolare l arricchimento semantico di Web Service. Questo strumento, realizzato al LSDIS Lab della University of Georgia, si compone di 5 tool software distinti: MWSAF, Publishing, MWSDI, BPEL Editor e MWSCF. MWSAF 4 è il tool dedicato all annotazione semantica di documenti WSDL (Figura 7). Si tratta di un software realizzato in Java che mostra un layout organizzato in 3 colonne. Nella prima sono visualizzati in maniera gerarchica tutti i nodi di interesse semantico del file WSDL caricato. Nella terza colonna vengono visualizzati tutti i concetti contenuti in una determinata ontologia. La colonna centrale viene utilizzata per suggerire il matching tra documento WSDL ed ontologia in base ad un algoritmo di matching che fornisce anche un coefficiente (da 0 ad 1) della pertinenza dell associazione. Figura 7 Screenshot del tool MWSAF Pag. 23 di 40

24 Ogni associazione proposta è corredata da una relativa check-box, agendo sulla quale, l utente può accettare l associazione proposta o respingerla. Non tutte le informazioni del documento WSDL possono trovare un associazione con i concetti espressi dall ontologia scelta. Al termine della fase di approvazione dei differenti match proposti dal sistema, è possibile applicare l annotazione semantica al documento WSDL originale utilizzando l apposita voce di menù. Si tratta di un annotatore semi-automatico per documenti WSDL. IBM Semantic Tools for Web Services Si tratta di una serie di plug-in per Eclipse particolarmente utili quando è necessario effettuare il mashup di diversi Web Service. Uno di questi è quello di Web Service Interface Matching 5. Attraverso questo strumento è possibile, in maniera semi-automatica, procedere all associazione delle interfaccie di due servizi (Figura 8). Figura 8 Screenshot di IBM Annotation Editor da pagina HTML 5 Pag. 24 di 40

25 Il software calcola la similarità semantica tra le descrizioni dei servizi risolvendo le differenze lessicali, strutturali e sintattiche dei documenti e creando una mappa di connessione tra essi (Figura 9). Fu inizialmente creato per supportare WSDL-S (poi evolutosi in SAWSDL). Utilizza tecniche di Information Retrieval: part-of-speech tagging e consultazione automatica di tesauri in inglese. Figura 9 Screenshot di IBM Annotation Editor Pag. 25 di 40

26 Tool manuali Radiant Radiant 6 è un tool per l annotazione semantica di documenti WSDL utilizzando lo standard SAWSDL. Non si tratta di un applicazione stand-alone ma di un plug-in per Eclipse. Anch esso sviluppato dal LSDIS della University of Georgia, visualizza graficamente i nodi del documento WSDL ed i concetti dell ontologia di riferimento (Figura 10). Figura 10 Screenshot di Radiant L ontologia di riferimento può essere sia locale (in formato OWL) oppure remota. In questo caso il matching tra i concetti non viene proposto dal software ma gestito manualmente e completamente dall utilizzatore del tool. E possibile interagire tra gli elementi utilizzando scorciatoie più naturali ed immediate, come il Drag&Drop nodo-nodo (associando un concetto ontologico direttamente ai nodi del documento WSDL sulla sinistra) e nodo-codice 7 (associando il concetto ontologico in porzioni di codice WSDL nella colonna centrale). Si tratta di un semplice annotatore manuale per documenti WSDL Pag. 26 di 40

27 WODEN4SAWSDL WODEN4SAWSDL 8 è una libreria Java, realizzata ed utilizzata da METEOR-S per facilitare la gestione di documenti WSDL 2.0 da annotare semanticamente con lo standard SAWSDL. All interno di tale libreria non vi sono algoritmi per l annotazione semantica ma solo le primitive per l interazione con il modello WSDL 2.0 e SAWSDL. Le API sono disponibili gratuitamente attraverso il sito web del progetto. SAWSDL4J SAWSDL4J 9 è una libreria Java che facilita enormemente l interazione con un documento WSDL ed il suo arricchimento semantico. Queste API si basano sulle precedenti (in termini di tempo) WSDL4J: librerie Java utili per l interazione con documenti WSDL. WSMO Studio WSMO Studio 10 è un framework open-source per la modellazione di Semantic Web Service e Semantic Business Process. Si tratta di un tool capace di gestire ontologie, elementi WSMO ed arricchire documenti WSDL utilizzando SAWSDL (Figura 11). Il difetto di questo tool è la sua forte connessione con WSMO ed i suoi elementi fondanti. Se il file WSDL può essere corredato da annotazioni in SAWSDL, questo deve comunque allacciarsi ad ontologie descritte con WSML. Anche in questo caso, l attività di annotazione non è assistita ma completamente manuale. E l utente che utilizza il tool a dover decidere le associazioni da implementare Pag. 27 di 40

28 Figura 11 Screenshot di WSMO Studio SCA Tools per Eclipse Si tratta di un insieme di plug-in appositamente realizzati per gestire le informazioni semantiche in Eclipse. SCA Tool Feature - SAWSDL Support 11 è, in particolare, il tool che consente l annotazione in SAWSDL di documenti WSDL (Figura 12). Per utilizzarlo è necessario installare Jena che fornisce una comoda interfaccia per la ricerca di concetti all intero di ontologie locali e remote. Dopo aver individuato con Jena il concetto che ci interessa è possibile trascinarlo direttamente nel codice del documento WSDL. Il plug-in si preoccuperà di incollare il codice in formato SAWSDL (utilizzando gli apposite proprietà di estensione). E un tool di annotazione completamente manuale dal momento che spetta all utente la fase di ricerca dei concetti più adatti. 11 Pag. 28 di 40

29 Figura 12 Screenshot di Jena con SCA Tool Feature - SAWSDL Support 2.5 Tecniche di NLP per l'annotazione semantica NLP - i concetti base Per indicizzazione semantica di documenti si intende la capacità di catalogare le parole presenti all interno di un documento in base al loro significato. Semplificando, è possibile associare ad ogni parola il significato corretto in base al contesto in cui la parola è utilizzata. L utilizzo di tale strategia di indicizzazione da parte di un motore di ricerca implica la sua realizzazione in maniera del tutto automatica. Associare un significato ad una parola è il risultato di un processo che sfrutta una grande quantità di conoscenza nel campo della NLP (Natural Language Processing). Pag. 29 di 40

30 Figura 13 - Schematizzazione del processo di indicizzazione semantica dei documenti La Figura 13 mostra schematicamente il processo di elaborazione del linguaggio naturale all interno del quale vi sono diverse attività. Normalizzazione del testo: il testo viene ripulito dei caratteri che non sono utili (per esempio una pagine HTML viene ripulita dei tag) e viene preparato nel formato richiesto dalle fasi successive. Riconoscimento della lingua: viene riconosciuta la lingua del testo, in modo da poter caricare tutte le risorse linguistiche necessarie ai processi successivi. Part-of-speech tagging: viene attribuita ad ogni parola il suo ruolo grammaticale (nome, verbo, aggettivo, avverbio, ). Stemming: tutte le parole vengono ricondotte alla loro radice (ad esempio toys diventa toy ). Riconoscimento delle entità: vengono ricercati all interno del testo i nomi propri di città, personaggi celebri, fiumi, mari, date, simboli di valuta, sigle, ecc Eliminazione stop word: vengono eliminate le parole che apportano scarsa informazione, come articoli e preposizioni. Word Sense Disambiguation: si cerca di attribuire ad ogni parola il giusto significato all interno del documento. Il risultato di tale processo è la BOC (bag-of-concepts), ovvero ad ogni documento viene associato un insieme di concetti (significati), che sarà utilizzato nel processo di ricerca per poter rintracciare i documenti che contengono uno o più significati. La BOC può essere strutturata in modo differente, ma il suo scopo è sempre quello di contenere informazioni semantiche. Ogni elemento della BOC potrebbe avere una struttura siffatta, <position, stem, POS-tag, concept, TF/IDF> nella quale: position: individua la posizione della parola all interno del documento; stem: radice della parola; Pag. 30 di 40

31 POS-tag: ruolo grammaticale della parola; concept: codice identificativo che individua univocamente il significato della parola all interno di una ontologia lessicale; TF/IDF: misura del potere informativo del concetto all interno del documento ed è calcolata come:, dove: cf è la frequenza del concetto all interno del documento, n doc è il numero totale di documenti indicizzati e cf doc è la frequenza del concetto in tutti gli n doc documenti. Tale struttura permette di effettuare ricerche combinate solo sui concetti, solo sulla radice o contemporaneamente sia sul concetto sia sulla radice SWOP Annotation: come suggerire le annotazioni Realizzare una piattaforma per l annotazione dei web service significa essere in grado di suggerire automaticamente i concetti più pertinenti per ogni singola componente del servizio web da annotare. Utilizzando lo standard SAWSDL, precedentemente descritto, è possibile associare una descrizione testuale (in lingua inglese) ad ogni operazione di un servizio web predeterminato. Con questa operazione termina il primo intervento umano previsto per la fase di annotazione semantica: l associazione di testo descrittivo. Dopo aver annotato con delle descrizioni testuali gli elementi opportuni di un servizio web, allora è possibile elaborare tali descrizioni alla ricerca di concetti noti e pertinenti. I concetti sono memorizzati all interno di una ontologia di dominio e a loro volta contengono una propria descrizione testuale. Lo scopo dell algoritmo di suggerimento dei concetti ontologici pertinenti è quello di scovare, tra tutti i concetti memorizzati nell ontologia, quelli che hanno un nesso semantico più forte con la descrizione di ogni elemento del servizio web. Tale ricerca viene effettuata misurando la similarità semantica di ogni frase da annotare con la descrizione ontologica di tutti i concetti presenti all interno dell ontologia Algoritmo di text-similarity Ogni frase espressa in linguaggio naturale contiene un insieme di parole che sono irrilevanti ai fini dell analisi semantica oggetto di questo documento. L insieme di queste parole è noto in letteratura con il termine stopword. La prima operazione che l algoritmo esegue è quella di rimozione delle stopword da tutte le frasi oggetto di analisi. Pag. 31 di 40

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

Introduzione al Semantic Web

Introduzione al Semantic Web Corso di Laurea Specialistica in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Giuseppe Loseto Dal Web al Semantic Web 2 Dal Web al Semantic Web: Motivazioni Il Web dovrebbe

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Code Architects S.r.l. SWOP Semantic Web-service Oriented Platform B2SO201

Code Architects S.r.l. SWOP Semantic Web-service Oriented Platform B2SO201 UNIONE EUROPEA FONDO EUROPEO DI SVILUPPO REGIONALE. REGIONE PUGLIA AREA POLITICHE PER LO SVILUPPO IL LAVORO E L INNOVAZIONE Modello M14 Allegati RTA POR PUGLIA 2007-2013 - Asse I Linea 1.1 Azione 1.1.2

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

Dettagli

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio

Dettagli

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Presentazione di Cedac Software

Presentazione di Cedac Software Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994

Dettagli

Service Oriented Architectures (SOA)

Service Oriented Architectures (SOA) Facoltà di Ingegneria dell Informazione Laurea Specialistica in Ingegneria Informatica Facoltà di Ingegneria dei Sistemi Laurea Magistrale in Ingegneria Biomedica Dipartimento di Elettronica e Informazione

Dettagli

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Survey sui Framework per Testing di Sistemi Basati su Web Services

Survey sui Framework per Testing di Sistemi Basati su Web Services Survey sui Framework per Testing di Sistemi Basati su Web Services Severoni Francesco Facoltà di Scienze Dipartimento di Informatica Università degli Studi - L Aquila 67100 L Aquila, Italia Argomenti Trattati

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

CONVENZIONI DI NOMENCLATURA E SEMANTICA

CONVENZIONI DI NOMENCLATURA E SEMANTICA Sistema pubblico di cooperazione: CONVENZIONI DI NOMENCLATURA E SEMANTICA Versione 1.1 INDICE 1. MODIFICHE DOCUMENTO...3 2. OBIETTIVI E CONTESTO DI RIFERIMENTO... 4 2.1. Scopi del documento... 5 2.2. Note

Dettagli

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP

Web Services. Scoperta del servizio UDDI. Descrizione del servizio WSDL. Accesso al servizio SOAP XML. Starto di comunicazione HTTP Web Services I web services servono a rendere interoperabili le applicazioni e favoriscono la loro integrazione. I servizi web sono applicazioni software che possono essere scoperte, descritte e usate

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Web Service Architecture

Web Service Architecture Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@di.univaq.it http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica

Dettagli

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3,

automation using workflow technology and web services Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, Emergency healthcare process automation using workflow technology and web services M. Poulymenopoulou, F. Malamateniou, G. Vassilacopoulos Med. Inform. (September 2003) vol. 28, no. 3, 195 207 Processo

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario di Sistemi Distribuiti RPC su SOAP Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP

Dettagli

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 1. Introduzione...3 1.2. Application vs Tool... 3 2. Componenti logiche di un modello... 6 3. Ontologie e Semantic

Dettagli

COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE

COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE COME FARE PER. ARMONIZZARE IL SITO COL SISTEMA DI GESTIONE DOCUMENTALE DELL ENTE Flavia Marzano marzano@cibernet.it 10/05/2004 ARPA Club Forum PA 2004 Contenuti Cenni normativi Sistema di gestione documentale:

Dettagli

1. Rappresentazione della conoscenza 2. Ontologie 3. Usi delle ontologie 4. Progettazione di un ontologia 5. Esempio di progettazione di una

1. Rappresentazione della conoscenza 2. Ontologie 3. Usi delle ontologie 4. Progettazione di un ontologia 5. Esempio di progettazione di una 1. Rappresentazione della conoscenza 2. Ontologie 3. Usi delle ontologie 4. Progettazione di un ontologia 5. Esempio di progettazione di una ontologia 1 Rappresentazione della conoscenza Il problema di

Dettagli

Quali sono le tecnologie che l ente ha a disposizione e quelle predisposte ad essere implementate in un prossimo futuro.

Quali sono le tecnologie che l ente ha a disposizione e quelle predisposte ad essere implementate in un prossimo futuro. Esercizio di GRUPPO: PROTOCOLLO INFORMATICO Mappa concettuale TECNOLOGIE DISPONIBILI Quali sono le tecnologie che l ente ha a disposizione e quelle predisposte ad essere implementate in un prossimo futuro.

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Enrico Fagnoni BOTK IN A NUTSHELL

Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL Enrico Fagnoni BOTK IN A NUTSHELL 20/01/2011 1 Business Ontology ToolKit Business Ontology Toolkit (BOTK) è un insieme estensibile di strumenti per realizzare applicazioni basate

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

fornitore di servizi utente all interazione tra utenti e sistemi

fornitore di servizi utente all interazione tra utenti e sistemi WEB SERVICES Successo del Web Negli anni passati il Web ha avuto un enorme successo principalmente per due motivi: Semplicità: Ubiquità Per un fornitore di servizi è semplice raggiungere un numero molto

Dettagli

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Applicazioni e Architetture Internet 1 Introduzione Introduzione alle architetture a tre livelli Formati di dati per il Web HTML, XML, DTD 2 Componenti dei sistemi dataintensive Tre tipi separati di funzionalità:

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org 1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto

Dettagli

Ontologie per l Informazione Geografica: prospettive e implementazione

Ontologie per l Informazione Geografica: prospettive e implementazione Ontologie per l Informazione Geografica: prospettive e implementazione Conferenza AM-FM Roma, 21-22 settembre 2006 Roberto Fresco Roberto della Maggiore Indice GIS sul Web: problematiche Semantic Web in

Dettagli

Ingegneria dei Requisiti

Ingegneria dei Requisiti Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Ingegneria dei Requisiti E. TINELLI Contenuti I requisiti del software Documento dei requisiti I processi

Dettagli

Accordi. Tecnologie di cooperazione. Cooperazione fra Amministrazioni

Accordi. Tecnologie di cooperazione. Cooperazione fra Amministrazioni Alcune considerazioni nell ambito di un sistema di cooperazione informatico che preveda lo scambio di dati tra due o più organizzazioni. Quando parliamo di un sistema di cooperazione informatico ci riferiamo

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

Glossario. dei. termini

Glossario. dei. termini MoonSoft Via Belzoni, 6 35100 Padova E-Mail: moonsoft2007@gmail.com Glossario dei termini Versione 1.2e Redatto da: Spimpolo Matteo Controllato da: Scapin Enrico Approvato da: Tessari Lorenzo MST_RR_GlossarioDeiTermini_1.2e

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Spettabile. Termine attività PREMESSA

Spettabile. Termine attività PREMESSA Spettabile Ogetto: Regione Lazio - Bando per l educazione permanente degli adulti. Misura 1.a di Sistema. Delibera Giunta Regionale n. 30 dell 11/01/2001 - (Pubblicato nel BUR Lazio n.5 del 20 febbraio

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

josh Archive! The Organization Intelligence Software archiviazione documentale conservazione sostitutiva

josh Archive! The Organization Intelligence Software archiviazione documentale conservazione sostitutiva josh Archive! The Organization Intelligence Software archiviazione documentale conservazione sostitutiva josh è un software di it Consult e marchio registrato della stessa it Consult S.r.l. - 2001-2014

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

SISTEMI DOCUMENTALI DISTRIBUITI PER LA CREAZIONE DI COMUNITÀ COOPERANTI

SISTEMI DOCUMENTALI DISTRIBUITI PER LA CREAZIONE DI COMUNITÀ COOPERANTI SISTEMI DOCUMENTALI DISTRIBUITI PER LA CREAZIONE DI COMUNITÀ COOPERANTI Il caso di studio della piattaforma Octapy CMS e i circuiti informativi della cultura delle regioni Campania e Puglia 3 C.Noviello

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

ECOSISTEMA DI UN REGISTRO DI COLLABORAZIONE:

ECOSISTEMA DI UN REGISTRO DI COLLABORAZIONE: ECOSISTEMA DI UN REGISTRO DI COLLABORAZIONE: Il sistema di modellazione di schemi e componenti Alfredo Scopece Consulente di Informatica Maggio 2005 Sintesi Il Registro di Collaborazione è un servizio

Dettagli

Il Provvedimento del Garante

Il Provvedimento del Garante Il Provvedimento del Garante Il provvedimento del Garante per la Protezione dei dati personali relativo agli Amministratori di Sistema (AdS) Misure e accorgimenti prescritti ai titolari dei trattamenti

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

POR Regione Campania 2000-2006 Misura 3.14. Promozione della partecipazione Femminile al Mercato del Lavoro. Dispensa

POR Regione Campania 2000-2006 Misura 3.14. Promozione della partecipazione Femminile al Mercato del Lavoro. Dispensa DISPENSA I.C.T. POR Regione Campania 2000-2006 Misura 3.14 Promozione della partecipazione Femminile al Mercato del Lavoro Dispensa IL WORLD WIBE WEB: LINGUAGGI, STRUTTURE, FUNZIONI INDICE L ESPLOSIONE

Dettagli

Un portale semantico per i Beni Culturali

Un portale semantico per i Beni Culturali Un portale semantico per i Beni Culturali A. Ciapetti, D. Berardi, A. Donnini, M. Lorenzini, M.E. Masci, D. Merlitti, S. Norcia, F. Piro (Etcware) M. De Vizia Guerriero, O. Signore (CNR W3C Italia) EVA

Dettagli

Una Architettura Open Service per la Gestione del Rischio Ambientale: il progetto ORCHESTRA

Una Architettura Open Service per la Gestione del Rischio Ambientale: il progetto ORCHESTRA Una Architettura Open Service per la Gestione del Rischio Ambientale: il progetto ORCHESTRA Olga RENDA (*), John FAVARO (**), Thomas USLÄNDER (***), Ralf DENZER (****) (*) Intecs S.p.A., Pisa, Italy, Tel.

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

Sistemi Ipermediali I modelli dei sistemi ipermediali

Sistemi Ipermediali I modelli dei sistemi ipermediali Documenti e ipermedialità Sistemi Ipermediali I modelli dei sistemi ipermediali Augusto Celentano Università Ca Foscari Venezia Documento ipertestuale insieme di informazioni testuali e grafiche, esplorabili

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1

Dettagli

Software per la gestione di musei di arte contemporanea1

Software per la gestione di musei di arte contemporanea1 Software per la gestione di musei di arte contemporanea1 Identificativo del progetto: CA Nome documento: System Design(SD) Identificativo del documento: 6 CA_SD_E1_R1 Data del documento: 21/05/2012 Prima

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

Motori di ricerca di ultima generazione: il web semantico

Motori di ricerca di ultima generazione: il web semantico Motori di ricerca di ultima generazione: il web semantico Quando parliamo di vie di comunicazione di un sistema EWS, è opportuno pensare a quale strada può essere la più rapida per il recupero dei dati

Dettagli

Enterprise @pplication Integration Software S.r.l.

Enterprise @pplication Integration Software S.r.l. SAP rel.1.0 : SAP State: Final Date: 03-27-200 Enterprise @pplication Integration Software S.r.l. Sede legale: Via Cola di Rienzo 212-00192 Rome - Italy Tel. +39.06.6864226 Sede operativa: viale Regina

Dettagli

Servizi Web in Registri Distribuiti Luciano Baresi 1, Debora Desideri 2, Matteo Melideo 2, Alberto Sillitti 3, Giancarlo Succi 3

Servizi Web in Registri Distribuiti Luciano Baresi 1, Debora Desideri 2, Matteo Melideo 2, Alberto Sillitti 3, Giancarlo Succi 3 Servizi Web in Registri Distribuiti Luciano Baresi 1, Debora Desideri 2, Matteo Melideo 2, Alberto Sillitti 3, Giancarlo Succi 3 1 Politecnico di Milano 2 Engineering Ingegneria Informatica 3 Libera Università

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web Il World Wide Web Il Web Claudio Fornaro ver. 1.3 1 Il World Wide Web (ragnatela di estensione mondiale) o WWW o Web è un sistema di documenti ipertestuali collegati tra loro attraverso Internet Attraverso

Dettagli

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II SOA e Web Service Figure tratte dal testo di riferimento, Copyright

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale

MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale MCloud.Gov l infrastruttura SaaS per la Pubblica Amministrazione locale 1. Livello infrastrutturale Il Cloud, inteso come un ampio insieme di risorse e servizi fruibili da Internet che possono essere dinamicamente

Dettagli

MODALITÀ DI FUNZIONAMENTO DEL CATALOGO SCHEMI ED ONTOLOGIE

MODALITÀ DI FUNZIONAMENTO DEL CATALOGO SCHEMI ED ONTOLOGIE MODALITÀ DI FUNZIONAMENTO DEL CATALOGO SCHEMI ED ONTOLOGIE Versione 1.0 funzionamento del Versione: 1. 0 INDICE 1. PREFAZIONE... 4 1.1. Autori... 4 1.2. Modifiche Documento... 4 1.3. Riferimenti... 5 1.4.

Dettagli

Simple & Efficient. www.quick-software-line.com

Simple & Efficient. www.quick-software-line.com Cosa è XML? extensible Markup Language Linguaggio è una definizione limitativa XML serve a descrivere con precisione qualsiasi informazione XML è estensibile. Ovvero non ha tag predefiniti come HTML XML

Dettagli

Le ontologie nell integrazione dei dati

Le ontologie nell integrazione dei dati Le ontologie nell integrazione dei dati Prof. Letizia Tanca 1 Ontologie Definizione formale e condivisa di un vocabolario di termini e delle relazioni tra essi Relazioni possibili: sinonimia omonimia iponimia

Dettagli

La Gestione degli Accordi di Cooperazione nel progetto OpenSPCoop

La Gestione degli Accordi di Cooperazione nel progetto OpenSPCoop Università degli Studi di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali Dipartimento di Informatica TESI DI LAUREA La Gestione degli Accordi di Cooperazione nel progetto OpenSPCoop Relatori prof.

Dettagli

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

Università degli studi dell Aquila. Sistemi informativi aziendali

Università degli studi dell Aquila. Sistemi informativi aziendali Università degli studi dell Aquila 6 C.F.U. 9 C.F.U. Ing. Gaetanino Paolone (gaetanino.paolone@univaq.it) Prof. Dr. Luciano Fratocchi (luciano.fratocchi@univaq.it) Contenuti Web Information System. La

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Architetture a oggetti distribuiti

Architetture a oggetti distribuiti Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo

Dettagli

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Web Services Dogane LINEE GUIDA

Web Services Dogane LINEE GUIDA Web Services Dogane LINEE GUIDA Pagina 1 di 17 Indice Indice... 2 1. INTRODUZIONE... 3 2. TEST FUNZIONALI SUI WEB SERVICES... 8 3. SICUREZZA... 14 4. FIRMA... 14 5. TRASFORMAZIONE CERTIFICATO DI FIRMA...

Dettagli

Tecniche Multimediali

Tecniche Multimediali Chiedersi se un computer possa pensare non è più interessante del chiedersi se un sottomarino possa nuotare Edsger Dijkstra (The threats to computing science) Tecniche Multimediali Corso di Laurea in «Informatica»

Dettagli

Internet e World Wide Web

Internet e World Wide Web Alfonso Miola Internet e World Wide Web Dispensa C-02 Settembre 2005 1 Nota bene Il presente materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica e Automazione Università

Dettagli

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati

INTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

ERP Commercio e Servizi

ERP Commercio e Servizi ERP Commercio e Servizi Sistema informativo: una scelta strategica In questi ultimi anni hanno avuto grande affermazione nel mercato mondiale i cosiddetti sistemi software ERP. Tali sistemi sono in grado

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli