Dall’idea allo sviluppo di API in modalità Agile secondo Red Hat: parte 1

Icone di Laymik (Noun Project) sotto licenza Creative Commons

Nel mondo delle applicazioni odierne, che sempre più richiedono di potersi integrare con altre applicazioni in modo facile e sicuro, le API (Application Programming Interface) ricoprono un ruolo fondamentale. Ho quindi trovato interessante pubblicare uno stralcio proveniente dal blog di Red Hat che spiega come costruire una API dall’inizio alla fine.

Come indicato dall’autore, Laurent Brodoux, l’obiettivo di questa serie di post è descrivere un approccio proposto per un processo di consegna API agile, coprendo non solo la parte di sviluppo, ma anche il design, i test, la consegna e la gestione in produzione. Sarà inoltre spiegato come usare il mocking per accelerare lo sviluppo e rompere le dipendenze, utilizzare l’approccio del contratto per la definizione di test per rafforzare l’implementazione, proteggere l’API esposta attraverso un gateway di gestione e, infine, le consegne sicure utilizzando una pipeline CI / CD .

La serie di post è stata scritta con il supporto di Nicolas Massé, che è anch’egli collega in Red Hat. Laurent Brodoux spiega che questa serie si basa sull’esperienza di vita reale del lavoro con i clienti Red Hat , nonché dalla sua precedente posizione come architetto SOA presso una grande compagnia di assicurazioni.

Background

Poiché l’IT diventa una competenza fondamentale per le imprese al fine di mantenere un ritmo veloce di innovazione, la maggior parte delle aziende si sta trasformando in società di software. E sono in procinto di ripensare il modo in cui stanno costruendo e gestendo l’IT per prepararsi all’esplosione dei nuovi servizi digitali a venire. Questa tendenza porta a paradigmi dell’architettura software moderni come API e microservizi.

Poiché le soluzioni di gestione dell’API stanno diventando mainstream, è diventato più facile esporre in modo sicuro le API al mondo. Tuttavia, fare questo non è una soluzione completa. L’intero ciclo di vita dell’API dovrebbe diventare Agile anche per rimanere rilevante. Paradossalmente, questo è difficile da fare perché la nuova architettura basata sui servizi fa crescere a dismisura le dipendenze.

Quindi, è il momento di pensare a un nuovo modo di fornire le API – simulazione e test inclusi – per semplificare e accelerare la spedizione di API pronte per la produzione supportate da microservizi.

Caso di utilizzo concreto

Prima di approfondire, esaminiamo un caso d’uso che aiuterà a illustrare questo approccio attraverso un esempio: il caso d’uso di ACME Inc., un birrificio locale. ACME produce, immagazzina e distribuisce birre ai suoi amati clienti e l’intero processo è gestito internamente.

La crescente concorrenza e la crescente domanda della base di clienti stanno costringendo ACME a ripensare il proprio modello di distribuzione. Vale a dire, la distribuzione sarà lasciata a rivenditori indipendenti che potrebbero vendere birre localmente, online o sul posto. La sfida principale è come aprire il sistema informativo in modo che i rivenditori indipendenti possano scoprire il catalogo della birra, controllare l’inventario e così via. Questo può essere fatto attraverso l’esposizione di un’API, ovviamente.

Tecnologie e materiali

Le tecnologie che utilizzeremo per guidare ACME Inc. in questo viaggio sono:

Strumento di progettazione API (Apicurio Studio)
Strumento di simulazione e test (Microcks)
Strumento di test e modifica API (Postman)
Framework di sviluppo del servizio (Spring Boot)
Piattaforma di distribuzione / CI-CD (Kubernetes / OpenShift)
Strumento di gestione API (3scale)

Potresti semplicemente leggere gli articoli, ma se vuoi andare avanti ripetendo l’intera dimostrazione del caso d’uso, tutto il materiale (codice sorgente, script, procedure di configurazione) può essere trovato in questo repository GitHub.

Continua a leggere l’articolo alla fonte: Red Hat Developer Program Blog

Post correlati