lunedì 9 settembre 2013

LOD ed interoperabilità semantica

Siamo quindi alla seconda parte sugli Open Data che descrive la parte più tecnologica, che ci porta poi alla definizione dei Linked Open Data.
All'interno delle organizzazioni pubbliche e private, i dati già ci sono, tocca aprirli, modificando i processi esistenti, affinché sia previsto questo passo non di poco impatto. Si tratta quindi di una reingegnerizzazione dei processi, e dello sviluppo di applicazioni per l'apertura dei dati che consentano di traguardare l'obiettivo.
Una volta pubblicati, i dati possono essere usati dagli sviluppatori o dagli utenti che navigano i dati, dandone un significato, si parla quindi più propriamente di informazione.
I dati vanno poi manutenuti, così come nelle normali applicazioni già esistenti; certamente il fatto che siano pubblici, obbliga ad avere una manutenzione ancora più adeguata, con dei processi e strumenti tecnologici che mirano ad ottenere una qualità del dato più elevata.
L'ottenimento di una maggiore qualità può essere anche prerequisito per la pubblicazione del dato stesso, molto dipende dal dominio e dallo scopo prefisso.
Si pensi ad esempio ad un dataset contenente degli indirizzi in formato testo libero, prima di pubblicarlo potrebbe essere necessario un trattamento del dato per aggiungere al dataset dati più precisi per la localizzazione, quali coordinate geografiche, comune, provincia, etc.
Il processo tecnologico per la produzione di un dato di maggiore qualità può essere anche incrementale, il culmine di questo è l'ottenimento di un formato Linked Open Data, ove si creano inter-relazioni tra dataset gestiti in modo distribuito sul web. Tali inter-relazioni possono essere anche circoscritte in un contesto più limitato, ad esempio all'interno di una rete intranet di un'organizzazione, in tal caso si parla semplicemente di Linked Data.
Attraverso l'utilizzo di metadati, vocabolari condivisi controllati ed ontologie, si riusano dati presenti altrove al fine di arricchire il dato, abilitando un ulteriore livello di interoperabilità, ovvero l'interoperabilità semantica.
Con essa si indica la capacità dei sistemi di trasmettere dati con un significato condiviso, non ambiguo.
E' quindi un requisito per abilitare la logica computazionale, l'inferenza, la scoperta di nuova conoscenza.
L'interoperabilità semantica è il massimo livello di interoperabilità concernente il dato, che deve necessariamente verificare un altro livello di interoperabilità, ovvero quello sintattico, come ad esempio quello offerto dal formato HTML delle pagine web, o dal formato XML dei dati che si scambiano i servizi web.
L'interoperabilità semantica passa per l'interoperabilità da progettazione, che si raggiunge attraverso una progettazione ad un livello quanto più generico, indipendente dall'applicazione e basata possibilmente sui principi di architetture WOA(Web Oriented Architecture).
L'obiettivo di generalizzare le dipendenze e le relazioni è di fondamentale importanza per la condivisione dell'informazione.
Nell'interoperabilità da progettazione, in linea con l'Enterprise Architecture, viene data notevole importanza all'aspetto middle-out della progettazione, ovvero al fatto di concentrarsi sugli identificatori, i formati ed i protocolli di scambio delle informazioni(IFaPs, Identifiers, Formats and Protocols).
Non si parte quindi da un design top-down in cui si parte dall'esigenza particolare o da un design bottom-up in cui si parte dalla particolare implementazione, ma ci si posiziona in mezzo partendo da un insieme di IFaPs aperte ad una serie di possibili usi ed implementazioni.

giovedì 30 maggio 2013

Open Data: moda o opportunità?

Dopo un bel pò di tempo, mi accingo a riprendere il cappello di blogger, su un argomento che seguo sia per il mio lavoro, sia per l'ampiezza che il fenomeno sta assumendo.
E' l'argomento Open Data, di cui do una breve introduzione. Tutto nasce dal 2009 circa quando governi come quelli degli Stati Uniti d'America, del Canada, del Regno Unito aprono alcuni dei loro dati dando vita al fenomeno Open Government Data, riconosciuto come un atto di trasparenza dei rispettivi governi nei confronti della cittadinanza. Fatto comunque positivo, il concetto è stato esteso ad una serie di possibili migliorie che potrebbero derivare dall'apertura delle informazioni.
Ad esempio, Open Data riferito alla politica è sinonimo di trasparenza, e può riavvicinare la cittadinanza scettica, Open Data nei vari studi di ricerca può favorire la disseminazione dei risultati e conseguentemente migliorare la stessa ricerca; in generale, i dati aperti possono essere riutilizzati ed arricchiti, fornendo quindi una migliore informazione, attraverso lo sviluppo di nuovi servizi.
Open Data non è solo moda quindi, anche per alcuni decreti legge che hanno obbligato alcune amministrazioni ad aprire i loro dati, ma è un veicolo informativo di non poco impatto.
Molti hanno pensato di sviluppare app che sfruttano direttamente o indirettamente i dati, alcune amministrazioni hanno lanciato concorsi di App. Per il comune di Roma, con i colleghi di Eustema, abbiamo partecipato e vinto ad un concorso sulle idee progettuali a partire dagli Open Data: qui maggiori informazioni.
A livello internazionale cito solo alcune app, come quella relativa alla mappa dei crimini di San Francisco, qui, oppure quella che trova le toilets pubbliche in Danimarca, qui.
Open Data diventa Linked quando si vengono a creare inter-relazioni tra dataset gestiti in modo distribuito sul web. Questo può avvenire attraverso l'utilizzo di tecnologie semantiche.
Qui e in prossimi post maggiori approfondimenti.

mercoledì 21 dicembre 2011

Social flying

Linkedin, Facebook, Twitter non solo mezzi per condividere foto, eventi, commenti, sfottò..ma anche mezzi per organizzare curiose iniziative.
Ad esempio scegliere il compagno di viaggio per un volo, secondo quanto riportato qui , la compagnia di volo olandese KLM organizzerà un servizio, attivo dall'anno nuovo, chiamato "Meet & Seat", che permetterà agli utenti di scegliere il compagno di viaggio tra i profili inscritti.
Un'iniziativa simile era stata intrapresa dalla Social Flights , per effettuare dei voli privati con un numero di posti a sedere limitato.
Sfruttando l'aggregazione dei social network,i gruppi di utenti, chiamati Travel Tribes, sono accomunati per meta e coordinate del loro viaggio e quindi rendono meno costoso il biglietto di questi jet privati.

venerdì 13 maggio 2011

PLinq

E' un bel po' che non scrivevo qualcosa,e' passato più di un anno!ma rieccomi qua!complice anche un riavvicinamento alle tecnologie Microsoft,volevo scrivere qualche riga a proposito di Plinq,una tecnologia che Microsoft ha deciso di includere stabilmente nel nuovo framework 4.0,affiancandola alla più utilizzata Linq già introdotta nel 3.5.
Insieme ad altre caratteristiche promette di eseguire operazioni tipiche su liste di oggetti in maniera parallela ottimizzando l'utilizzo dei processori sui quali sono in esecuzione le routine.Chiaramente tutto bene finche' poi non ci sono risorse che necessitano di essere sincronizzate!
Sarebbe bello capire se e' usabile con Linq to Entities!
L'architettura di massima prevede un Task Manager che gestisce una coda di tasks,e una serie di threads che a loro volta hanno una coda di tasks assegnati.I task vengono eseguiti in parallelo e hanno uno stato indipendente l'uno dall'altro.
La libreria utilizzata a basso livello e' la TPL(Task Parallel Library) che ha delle API molto simili a quelle Java Concurrent presenti dalla JDK 1.5 .
Per ulteriori informazioni vedete qui
Buona programmazione con plinq.
Alla prossima,ciao!

martedì 12 gennaio 2010

LINQPad - amazing tool ;)

Sempre relativamente a quelle che sono le tecnologie per l'accesso ai dati, seguo con interesse quelli che sono gli sviluppi lato Microsoft; mi chiedevo se a qualcuno fosse venuto in mente di sviluppare un tool per l'esecuzione di comandi LINQ(Language Integrated Natural Query) da un semplice editor di testo, e il risultato è presente a questo link: www.linqpad.net/
La versione free è funzionante, quello a pagamento è il supporto per l'autocompletamento delle query.
Sostanzialmente questo tool, partendo da una stringa di connessione e/o da un Entity Data Model .NET 3.5, ti dà la possibilità di scrivere query linq e visualizza oltre ai risultati alcune informazioni di supporto al framework.
Qualche mesetto fa la versione funzionante con MySql era in beta, ora invece l'hanno resa stabile, in beta invece c'è ora la versione che funziona con il nuovo framework 4.0 beta 2.
Dietro al funzionamento di questo tool c'è chiaramente la scrittura di un LINQ provider; quello utilizzato da LINQPad è uno dei progetti di CodePlex, la community open source di Microsoft, si chiama IQToolkit ed è presente a questo link http://iqtoolkit.codeplex.com

martedì 29 dicembre 2009

Rimpiangeremo il delfino?

Oggi mi sono accorto che Mysql GUI Tools, che già da qualche tempo racchiudeva i tools più utilizzati per accedere al popolare database MySql, vale a dire MySQL Query Browser, Administrator, Migration Toolkit e Tray Monitor(mai utilizzato quest'ultimo) è considerato sul sito MySql un "Archived Download", vale a dire non garantiscono più bug fixing, e questi ultimi ce n'erano e come..
Inoltre credo non garantiranno neanche la retrocompatibilità dei nuovi server con un prodotto che oramai non manutengono più. Spero non sia solo l'inizio di un filone che porterà alla fine della versione gratuita di MySql; non credo arriveremo a questo ma sicuramente un cambio di rotta ci sarà, visto che il popolare delfino è stato acquistato già da un pò dalla partnership Sun-Oracle. Vedremo..

domenica 27 dicembre 2009

Microsoft Visual Studio rincorre il mercato

In questi giorni mi sono ritrovato a vedere un pò i cambiamenti che Microsoft apporterà nel suo nuovo Framework di sviluppo 4.0 . E' impressionante come, in periodi come questo, lì alla Microsoft hanno la capacità di creare dal nulla nuovi framework di sviluppo e nuove metodologie che promettono di migliorare la produttività delle aziende del settore, ma che in realtà migliorano soltanto le tecnologie precedenti che la stessa Microsoft, forse in maniera prematura, ha fatto uscire sul mercato negli anni scorsi.
Comunque per la cronaca, nel nuovo Visual Studio 2010 ci sarà la possibilità di utilizzare il nuovo Entity Framework 4.0 che tra le altre novità aggiunge:
- la possibilità di scriversi delle classi POCO(Plain Old CLR Object) completamente slegate dalle classi del Framework ORM (Persistence Ignorance); nuovi template sono stati aggiunti per automatizzare lo sviluppo di queste classi tramite la tecnologia T4 Templates, sviluppata da VisualT4 e ora sembra che dovrà essere introdotta nella nuova release di Visual Studio.
- Finalmente le caratteristiche di loading delle proprietà, tanto care al più maturo framework Hibernate, sono state rese configurabili tramite i meccanismi di Eager Loading, Lazy Loading ed Explicit Loading.
- Novità davvero promettente, ma del tutto da scoprire, è la possibilità di avere un tracking delle modifiche che avvengono agli oggetti; il framework ha la possibilità di rilevare le differenze tra stato originale e stato corrente degli oggetti.
- Finalmente, almeno così dicono :) , hanno introdotto la possibilità di creare uno schema fisico di una base dati partendo dal modello disegnato nell'Entity Designer presente già in Visual Studio 2008.
- Infine, sono state apportate modifiche per bug fixing e per migliorare l'usabilità del nuovo Entity Framework.

Per chi volesse approfondire il blog a questo indirizzo è un'ottima risorsa
http://blogs.msdn.com/adonet