Accedi / Registrati Account

Integrazione

Cos'è un'API REST?

Un'API REST, nota anche come API RESTful, è un'interfaccia di programmazione delle applicazioni conforme ai vincoli dell'architettura REST. REST è l'acronimo di REpresentational State Transfer.

Un'interfaccia di programmazione delle applicazioni (API) è un set di definizioni e protocolli per la compilazione e l'integrazione di software applicativi. Può essere considerata come un contratto tra un fornitore di informazioni e l'utente destinatario di tali dati: l'API stabilisce il contenuto richiesto dal consumatore (la chiamata) e il contenuto richiesto dal produttore (la risposta). Ne è un esempio l'API di un servizio meteorologico, in cui l'utente invia una richiesta contenente un codice postale al quale il produttore fornisce una risposta in due parti, dove la prima indica la temperatura massima e la seconda la minima.  

Se, in altre parole, si desidera interagire con un computer o un sistema per recuperare informazioni o eseguire una funzione, un'API facilita la comunicazione con il sistema che può così comprendere e soddisfare la richiesta. 

L'API funge quindi da elemento di intermediazione tra gli utenti o i clienti e le risorse che questi intendono ottenere. È anche un mezzo con il quale un'organizzazione può condividere risorse e informazioni assicurando al contempo sicurezza e controllo, poiché stabilisce i criteri di accesso. 

L'utilizzo dell'API inoltre non impone all'utente di conoscere le specifiche con cui le risorse vengono recuperate o la loro provenienza.

REST

REST è un insieme di principi architetturali, non un protocollo né uno standard. Chi sviluppa API può implementare i principi REST in diversi modi.

Quando una richiesta viene inviata tramite un'API RESTful, questa trasferisce al richiedente uno stato rappresentativo della risorsa. L'informazione, o rappresentazione, viene consegnata in uno dei diversi formati tramite HTTP: JSON (Javascript Object Notation), HTML, XLT o testo semplice. Il formato JSON è uno dei più diffusi, perché indipendente dal linguaggio e facilmente leggibile da persone e macchine. 

Affinché un'API sia considerata RESTful, deve rispettare i criteri indicati di seguito.

  • Un'architettura client-server composta da client, server e risorse, con richieste gestite tramite HTTP.
  • Una comunicazione client-server stateless, che quindi non prevede la memorizzazione delle informazioni del client tra le richieste; ogni richiesta è distinta e non connessa.
  • Dati memorizzabili nella cache che ottimizzano le interazioni client-server.
  • Un'interfaccia uniforme per i componenti, in modo che le informazioni vengano trasferite in una forma standard. Ciò impone che:
    • le risorse richieste siano identificabili e separate dalle rappresentazioni inviate al client;
    • le risorse possano essere manipolate dal client tramite la rappresentazione che ricevono poiché questa contiene le informazioni sufficienti alla manipolazione;
    • i messaggi autodescrittivi restituiti a un client contengano le informazioni necessarie per descrivere come il client deve elaborare l'informazione;
    • le informazioni siano ipermediali, ovvero accedendo alla risorsa il client deve poter individuare, attraverso hyperlink, tutte le altre azioni disponibili al momento.
  • Un sistema su più livelli che organizza ogni tipo di server (ad esempio quelli responsabili della sicurezza, del bilanciamento del carico, ecc.) che si occupa di recuperare le informazioni richieste in gerarchie, invisibile al client.
  • Codice on demand (facoltativo): la capacità di inviare codice eseguibile dal server al client quando richiesto, estendendo le funzioni del client. 

Sebbene l'API REST debba essere conforme a questi criteri, il suo impiego è comunque considerato più semplice rispetto a quello di un protocollo prescrittivo come SOAP (Simple Object Access Protocol), che presenta requisiti specifici come la messaggistica XML e la conformità integrata di sicurezza e transazioni, che lo rendono più lento e pesante. 

Al contrario, REST è un insieme di linee guida applicabili quando necessario, il che rende le API REST più rapide e leggere, ottimali quindi per l'Internet of Things (IoT) e lo sviluppo di app mobili

Perché scegliere Red Hat

Red Hat® Integration è una soluzione basata sulle API che offre connettività delle applicazioni e trasformazione dei dati, composizione e orchestrazione dei servizi, flussi di messaggistica in tempo reale, acquisizione delle modifiche ai dati e gestione delle API da un'unica posizione, facilitando la connessione di applicazioni e dati tra infrastrutture ibride. Combinata a una piattaforma cloud native e a una toolchain, agevola lo sviluppo applicativo moderno. 

Red Hat 3scale API Management è un componente di Red Hat Integration, che aiuta a condividere, distribuire, controllare e monetizzare le API su una piattaforma infrastrutturale concepita per ottenere prestazioni, controllo, sicurezza e crescita. I componenti 3scale sono integrabili on premise, nel cloud o in altre combinazioni. 

Gli strumenti per l'integrazione a tua disposizione

Red Hat Integration logo

Set completo di tecnologie per l'integrazione e la messaggistica.

Red Hat 3scale API Management

Piattaforma per la gestione delle API.

Come monetizzare le risorse con la gestione delle API