Trend di business online: le API (application Programming) ed il loro ruolo centrale

Quali sono i vantaggi dell’esposizione delle API?

La definizione di cosa siano le Application Programming Interfaces (API) è facilmente reperibile in Rete ed è generalmente comprensibile, ad una prima lettura, anche a chi non si occupa di programmazione software.

Come è noto, nel lavoro di programmazione, è consuetudine raggruppare alcune procedure standard in set di strumenti, specifici per il completamento di una determinata azione, in modo da semplificare e velocizzare il lavoro degli sviluppatori. Si tratta delle cosiddette librerie (o routine), che corrispondono ad una serie di chiamate a parti di un programma, che uno sviluppatore può usare per il proprio lavoro senza dover riscrivere da capo le stesse funzioni o strutture dati.

In questo contesto si collocano le API

Le API possono assumere diverse “forme”. Possono essere delle librerie di funzioni che permettono al programmatore di interagire con un programma o una piattaforma software, o semplicemente una serie di “chiamate” a parti di un programma che uno sviluppatore può utilizzare per abbreviare il suo lavoro.

Le API, quindi, sono delle interfacce grafiche che sviluppatori e programmatori terzi possono utilizzare per espandere le funzionalità di programmi, applicazioni e piattaforme di vario genere (software e non solo). Rappresentano, quindi, l’interfaccia aperta attraverso la quale interagire con programmi (o parti di essi) altrimenti inaccessibili.[/vc_column_text]

vantaggi-delle-api

Cenni sulla nascita ed evoluzione delle API

L’ideazione delle API è da far risalire agli inizi della moderna informatica. Inizialmente, un’API era generalmente usata come libreria per un sistema operativo, operando in locale.

La prima evoluzione consente loro di emergere dagli ambienti locali ed iniziare ad essere usate per l’integrazione remota dei dati.

Le API remote, che gestiscono risorse esterne al computer che invia la richiesta, sono concepite per interagire tramite una rete di comunicazione.

Poiché il canale di comunicazione più diffusamente utilizzato è Internet, la maggior parte delle API è ormai progettata in base a standard web. Non tutte le API remote sono API web, ma tutte le API web sono remote.

perche-usare-api

Gli approcci legati all’utilizzo delle API

Le interfacce API sono importantissime perché, attraverso modalità standard, ESPONGONO le funzionalità delle applicazioni a cui sono collegate. Esporre le funzionalità di una app significa renderla “aperta”. Consentire cioè che altre app, attraverso software connettori come Semplisio, possano dialogare con essa creando flussi di dati automatizzati dall’una all’altra.

Esistono tre possibili approcci in merito ai criteri di rilascio delle API

  1. Privato: non condividerle, destinandole solo ad un uso interno e creando “ecosistemi software” blindati.
  2. Partner: le API vengono condivise solo con aziende partner. In tal modo si potranno creare nuovi flussi di reddito aggiuntivi, senza rischiare la compromissione della qualità.
  3. Pubblico: sono esposte e disponibili a chiunque. Questo approccio consente a chiunque nel proprio settore di competenza, di sviluppare app che interagiscono con le API e che possono rappresentare una fonte di innovazione.

Sono scelte che sottendono diversi modelli di business. Una tech company che realizza costose infrastrutture IT enterprise “all in one”, difficilmente tende a concedere chiavi d’accesso al suo monolite. Mentre una PMI informatica, che ha sviluppato e vende una piattaforma gestionale aziendale, sa che, per potersi evolvere in direzione di una completa soddisfazione dei bisogni del cliente. Ha tutto il vantaggio a rendere pubbliche le su API, laddove altre aziende potranno intervenire creando “software di dialogo” pensati per consentire una sempre più facile interazione della piattaforma gestionale con altre app, indispensabili al business (es e-commerce, tool di invio newsletter etc.).

Per fare alcuni esempi con nomi notissimi: Microsoft e Sony custodiscono molto gelosamente le API di sviluppo per le piattaforme PlayStation e Xbox. Entrambe, infatti, hanno interesse a distribuire le API ad un numero ristretto di programmatori e case sviluppatrici, così da tenere sotto controllo il numero di persone o entità che sviluppano giochi per queste piattaforme.

Altri software house hanno invece un atteggiamento diverso: una maggiore diffusione delle API garantisce una più ampia diffusione del loro software e piattaforma e garantiscono una distribuzione capillare di questi strumenti. La stessa Microsoft distribuisce liberamente le API di Windows, cosciente del fatto che maggiore è il numero di software esistenti per il suo sistema operativo, maggiori le possibilità di riuscire a vendere il sistema operato stesso.

evoluzione-delle-api

Perché scegliere di usare le API

Alcuni dei principali vantaggi delle API includono quanto segue:

  • Miglioramento della collaborazione: una grande azienda utilizza quasi 1.200 applicazioni cloud, molte delle quali non integrate (Fonte: IBM, 2020). Le API ne consentono l’integrazione, in modo tale che queste piattaforme e app possano comunicare senza problemi tra loro. Grazie a questa integrazione, le aziende possono automatizzare i flussi di lavoro e migliorare la collaborazione sul posto di lavoro. Senza le API, molte aziende sarebbero prive di connettività con la conservazione a silos dei dati, che compromette la produttività e le prestazioni.
  • Innovazione più semplice: le API offrono flessibilità, consentendo alle aziende di stabilire connessioni con nuovi partner commerciali, offrire nuovi servizi al loro mercato esistente e, in ultima analisi, accedere a nuovi mercati, potenziare il business e guidare la trasformazione digitale. 
  • Monetizzazione dei dati: molte aziende scelgono di offrire API gratuitamente, almeno all’inizio, in modo da poter creare un pubblico di sviluppatori attorno al loro marchio e stringere relazioni con potenziali partner commerciali. Tuttavia, se l’API concede l’accesso a risorse digitali dall’indubbio valore commerciale, l’azienda può decidere di dare un costo all’accesso (da qui, il mondo dell’API economy). Quando AccuWeather ha lanciato il suo portale per sviluppatori self-service per vendere un’ampia gamma di pacchetti API, ci sono voluti solo 10 mesi per attirare 24.000 sviluppatori, vendendo 11.000 chiavi API e creando una fiorente comunità nel processo (Fonte: IBM 2020).
  • Maggiore sicurezza: le API creano un ulteriore livello di protezione tra dati e server. Gli sviluppatori possono rafforzare ulteriormente la sicurezza delle API utilizzando token, firme e crittografia TLS (Transport Layer Security); implementando gateway API per gestire e autenticare il traffico; e praticando un’efficace gestione delle API.

ESEMPI PRATICI DI API Application Programming

Poiché le API consentono alle aziende di aprire l’accesso alle proprie risorse, mantenendo la sicurezza e il controllo, sono diventate un aspetto prezioso del business moderno. Di seguito sono riportati alcuni esempi popolari di Application Programming Interfaces che si incontrano più di frequente:

  • Accessi universali: un esempio di API popolare è la funzione che consente alle persone di accedere ai siti Web utilizzando i dettagli di accesso del profilo Facebook, Twitter o Google. Questa comoda funzione, consente a qualsiasi sito Web di sfruttare l’API di alcuni dei servizi social più diffusi. Per autenticare rapidamente l’utente, risparmiandogli il tempo e la noia di configurare un nuovo profilo per ogni servizio del sito Web o nuova iscrizione.
  • Elaborazione di pagamenti di terze parti: ad esempio, l’ormai diffusissima funzione che permette di pagare con Paypal, sui siti di e-commerce ma non solo, funziona tramite un’API. Ciò consente alle persone di pagare i prodotti online senza esporre dati sensibili o concedere l’accesso a persone non autorizzate.
  • Confronto delle prenotazioni di viaggio: i siti di prenotazione di viaggi aggregano migliaia di voli, mostrando le opzioni più economiche per ogni data e destinazione. Questo servizio è reso possibile tramite API che forniscono agli utenti dell’applicazione l’accesso alle informazioni più recenti sulla disponibilità di hotel e compagnie aeree. Con uno scambio autonomo di dati e richieste. Le API riducono drasticamente il tempo e gli sforzi necessari per verificare la disponibilità di voli o alloggi.

Continuiamo con le API di Google Maps – Twitter e Facebook

  • Google Maps: uno degli esempi più comuni e più spesso citati di una buona API, è il servizio di Google Maps. Oltre alle API principali che visualizzano mappe statiche o interattive, l’app utilizza altre API e funzionalità per fornire agli utenti indicazioni o punti di interesse. Tramite la geolocalizzazione e più livelli di dati, è possibile comunicare con l’API di Maps quando si tracciano percorsi di viaggio. Inoltre è possibile utilizzare il servizio di cartografia digitale di Google per realizzare delle mappe personalizzate; oppure integrarle in siti web per servizi di ricerca georeferenziati; o ancora utilizzarle all’interno di applicazioni per smartphone e tablet.
  • Twitter: ogni tweet contiene attributi principali descrittivi, tra cui un autore, un ID univoco, un messaggio, un timestamp su quando è stato pubblicato e metadati di geolocalizzazione. Twitter rende disponibili agli sviluppatori tweet e risposte pubbliche e consente loro di pubblicare tweet tramite l’API dell’azienda.
  • Le API di Facebook, invece, danno la possibilità agli sviluppatori di utilizzare alcune delle funzionalità del social network più famoso al mondo per realizzare delle applicazioni da utilizzare poi nella piattaforma del social network stesso. L’utilizzo di librerie solitamente accessibili esclusivamente al team di sviluppo di Facebook. Facilita notevolmente la programmazione di nuove app e funzioni (pensiamo solo alle decine di giochi presenti nel social network). Che arricchiscono l’esperienza degli iscritti di Facebook.

api-application-programming-1

 

Api application Programming: i vantaggi della semplificazione

La grande diffusione delle API è dovuta non solo al fatto che semplifica il lavoro dei Developers, ma anche a motivazioni radicate più a fondo.

  • Creazione di nuovi canali di business
  • Differenziazione del business con costi bassi
  • Diminuzione dei costi per gli eventuali sviluppi successivi.

In definitiva, le API, orchestrando lo scambio di richieste tra le varie applicazioni, indipendentemente dalle loro architetture di riferimento, semplificano tutti i criteri di programmazione.

La loro condivisione, sia con partner selezionati che con chiunque altro, può avere quindi effetti molto positivi. Esporre la tecnologia a chiunque, come accade con un’API pubblica, incoraggia gli sviluppatori a creare un sistema di app incentrato sull’API. Maggiore è il numero di persone che utilizzano la tecnologia condivisa, maggiori le opportunità di business.

Rendere pubblica una tecnologia può portare a risultati nuovi e inattesi, che possono rivoluzionare interi settori e spingere le aziende a cambiare sostanzialmente il modello aziendale. Le API condivise con i partner e le API pubbliche permettono di beneficiare dello sforzo creativo di una comunità più ampia. Rispetto al team di sviluppatori interni. Con nuove idee in arrivo da tutte le direzioni. Le aziende devono essere sempre consapevoli dei cambiamenti che avvengono nei settori di pertinenza, per essere pronte a reagire. In questo senso, le API sono un enorme aiuto alla digital transformation.

Tutto questo comporta solo vantaggi. Rimediare agli errori, rendere facili ed intuitivi i processi, velocizzare tutte le azioni, risparmiare tempo, insomma, incrementare il business, sia a livello macro che micro.

Troviamo, a questo proposito, molto felice la definizione (a quanto pare coniata da Forbes diversi anni fa) per cui le API sono the digital glue, la colla digitale che tiene unito l’universo delle applicazioni web che popolano ormai la vita quotidiana di chiunque di noi.

Articoli raccomandati
0
0