&uot andreagaschi.org

Semantic Web - Introduzione

Una parte degli appunti della lezione di oggi del corso di Argomenti avanzati di sistemi informativi, tenuta da Emanuele Della Valle. Il semantic web sarà anche l’argomento del mio approfondimento, oltre che una parte consistente del progetto che sto completando: la progettazione di un Data Warehouse per un centro congressi.

“C’era una volta, in un’organizzazione felice, un’applicazione con tanti utenti soddisfatti, ma l’organizzazione non era certo l’unica. Altre organizzazioni avevano applicazioni con utenti soddisfatti e, per esigenze di business, due organizzazioni sentirono l’esigenza di integrare le due applicazioni. Pensando alla contingenza l’organizzazione felice decise di addossarsi lo sforzo di integrazione…” ma quando il problema di integrazione coinvolge molte organizzazioni autonome ma interdipendenti non paga nel lungo periodo.
“…e fu così che nacquero le soluzioni di Enterprise Application Integration e iniziò il processo di maturazione delle tecnologie per l’integrazione”.
L’integrazione è un problema e l’interoperabilità è una possibile soluzione: “La capacità di comunicare, eseguire programmi o trasferire dati tra varie unità funzionali in modo da richiedere poca o nessuna conoscenza delle caratteristiche proprie di tali unità” (Source: ISO-IEC-2382 “Information technology – Vocabular””).

Gli approcci attuali comportano notevoli limiti quando si trovano ad operare in contesti caratterizzati da alta dinamicità. È semplice gestire pochi servizi all’interno di un’unica organizzazione da utilizzare in workflow poco complessi, mentre diventa difficile gestirli quando i servizi sono numerosi e occorre comporli in complessi business process cross-organizzazione.
L’eterogeneità semantica rimane il principale intoppo alla integrazione di applicazioni, un intoppo che i Web Services da soli non risolveranno. Finchè qualcuno non troverà un modo di per far si che le applicazioni si capiscano, gli effetti dei Web Services resteranno limitate. Quando si passano i dati di un utente in un certo formato usango un Web Services come interfaccia, il programma che li riceve deve comunque sapere in che formato sono. Occorre comunque accordarsi sulla struttura di ciascun business object. Fino ad ora nessuno ha ancora trovato una soluzione attuabile …” (Larry Ellison - Oracle Chairman and CEO).

Nell’implementazione di una SOA usando Web Services, la semantica dell’informazione scambiata in parte è codificata nella descrizione del servizio (WSD), ma quella che abilità l’interazione resta nella testa delle persone. Il Semantic Web sta invece rendendo disponibili meccanismi per rendere la semantica elaborabile. Il meccanismo sono le ontologie, perché abilitano la comprensione dei simboli da parte delle persone e allo stesso tempo la loro elaborabilità. Le ontologie permettono di descrivere le relazioni tra i simboli in modo formale.
Mentre nel keyword mathcing (es. in UDDI) il matching è basato solo sulla sintassi della stringa, avendo a disposizione un’ontologia si possono utilizzare le relazioni tra i simboli per “inferire” altre forme di matching.
I possibili matching abilitati dalla relazione di classificazione sono:

  • Exact matching: tutti i servizi classificati utilizzando il simbolo richiesto
  • Plug-in matching: tutti i servizi classificati utilizzando uno dei simboli che sono classificati come tipi più specifici di quello richiesto
  • Subsume matching: tutti i servizi classificati utilizzando uno dei simboli di tipo più generico di quello richiesto

In termini astratti le ontologie servono a rappresentare correttamente una parte dell’universo che ci circonda. In termini pratici (nel contesto dell’ICT), specificano un modello concettuale condiviso, descrivendo un dominio applicativo, con lo scopo di agevolare la comunicazione sia tra più sistemi informativi sia tra le persone e i sistemi informativi.

Definizione di ontologia: “Una specifica esplicita e formale di una concettualizzazione condivisa” (Strudel 1998). Significa che concetti, relazioni, funzioni, assiomi sono definiti esplicitamente; significa che una ontologia deve essere leggibile dalle macchine, deve essere un modello concettuale, su cui c’è accordo, di qualche aspetto del mondo.

Oggi in una comune Intranet esistono molti sistemi e numerose integrazioni. Questa situazione è abbastanza comprensibile all’uomo, ma non è elaborabile dalle macchine. Una ontologia può essere utilizzata prima di tutto per fare ordine, ma annotando le risorse con metadati definiti dall’ontologia, resterà solo una integrazione per risorsa e la struttura della Intranet sarà meglio comprensibile dall’uomo ed elaborabile dalle macchine.
 

Comments: Post a Comment

<< Home