Proseguiamo con questo articolo la pubblicazione di una serie di contributi dedicati alla App economy, ai suoi presupposti, ai suoi sviluppi e alle sue potenzialità. Buona lettura
In Formula 1, ogni singola macchina è un prototipo. Nessuna squadra usa la stessa auto per due gare: vengono sempre apportate modifiche, anche di grande portata. Una macchina da corsa è articolata su componenti rapidamente sostituibili grazie a interfacce ben definite, e viene fornita già completa di un elevato numero di controlli e sensori, dai quali si parte per avere analytics.
E’ questo il paragone alla base di Apis for Dummies, un ebook gratuito realizzato da Ibm sulla Api economy e del quale vi riassumiamo la prima parte. Anche se le componenti della vettura possono rimanere stabili per tutta la stagione, alcune componenti vengono ottimizzati in base alle lezioni apprese nella gara precedente.
Data questa definizione, passiamo ad un immediato confronto con l’approccio precedente, classicamente il Soa (Service-Oriented Architecture). Anche le Api sono un servizio, nei Soa si privilegia stabilità e sicurezza, quindi nel paragone automobilistico sono come berline in produzione di serie. Un’Api moderna rappresenta un pacchetto di capacità che attrae un pubblico indipendentemente da quali software siano in esecuzione nel back-end.
L’utilizzo delle Api come abilitatori di rete aziendale non è nuovo. Le banche hanno da decenni infrastrutture a pagamento e camere di compensazione, impostate come reti private chiuse. Le Api moderne, invece, sono costruite esplicitamente per un ecosistema aperto (interno o esterno), non per le reti private chiuse.
Dati per la comunità
A differenza del passato, un’Api non è vista come un software, bensì come un approccio per pubblicare dati verso una particolare comunità. Ovviamente il risultato viene ottenuto tramite il software, ma il punto d’accesso non è quello.
La stessa gestione delle Api dev’essere poco collegata alla programmazione, anzi dovrebbe essere svolta interamente attraverso modifiche di configurazione. Se un’Api diventa code-intensive, piuttosto che una questione di configurazione dinamica, il suo tasso di innovazione rallenta inevitabilmente.
Idealmente, un ecosistema basato su Api dovrebbe essere incentrato su una comunità di utenti. Le buone soluzioni per la gestione vanno ad aggiungere valore ai fornitori, rendendo più facile la creazione di interfacce e migliorando il controllo del comportamento runtime. Le Api di Twitter, per esempio, hanno spesso un traffico dieci volte maggiore del sito internet del social network: questo business model si concentra deliberatamente sull’intermediazione.
Api come un prodotto
Ma come si realizza un’Api? Un ottimo modo di farlo è di pensarle come fossero un prodotto. Ciascuna Api rappresenta qualcosa che si è scelto di condividere con un pubblico particolare e a condizioni definite, in quanto è il modo più semplice ed efficace di innovare e collaborare in un ambiente ibrido.
Anche se si parla sempre di Api pubbliche, per gran parte queste interfacce sono private, nascoste all’interno dell’azienda. Non avere una Api pubblica oggi è come non avere un sito web alla fine del 1990: l’azienda non si muove nella direzione più giusta e alla velocità opportuna.
Si parla molto di monetizzare le Api rese pubbliche, ma ovviamente può non essere l’unico punto del modello di business. Molte aziende infatti le usano per veicolate la collaborazione e l’innovazione attraverso le loro It interne e gli ecosistemi di business.
Quattro categorie di Api
Si possono inquadrare le interfacce in quattro grandi categorie: rilevamento, arricchimento, percezione e azione.
- Il rilevamento permette di identificare le opportunità per coinvolgere clienti, dipendenti, partner e anche dispositivi. I meccanismi relativi sono il rilevamento della posizione (del cellulare), i sensori di monitoraggio, l’analisi predittiva e la stessa osservazione umana.
- Le Api di arricchimento migliorano la comprensione della situazione analizzando i dati storici dal customer relationship management, le azioni sul conto, l’analisi demografica, le cartelle cliniche ed altri elementi analoghi.
- Nella categoria di percezione sono comprese informazioni che forniscono contesto dinamico per la situazione attuale e inquadrare le categorie di persone con le quali si desidera impegnarsi. Esempi classici sono le Api sociali (persone che condividono interessi attuali o progetti per il futuro) e le Api di sensori (lo stato generale del sistema, come ad esempio il consumo globale delle risorse o la congestione del traffico).
- Le Api di azione consentono di intervenire in tempo quasi reale. Esempi di azione-tipo sono le notifiche push, la strumentazione e i sistemi di gestione dei compiti umani.
Soap, Rest ed Mqtt
Il design di un’interfaccia Api è generalmente inquadrato con grande attenzione, come mostrano gli approcci Soap, Rest ed Mqtt.
I servizi Soap sono basati sul metodo. Gli aspetti più importante sono l’insieme dei metodi supportati e le strutture dati di ciascun metodo.
Le interfacce Rest sono basate su risorse. Il più importante aspetto del design di interfaccia è la struttura Uri, che permette al consumatore la navigazione il grafico oggetto incarnata dall’Api.
Nel caso delle interfacce Mqtt per M2M ed IoT, invece, al centro di tutto ci sono l’insieme degli eventi e i messaggi ad essi associati.
Di seguito i link agli altri articoli della serie “Appunti di Api Economy” già pubblicati
Appunti di Api economy
Benché esista ormai da molto tempo, il software è l’elemento disruptive della società d’oggi, che solo adesso sta manifestando tutta la sua potenzialità. Software is eating the world, scrisse Marc Andreessen qualche anno fa. […]
Gestire l’economia delle App
Le Application Programming Interface, cioè le interfacce per la programmazione di applicazioni, sono nate quasi insieme all’informatica, anche se in origine non si chiamavano in questo modo. […]
[…] questo avvenga, Tesco ha sviluppato una nuova API, aprendo le funzionalità di backend del proprio sito a sviluppatori terze parti, che per […]