Siamo nell’era dei big data (vedi anche l’articolo Dati, informazioni, Big Data). Grandi quantità di dati sono disponibili nei nostri sistemi. Una delle esigenze primarie è scambiare dati fra sistemi e programmi diversi, ossia far comunicare i nostri dispositivi e le nostre applicazioni. Ne parliamo anche nell’articolo sull’integrazione dei sistemi (system integration).

Un primo requisito per scambiare i dati è la disponibilità, per mittente e destinatario, di un “luogo” comune dove scambiarsi i dati. Un tempo si trattava di un cavo di collegamento, oggi invece è una rete, spesso la rete Internet. Resa pubblica nei primi anni ’90 del XX secolo, disponibile pressoché ovunque, progettata per favorire lo scambio di informazioni, non è stata ideata per un alto livello di sicurezza, ciò ha portato negli anni a “correggere il tiro” aggiungendo metodi e consuetudini che la rendano meno aperta a intrusioni di terzi, come ad esempio l’introduzione della crittografia (protocollo https) o l’utilizzo di reti private virtuali (VPN).

Un secondo requisito è “parlare la stessa lingua”. Ciò si realizza in diverse maniere e a diversi livelli. Di seguito alcuni esempi:

  • Un computer che voglia scambiare dati con una sua periferica utilizza un driver, ossia un software che permette al sistema operativo di comunicare ad esempio con una stampante e dunque permette all’utente di stampare. Il sistema operativo dispone di un driver specifico per ciascuna periferica installata.
  • Due computer che vogliano scambiare dati su una rete devono utilizzare lo stesso protocollo (ossia l’insieme di regole che permette la comunicazione) come ad esempio http per le pagine web, ftp per scambiare file e così via.
  • Due applicazioni che vogliono scambiare dati possono farlo mediante API (Application Programming Interface) ossia regole e metodi messi a disposizione dei programmatori per accedere a informazioni o funzioni disponibili nell’altra applicazione; se le applicazioni scambiano dati in Internet si parla di web services. Da citare due tecnologie utilizzate:
    • SOAP (Simple Object Access Protocol) impiegata per lo scambio di dati in applicazioni mediante XML e
    • REST (REpresentational State Transfer) impiegata per lo scambio di dati mediante formati diversi fra cui ad esempio JSON (JavaScript Object Notification).
  • Più in generale si parla di middleware con riferimento a tutti i sistemi o metodi che stanno a metà fra due altri sistemi o applicazioni, permettendo lo scambio di dati; un esempio su tutti i driver ODBC (Open DataBase Connectivity) permette di collegarsi in maniera e con linguaggio standard a moltissimi sistemi di gestione di database
  • Una maniera più classica consiste invece nello scambio di file fra le applicazioni o i sistemi coinvolti. Non tutti i file però sono adatti per scambiare informazioni. Si parla di file proprietario se il file è legato ad un particolare software e, a meno di usare dei filtri, può essere utilizzato esclusivamente con quel software (come ad esempio un file docx per Word); invece è detto file portabile se non fa riferimento ad un software in particolare o, comunque, può essere letto da vari software, costituendo un metodo valido per scambiare dati da un programma ad un altro (come ad esempio un file di solo testo o un file pdf). Per lo scambio di file dunque si prediligono i file portabili, ma va anche precisato che due file con la stessa estensione possono contenere dati con codifiche diverse fra di loro (ad esempio i file PDF, i file TIF, i file AVI ma anche i file TXT come è descritto nell’articolo Tracciati, flussi e file di solo testo).

 

Bibliografia: Rossignoli, N., Introduzione all’informatica, Lampidistampa, Milano, 2007

Immagine: Photo by Brett Sayles from Pexels