Cosa sono le API in informatica e quale impatto hanno sul business

pittogramma Zerouno

Guida

Cosa sono le API in informatica 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

Pubblicato il 21 Giu 2022

di Laura Zanotti - Fonte TechTarget

Prima di entrare nel dettaglio di cosa sono le Api in informatica si deve premettere che la programmazione software a tutti gli effetti è un linguaggio. Come tale, è caratterizzata da una sintassi (che si compone di una serie di regole) e da uno stile di scrittura del codice. Ciascun sviluppatore può adottare modalità di scrittura diverse a seconda delle sue competenze, delle sue esperienze e delle sue abitudini.

Per agevolare la scrittura del codice, alcune procedure “standard” vengono raggruppate in set di strumenti specifici per l’espletamento di un determinato compito. 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

Cos’è un Api dunque? Il significato dell’acronimo Api è Application programming interface e si tratta di applicazioni che, mediante modalità standard espongono le funzionalità di altre applicazioni per agevolare la programmazione e la integrazione. Ciò vuol dire abilitare il ri utilizzo dei servizi resi disponibili che possono a loro volta comporsi e scomporsi in base alle necessità.

WHITEPAPER
Dalla AI all'automazione digitale: le ultime applicazioni che stanno ridefinendo la robotica
Robotica
Cognitive computing

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, nello sviluppo, è dunque quello di semplificare la possibilità di integrazione tra un’applicazione e un’altra evitando ridondanze e inutili replicazioni di codice.

White Paper - Application Management: come modernizzare l’azienda grazie a un partner esperto

I vantaggi di utilizzare le API

Le Application programming interface consentono ai servizi digitali di comunicare con altri prodotti senza la necessità di creare infrastrutture nuove per connetterli.

Questo genera 3 principali vantaggi per le aziende. In primo luogo promuovere nuovi canali di reddito.

Quindi rafforzare diffusione e copertura del brand.

Infine, agevolare l’innovazione open source e, in generale, maggiore efficienza nello sviluppo.

API remote

Con la definizione di API remote si fa riferimento al fatto che le risorse gestite sono esterne alla macchina che invia la richiesta. Quest’ultima, in genere, usa l’Http per richiedere e fornire messaggi.

Da API ad API web

Con API Web si intende un’interfaccia di programmazione di applicazioni per un server Web o un browser Web. Si tratta di un concetto di sviluppo Web, solitamente limitato al lato client dell’applicazione Web stessa e consiste in una serie di procedure raggruppate in set di strumenti utili all’esecuzione di compiti nei software.

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 lo sviluppo in modo ordinato di tutta la serie di microservizi associati, organizzando meglio il lavoro di programmazione.

La definizione di API gateway 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.

Architettura SOA e architettura di microservizi

Le API consentono la comunicazione tra microservizi, ovvero i componenti di un’architettura che ha un approccio allo sviluppo delle applicazioni quali suite di piccoli servizi.

Quel che contraddistingue tale approccio architetturale a microservizi è proprio la suddivisione di un’applicazione in funzioni base che possono essere scritte (e funzionare o no) in modo indipendente.

In un’architettura SOA – Service oriented architecture i vari elementi delle app forniscono servizi ad altri su una rete mediante un protocollo di comunicazione.

Le differenze tra architetture SOA e a microservizi riguardano per lo più l’implementazione (le app SOA sono create intorno a un bus di servizio aziendale che detta le linee guida di programmazione) e il fatto che i microservizi sono tool infrastrutturali più che applicativi.

REST vs SOAP, come funzionano i Web service e cosa sono le REST Api

REST API (Representational State Transfer, Application Programming Interface)

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 tecnologia 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.

Rest Api, cosa sono

Una Rest Api (anche detta Api RESTful) è una interfaccia di programmazione di app che rispetta i principi di progettazione dell’architettura REST e sono caratterizzate da grande flessibilità.

Che cos’è SOAP

Il modello architetturale REST va soppiantando SOAP – Simple object access protocol tra i protocolli per la creazione di Web service. Questo, in particolare, per lo scambio di messaggi tra componenti software. REST 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. Fornisce tramite messaggi richieste di procedure remote. I richiami di procedure remote possono essere modellati come interazione di parecchi messaggi SOAP.

White Paper - KPI Retail: ecco come misurare vantaggi e ritardi competitivi

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 che vi trova librerie o moduli precompilati che evitano la riscrittura di righe di codice.

I SDK possono essere molto diversi tra loro dal punto di vista delle dimensioni e delle tecnologie utilizzate. 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 si è sviluppato l’SDK e le informazioni sulle licenze da utilizzare per distribuire programmi creati con l’SDK.

Esempi di Application programming interface

Cosa vuol dire rendere disponibili le API?

Per esempio, le API di Facebook, hanno permesso lo sviluppo di migliaia di 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 API di sviluppo per Xbox e PlayStation. Entrambe, infatti, hanno interesse a distribuire le API a un numero ristretto di programmatori e case sviluppatrici, per controllare il numero di chi sviluppa giochi.

Altre software house, invece, hanno un atteggiamento diverso: una maggiore diffusione di tecnologia 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.

Google, per esempio, mette a disposizione le Api di Google Maps in modo che qualsiasi sviluppatore possa utilizzarle per costruire mappe personalizzate. Può integrarle nei propri siti Web e offrire servizi di ricerca georeferenziati oppure ancora usarle in app mobile eccetera.

Nei mesi scorsi si è stimato che il 75% del traffico su Twitter e il 65% di quello su Salesforce.com fosse originato da tecnologia API. Qualunque azienda entri nel mondo della Api economy ha a che fare con un set di API finalizzate all’integrazione di nuovi servizi.

Clicca qui per scaricare l'Infografica "La guida per i C-Level verso la Digital Transformation

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.

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 è un effetto a cascata che un’Api contenente uno script infetto può generare su tutte le applicazioni 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 lo elimina prima di una richiesta da una altra Application programming interface, lo script si trasmette. 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 è fondamentale per fare velocemente ed efficacemente sviluppo di 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, oltre che la loro integrazione. Ciò è possibile mediante il controllo degli accessi. Inoltre, l’impostazione di policy di sicurezza arrivano 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 condivisione sui ricavi. È il caso, per esempio, usando PayPal, degli sviluppatori che consentono ai loro interlocutori di pagare, mentre PayPal riceve una percentuale sulle vendite.

Beta 80 - White Paper - Application revolution Journey

WHITEPAPER
Realtà Aumentata e Intelligenza Artificiale: tutti i vantaggi per Energy e Telco
Realtà virtuale
Telco

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Z

Laura Zanotti - Fonte TechTarget

Ha iniziato a lavorare come technical writer e giornalista negli anni '80, collaborando con tutte le nascenti riviste di informatica e Telco. In oltre 30 anni di attività ha intervistato centinaia di Cio, Ceo e manager, raccontando le innovazioni, i problemi e le strategie vincenti delle imprese nazionali e multinazionali alle prese con la progressiva convergenza tra mondo analogico e digitale. E ancora oggi continua a farlo...

Articolo 1 di 4