Dopo la pubblicazione del mio articolo su La Voce nel quale discuto di open data e open services, ho ricevuto alcune segnalazioni di persone che mi dicono che alcuni portali open data (come quello della regione Lombardia per esempio) offrono anche le API REST per “accedere al dato”. Quindi, di fatto, realizzano già quello che io chiamavo open service.

Beh, mi pare non sia così o comunque ci sono differenze significative, quanto meno in tutti i casi che ho visto io personalmente.

I portali open data (che ho visto) offrono file dati in vari formati e anche API per scaricare da programma/app quei file. Questi file sono il risultato di estrazioni (e relativa duplicazione dell’informazione) effettuate più o meno frequentemente dai sistemi di backend della PA e successiva loro pubblicazione sul portale open data. Non mi pare, quanto meno non mi risulta, che offrano vere API o web services per accedere a funzioni del sistema informativo di backend. Sono questi ultimi ciò che io chiamo open services e che ovviamente sono molto più potenti e sofisticati, in quanto permettono di interagire in modo pieno e completo con il backend di quella PA o di quell’ente. Possiamo chiamare i primi weak open services e i secondi full open services.

Tutto sommato è giusto che si tratti di due cose diverse.

  • Open data (e relativi weak open services) sono utilizzati in ambito Internet, pubblico, per motivi di trasparenza e di apertura della PA. Quindi devono mantenere un livello di separazione e protezione rispetto al sistema di backend. Soprattutto, sono dati e servizi offerti in consultazione, per “accedere” a informazioni di proprietà della PA. Tra l’altro, servono per certi tipi di consultazioni e non per tutte (mi riferisco a quelle che richiedono l’accesso al dato vero e non all’ultima campionatura/estrazione).
  • Un full open service viene usato per costruire applicazioni fortemente integrate tipicamente tra soggetti riconosciuti all’interno di un ecosistema, una extranet. Sono quindi strumenti più potenti in quanto permettono di avere interazioni articolate o vere e proprie transazioni. Ovviamente, se così è, richiedono anche un maggiore controllo e supervisione. Sono nei fatti l’evoluzione della “vecchia” cooperazione applicativa, meno elefantiaca e totalmente allineata ai nuovi standard e alle nuove tendenze del mercato (peraltro, la cooperazione applicativa si riferisce ad un ambito più ristretto, cioè la cooperazione tra PA). Potremmo chiamare questo approccio, “SOA applicata ad una community extranet utilizzando standard open di internet”.

Il mio punto è che molti servizi di smart community e di smart city (quelli più sofisticati e a maggiore valore aggiunto) richiedono necessariamente proprio questo approccio, full open services e non solo open data o weak open services. Quindi bisogna fare gli uni e gli altri, sapendo utilizzare nell’ambito corretto la soluzione più appropriata.

Se posso provare a lanciare una provocazione di carattere più culturale, ogni volta che sento parlare di open data e linked data provo un senso di incompletezza. In informatica siamo passati dai dati e dalle variabili (magari globali, appunto) ai tipi di dati astratti e agli oggetti. Cioè siamo passati dal dato passivo, al comportamento (behavior) rappresentato dalle funzioni e procedure di accesso al dato. È questo il punto. Noi, quanto meno in molti casi, dobbiamo passare da una visione dove al centro c’è il dato a quella dove al centro c’è la funzione/procedura in senso tecnico-informatico. Invece mi pare che a volte si faccia una battaglia ideologica: ci siamo innamorati del concetto di open data e quello deve per forza essere.

Credo che affrontare questo tema sia vitale per sviluppare servizi e applicazioni su Internet realmente moderni e utili.