Questo sito web utilizza cookie tecnici e, previo Suo consenso, cookie di profilazione, nostri e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsente all'uso dei cookie. Leggi la nostra Cookie Policy per esteso.OK

Cosa sono le API e quale impatto hanno sul business

pittogramma Zerouno

Guida

Cosa sono le API e quale impatto hanno sul business

Se API in informatica è semplicemente l’acronimo di Application Programming Interface, nel mondo Business significa molto di più perché rappresenta una componente strategica della digital transformation. Questo aspetto prettamente legato alla programmazione software, infatti, permette di semplificare il dialogo tra un’applicazione e un’altra evitando ridondanze e inutili

24 Set 2019

di Redazione

Prima di entrare nel dettaglio di cosa siano le Api si deve premettere che la programmazione software a tutti gli effetti è un linguaggio e, come tale, è caratterizzato da una sintassi (che si compone di una serie di regole) e da uno stile di scrittura del codice che può cambiare a seconda del programmatore. Uno sviluppatore, infatti, può adottare modalità di scrittura diverse a seconda delle sue competenze, delle sue esperienze e delle sue abitudini. In ogni caso, per agevolare la scrittura del codice, alcune procedure “standard” di solito vengono raggruppate in un set di strumenti specifici per l’espletamento di un determinato compito all’interno di un certo programma: sono le cosiddette librerie (o routine) che corrispondo a una serie di “chiamate” a parti di un programma che uno sviluppatore può utilizzare per abbreviare il proprio lavoro. In tale contesto si collocano le Api in informatica.

Cosa sono le Api, significato di Application programming interface

Api significato di questo acronimo è Application programming interface e si tratta di applicazioni che, mediante modalità standard espongono le funzionalità di altre applicazioni; ciò vuol dire abilitare il ri utilizzo dei servizi resi disponibili che possono a loro volta comporsi e scomporsi in base alle necessità.
In pratica, esse sono indispensabili per rendere disponibili i servizi in risposta alle esigenze di business, grazie alle Api si può rendere fruibile via mobile un’applicazione enterprise o ci si può integrare in una catena estesa aprendo le app stesse a partner e fornitori e così via. Il significato di Api è dunque quello di semplificare la possibilità di dialogo tra un’applicazione e un’altra evitando ridondanze e inutili replicazioni di codice.

Cos’è un API Gateway, definizione e a cosa serve

La gestione di un’Application programming interface può essere complessa. Per costruirne una sicura e agile, è necessario adottare un approccio pragmatico. Utilizzare un gateway API permette di creare in modo ordinato tutta la serie di microservizi associati, organizzando meglio il lavoro di programmazione.

La definizione di gateway API potrebbe quindi essere quella di cerniera strategica tra la migliore user experience omnicanale e tutto il mondo di microservizi e servizi IT. In un’architettura di microservizi, infatti, le app client necessitano in genere di utilizzare le funzionalità di più microservizi. Se questo utilizzo viene eseguito direttamente, il client deve gestire più chiamate agli endpoint dei microservizi. Cosa accade quando l’applicazione si evolve e vengono introdotti nuovi microservizi oppure quelli esistenti vengono aggiornati? Se l’applicazione ha molti microservizi, la gestione di un numero elevato di endpoint dalle app client può essere molto difficoltosa. Questo è il motivo per cui risulta molto più agevole disporre di un livello intermedio di riferimento indiretto, che chiama in causa i gateway API.

REST vs SOAP, come funzionano i Web service

REST – Representational State Transfer è uno stile di architettura software per i sistemi distribuiti, rappresenta un sistema di trasmissione di dati su Http senza ulteriori livelli (quali, per esempio, SOAP del quale risulta quindi più semplice). Un concetto importante in REST è l’esistenza di risorse (fonti di informazioni), a cui si può accedere tramite un identificatore globale (un URI – Uniform Resource Identifier). Per utilizzare le risorse, le componenti di una rete (componenti client e server) comunicano attraverso una interfaccia standard (per esempio HTTP) e si scambiano rappresentazioni di queste risorse (il documento che trasmette le informazioni).

Il funzionamento REST prevede una struttura degli URL definita (al fine di identificare univocamente una risorsa o un insieme di risorse) e l’utilizzo dei verbi HTTP specifici per il recupero di informazioni (GET), per la modifica (POST, PUT, PATCH, DELETE) e per altri scopi (OPTIONS e così via). In particolare il POST, crea un nuovo elemento nella collezione. L’URI della nuova risorsa viene assegnato automaticamente ed è usualmente restituito da questa operazione (header Location). A differenza dei web services basati su SOAP, non esiste alcuno standard ufficiale per le API web RESTful. Questo perché REST è un insieme di linee guida per un’architettura, mentre SOAP è un protocollo. REST non è uno standard di per sé, ma le implementazioni RESTful utilizzano degli standard, come ad esempio HTTP, URI, JSON, e XML.

Il modello architetturale REST va soppiantando SOAP – Simple object access protocol tra i protocolli per la creazione di Web service e, in particolare, per lo scambio di messaggi tra componenti software, esso stabilisce una serie di regole grazie alle quali server consumer e service provider possono dialogare tra loro.
SOAP è la struttura operativa (framework) estensibile e decentralizzata che può operare sopra varie pile protocollari per reti di computer fornendo tramite messaggi richieste di procedure remote. I richiami di procedure remote possono essere modellati come interazione di parecchi messaggi SOAP.

SDK, cos’è a cosa serve

Con SDK (acronimo di Software Development Kit) si intende una suite di strumenti utilizzabili per costruire in modo più semplice e immediato, programmi e applicazioni per le diverse piattaforme operative (dai sistemi operativi o firmware ai sistemi IoT), piattaforma hardware (computer, ma anche smartphone, console videogame e così via). Grazie a un SDK viene facilitato il lavoro dello sviluppatore in quanto al suo interno sarà possibile trovare librerie o moduli già precompilati che evitano la riscrittura di tante righe di codice.

I SDK possono essere molto diversi tra loro dal punto di vista delle dimensioni e delle tecnologie utilizzate, ma tutti possiedono strumenti fondamentali fra i quali principalmente: un compilatore utile a tradurre il codice sorgente in un eseguibile; API (affinché, per esempio, un modulo o un software possa interagire con un altro sviluppato per un’altra piattaforma); la documentazione sul linguaggio di programmazione per cui l’SDK stesso è stato sviluppato e le informazioni sulle licenze da utilizzare per distribuire programmi creati con l’SDK.

Esempi di Application programming interface

Le API di Facebook, per fare un esempio concreto, hanno permesso a sviluppatori e terze parti di creare migliaia di applicazioni e servizi che accedono ai dati offerti dal social network: basterà condividere il proprio account di Facebook per comprare, per esempio, i biglietti di un’agenzia viaggi o completare l’acquisto da un sito di e-commerce.

Microsoft e Sony, al contrario, custodiscono molto gelosamente le proprie API di sviluppo per Xbox e PlayStation. Entrambe, infatti, hanno interesse a distribuire le API a un numero ristretto di programmatori e case sviluppatrici, così da tenere sotto controllo il numero di chi sviluppa giochi per queste piattaforme.

Altre software house, invece, hanno 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, maggiore sarà la diffusione del sistema operato stesso.

Quante sono le Application programming interface e il loro ruolo nella Api economy

Per capire quanto siano strategiche le API e perché sono fondamentali nel supportare la digital transformation e il business e in quella che possiamo sempre più definire Api economy basta dire che, a oggi, ci sono oltre 14mila API pubbliche utilizzate dai vari servizi e software di uso comune. Oltre a quelle di Facebook, le API probabilmente più conosciute sono quelle fornite da Twitter, Google, eBay o Amazon.
A proposito di Google, per esempio, l’azienda di Mountain View mette a disposizione le Api di Google Maps in modo che qualsiasi sviluppatore possa utilizzarle per costruire mappe personalizzate, per integrarle nei propri siti Web e offrire servizi di ricerca georeferenziati oppure ancora usarle in app per device mobile e così via.
Nei mesi scorsi si è stimato che il 75% del traffico su Twitter e il 65% di quello su Salesforce.com fosse originato da API, ma qualunque azienda che entri nel mondo della Api economy ha a che fare con un set di API finalizzate all’integrazione di nuovi servizi.

API? Mai più senza!

Incentivate dalle esigenze di mobility e cloud, sempre più aziende attraverso le API tendono a condividere le proprie risorse informative con altri sviluppatori (interni o esterni) per far sì che i propri asset generino un ulteriore ampliamento della portata, dei ricavi e della fidelizzazione degli utenti.

POINT OF VIEW: APPAROUND WHITE PAPER  Scopri come migliorare i processi di vendita nell'era della Digital Transformation! SCARICA IL WHITEPAPER

Attenzione alla sicurezza

Per qualsiasi azienda che voglia sviluppare applicazioni mobili, senza dover alterare o modificare dati e servizi in essere o gestire e integrare in modo efficiente servizi cloud e on premise, monitorare l’uso delle API aziendali e proteggerle sono due aspetti strategici. Il rischio, infatti, è un effetto a cascata che una contenente uno script anomalo o infetto può generare su tutte le applicazioni e i sistemi aziendali che si interfacciano con essa.

Se un hacker riesce a introdurre uno script dannoso nel database principale e il codice della API della suddetta società non riesce a rilevare tale script e a pulire i dati prima che vengano inviati a una richiesta proveniente da una altra Application programming interface inserita in un’applicazione di terzi, questo script dannoso può essere inviato a qualsiasi applicazione collegata. Potenzialmente, lo script dannoso potrebbe compromettere i dati di migliaia di utenti, molto spesso ignari di quello che sta accadendo alle proprie informazioni sensibili.

Come gestire le API

Se il loro utilizzo, come abbiamo visto, è fondamentale per realizzare velocemente e in modo efficace nuove applicazioni, il proliferare di Api comporta inevitabilmente problemi di gestione e governance. Quindi sono nate le piattaforme di Api management che hanno l’obiettivo di monitorare, rendere sicuro e ottimizzare l’uso delle Application programming interface mediante il controllo degli accessi, l’impostazione di policy di sicurezza arrivando a permettere di gestire, nel caso delle piattaforme più complete, l’accesso a pagamento alle Api, pagamento che può essere diretto o reso in base a una condivisione sui ricavi (per esempio, usando quella di PayPal, gli sviluppatori consentono ai loro interlocutori di pagare per un oggetto, mentre PayPal riceve una percentuale diretta di ogni vendita).

R

Redazione

Nel corso degli anni ZeroUno ha esteso la sua originaria focalizzazione editoriale, sviluppata attraverso la rivista storica, in un più ampio sistema di comunicazione oggi strutturato in un portale, www.zerounoweb.it, una linea di incontri con gli utenti e numerose altre iniziative orientate a creare un proficuo matching tra domanda e offerta.

Cosa sono le API e quale impatto hanno sul business

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    LinkedIn

    Twitter

    Whatsapp

    Facebook

    Link

    Articolo 1 di 4