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

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

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

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

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

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

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

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

Dalla Mappatura dei Processi al Business Process Management

Dalla Mappatura dei Processi al Business Process Management Dalla Mappatura dei Processi al Business Process Management Romano Stasi Responsabile Segreteria Tecnica ABI Lab Roma, 4 dicembre 2007 Agenda Il percorso metodologico Analizzare per conoscere: la mappatura

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE

ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE ISTRUZIONI PER IL SERVIZIO SPCOOP - RICEZIONE Pag. 1 di 14 INDICE 1. Glossario... 3 2. il servizio SPCoop - Ricezione... 5 3. Il web-service RicezioneFatture... 8 3.1 Operazione RiceviFatture... 9 3.1.1

Dettagli

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Dai metadati all harvesting

Dai metadati all harvesting Dai metadati all harvesting la gestione di risorse informative attraverso repository interoperabili di Gino Roncaglia 1 Pubblicato su Culture del testo e del documento 26/2008, pp. 109 122 1. Cosa sono

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO

REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06) ALLEGATO N. 1 CARATTERISTICHE TECNICHE DEL SERVIZIO REGIONE BASILICATA PROCEDURA NEGOZIATA PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, REALIZZAZIONE E GESTIONE DEL SISTEMA INTEGRATO SERB ECM DELLA REGIONE BASILICATA (ART. 125 DEL D.LGS. N. 163/06)

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Definizione e struttura della comunicazione

Definizione e struttura della comunicazione Definizione e struttura della comunicazione Sono state date molteplici definizioni della comunicazione; la più semplice e comprensiva è forse questa: passaggio di un'informazione da un emittente ad un

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Principali funzionalità di Tustena CRM

Principali funzionalità di Tustena CRM Principali funzionalità di Tustena CRM Importazione dati o Importazione da file dati di liste sequenziali per aziende, contatti, lead, attività e prodotti. o Deduplica automatica dei dati importati con

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

Enterprise Content Management. Terminologia. KM, ECM e BPM per creare valore nell impresa. Giovanni Marrè Amm. Del., it Consult

Enterprise Content Management. Terminologia. KM, ECM e BPM per creare valore nell impresa. Giovanni Marrè Amm. Del., it Consult KM, ECM e BPM per creare valore nell impresa Giovanni Marrè Amm. Del., it Consult Terminologia Ci sono alcuni termini che, a vario titolo, hanno a che fare col tema dell intervento KM ECM BPM E20 Enterprise

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL?

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? archiviazione ottica, conservazione e il protocollo dei SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? Il software Facile! BUSINESS Organizza l informazione

Dettagli

IT FINANCIAL MANAGEMENT

IT FINANCIAL MANAGEMENT IT FINANCIAL MANAGEMENT L IT Financial Management è una disciplina per la pianificazione e il controllo economico-finanziario, di carattere sia strategico sia operativo, basata su un ampio insieme di metodologie

Dettagli

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI Prefazione Autori XIII XVII Capitolo 1 Sistemi informativi aziendali 1 1.1 Introduzione 1 1.2 Modello organizzativo 3 1.2.1 Sistemi informativi

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

L Azienda che comunica in tempo reale

L Azienda che comunica in tempo reale Il servizio gestionale SaaS INNOVATIVO per la gestione delle PMI Negli ultimi anni si sta verificando un insieme di cambiamenti nel panorama delle aziende L Azienda che comunica in tempo reale La competizione

Dettagli

Corso Base ITIL V3 2008

Corso Base ITIL V3 2008 Corso Base ITIL V3 2008 PROXYMA Contrà San Silvestro, 14 36100 Vicenza Tel. 0444 544522 Fax 0444 234400 Email: proxyma@proxyma.it L informazione come risorsa strategica Nelle aziende moderne l informazione

Dettagli

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

EMC Documentum xcp for Business Process Management

EMC Documentum xcp for Business Process Management Analisi dettagliata Abstract Oggi le aziende devono affrontare una sfida comune: ottimizzare i processi di business e la loro efficienza operativa. Per vincere questa sfida, EMC Documentum xcelerated Composition

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

Mario Polito IARE: Press - ROMA

Mario Polito IARE: Press - ROMA Mario Polito info@mariopolito.it www.mariopolito.it IMPARARE A STUD IARE: LE TECNICHE DI STUDIO Come sottolineare, prendere appunti, creare schemi e mappe, archiviare Pubblicato dagli Editori Riuniti University

Dettagli

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testualilezione Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testualilezione 2 Le principali tecniche di analisi testuale Facendo riferimento alle tecniche di data mining,

Dettagli

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it ISO 9001: 2008 Profilo Aziendale METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it Sede legale: * Viale Brodolini, 117-60044 - Fabriano (AN) - Tel. 0732.251856 Sede amministrativa:

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra

UNIVERSITÀ DEGLI STUDI DI BERGAMO. PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra PROPOSTE di TIROCINI/TESI di LAUREA - Prof. Patrizia Scandurra A seguire alcune proposte di tirocini/tesi in tre ambiti dell ingegneria del software (non del tutto scorrelati): (1) Model-driven driven

Dettagli

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it Sicurezza delle reti wireless Alberto Gianoli alberto.gianoli@fe.infn.it Concetti di base IEEE 802.11: famiglia di standard tra cui: 802.11a, b, g: physical e max data rate spec. 802.11e: QoS (traffic

Dettagli

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE

REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONN INTERCONNECTING FIRST AND SECOND LIFE REAL WORLD AND VIRTUAL WORLD ARCHITECTURE FOR INTERCONNECTING FIRST AND SECOND LIFE Università degli studi di Catania Facoltà di Ingegneria 26 Gennaio 2009 Sommario 1 Introduzione 2 Middleware Middleware:

Dettagli

Introduzione alla VPN del progetto Sa.Sol Desk Formazione VPN

Introduzione alla VPN del progetto Sa.Sol Desk Formazione VPN Introduzione alla VPN del progetto Sa.Sol Desk Sommario Premessa Definizione di VPN Rete Privata Virtuale VPN nel progetto Sa.Sol Desk Configurazione Esempi guidati Scenari futuri Premessa Tante Associazioni

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI?

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? Le offerte di public cloud proliferano e il private cloud è sempre più diffuso. La questione ora è come sfruttare

Dettagli

2013 Skebby. Tutti i diritti riservati.

2013 Skebby. Tutti i diritti riservati. Disclaimer: "# $%&'(&)'%# *("# +,(-(&'(# *%$).(&'%#,/++,(-(&'/# 0"#.(1"0%# *(""20&3%,./40%&(# /# &%-',/# disposizione. Abbiamo fatto del nostro meglio per assicurare accuratezza e correttezza delle informazioni

Dettagli

LA TEMATICA. Questa situazione si traduce facilmente:

LA TEMATICA. Questa situazione si traduce facilmente: IDENTITY AND ACCESS MANAGEMENT: LA DEFINIZIONE DI UN MODELLO PROCEDURALE ED ORGANIZZATIVO CHE, SUPPORTATO DALLE INFRASTRUTTURE, SIA IN GRADO DI CREARE, GESTIRE ED UTILIZZARE LE IDENTITÀ DIGITALI SECONDO

Dettagli

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto Scheda descrittiva del programma Open-DAI ceduto in riuso CSI-Piemonte in rappresentanza del Consorzio di progetto Agenzia per l Italia Digitale - Via Liszt 21-00144 Roma Pagina 1 di 19 1 SEZIONE 1 CONTESTO

Dettagli

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi

Il portafoglio VidyoConferencing. Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi Il portafoglio VidyoConferencing Tutto ciò di cui avete bisogno per realizzare videoconferenze HD di qualità, accessibili e a costi vantaggiosi La qualità HD di Vidyo mi permette di vedere e ascoltare

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

Dettagli

Web Conferencing and Collaboration tool

Web Conferencing and Collaboration tool Web Conferencing and Collaboration tool La piattaforma Meetecho Piattaforma di Web Conferencing e Collaborazione on line in tempo reale Caratteristiche generali Soluzione client-server progettata per essere

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it

InitZero s.r.l. Via P. Calamandrei, 24-52100 Arezzo email: info@initzero.it izticket Il programma izticket permette la gestione delle chiamate di intervento tecnico. E un applicazione web, basata su un potente application server java, testata con i più diffusi browser (quali Firefox,

Dettagli

Privacy Policy del sito http://www.plastic-glass.com

Privacy Policy del sito http://www.plastic-glass.com Cos'è una PRIVACY POLICY Privacy Policy del sito http://www.plastic-glass.com Questo documento, concernente le politiche di riservatezza dei dati personali di chi gestisce il sito Internet http://www.plastic-glass.com

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive

MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive 1 MyMedia Portal LMS un servizio SaaS di e-learning basato sul Video Streaming per la vendita on line di Lezioni Multimediali interattive Cos è un servizio di e-learning SaaS, multimediale, interattivo

Dettagli

progettiamo e realizziamo architetture informatiche Company Profile

progettiamo e realizziamo architetture informatiche Company Profile Company Profile Chi siamo Kammatech Consulting S.r.l. nasce nel 2000 con l'obiettivo di operare nel settore I.C.T., fornendo servizi di progettazione, realizzazione e manutenzione di reti aziendali. Nel

Dettagli

Suite o servizio: Arkottica migliora l organizzazione aziendale

Suite o servizio: Arkottica migliora l organizzazione aziendale Suite o servizio: Arkottica migliora l organizzazione aziendale Gestisci. Organizza. Risparmia. Una lunga storia, uno sguardo sempre rivolto al futuro. InfoSvil è una società nata nel gennaio 1994 come

Dettagli

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer

Servizi DNS - SMTP FTP - TELNET. Programmi. Outlook Express Internet Explorer Servizi DNS - SMTP FTP - TELNET Programmi Outlook Express Internet Explorer 72 DNS Poiché riferirsi a una risorsa (sia essa un host oppure l'indirizzo di posta elettronica di un utente) utilizzando un

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Web Solution 2011 EUR

Web Solution 2011 EUR Via Macaggi, 17 int.14 16121 Genova - Italy - Tel. +39 010 591926 /010 4074703 Fax +39 010 4206799 Cod. fisc. e Partita IVA 03365050107 Cap. soc. 10.400,00 C.C.I.A.A. 338455 Iscr. Trib. 58109 www.libertyline.com

Dettagli

Studio di retribuzione 2014

Studio di retribuzione 2014 Studio di retribuzione 2014 TECHNOLOGY Temporary & permanent recruitment www.pagepersonnel.it EDITORIALE Grazie ad una struttura costituita da 100 consulenti e 4 uffici in Italia, Page Personnel offre

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli