Skip to main content

Il mondo dello sviluppo software è caratterizzato da un’innovazione costante, e questo crea aspettative sempre più alte da parte delle aziende, soprattutto in termini di efficienza e di time to market. Uno degli strumenti più efficaci con cui rispondere a queste esigenze è l’API mocking.

La sfida n° 1 è il time to market

Negli ultimi anni le aziende esercitano pressioni significative sullo sviluppo del software poiché da esso dipende, in senso lato, la loro competitività. I team di sviluppo rispondono a queste sfide abbracciando la forte evoluzione del settore, sia in chiave tecnologica che metodologica. Tematiche cardine come DevOps e le pratiche Continuous Integration e Continuous Delivery nascono proprio per assecondare al meglio le esigenze moderne del business.

Nei progetti, per esempio, si assiste sempre più spesso all’avvio simultaneo dello sviluppo frontend e dei servizi backend, una strategia evidentemente mirata al time to market, ma non priva di sfide. Gli sviluppatori frontend, infatti, necessitano di API funzionanti per poter implementare e testare le funzionalità dell’applicazione in modo completo e accurato, ma se i diversi componenti vengono sviluppati parallelamente, si può verificare un problema di sincronizzazione in grado di annullare i benefici della metodologia adottata.

Per avere API funzionanti ci vuole tempo

Progettare, sviluppare, testare, correggere e implementare le API richiede tempo, oltre (ovviamente) a tutte le competenze e i tool del caso. Completato il design, è soprattutto lo sviluppo ad essere oneroso in termini di tempo, e questo può dipendere da numerosi fattori:

necessità di predisporre gli ambienti server;

doversi integrare con sistemi legacy complessi;

esigenza di mappare correttamente dati e proprietà reali nel modello definito dallo schema;

dover progettare o creare il database;

necessità di unire sorgenti dati differenti e normalizzarli;

dover produrre dati anonimizzati per gli ambienti di sviluppo e di test.

A tutta questa complessità si unisce il fatto che le API, una volta realizzate, vanno testate e corrette. Se efficienza e time to market sono prioritari, non è possibile aspettare il completamento dello sviluppo delle API prima di procedere con quello delle applicazioni che le utilizzeranno. Ed è qui che entra in scena l’API mocking.

Logo Intesys bianco
STORIA DI TRASFORMAZIONE DIGITALE

Automatizzare i rilasci e i test di un API Gateway

SCOPRI IL CASO

API mocking: cos’è, le sfide, i benefici e come sfruttarli

L’API mocking è una pratica su cui abbiamo molta esperienza e che mettiamo a disposizione dei nostri clienti. Di fatto, con essa creiamo delle versioni fittizie di API reali che restituiscono dati verosimili e formalmente corretti, ma non sorretti da alcuna business logic sottostante. Il dato restituito dal sistema ha dunque correttezza formale e può essere usato per sviluppare le applicazioni.

Esistono diversi approcci e metodologie di API mocking, ma noi ci concentriamo su due: quello delle API simulate a livello di producer e, in modo speculare, a livello di consumer. Nel primo caso, il server incaricato di fornire le API fornisce dei dati mocked, da utilizzare a scopo dimostrativo, di sviluppo o di test; nel secondo, è invece il client a simulare l’interrogazione delle API e a controllarne le risposte, così da ricreare velocemente e in modo riproducibile scenari altrimenti complessi da riprodurre con API reali.

Per quanto concerne gli scenari di utilizzo e i benefici, sfruttare il mocking delle API permette alle aziende di:

  • sviluppare in parallelo tutti i componenti dell’applicazione, con capacità di eseguire test funzionali delle componenti frontend senza dipendere da API reali. L’effetto sul time to market e sugli indicatori di efficienza può essere notevole.
  • testare le integrazioni con servizi di terze parti senza doverle effettuare realmente. In questo modo, gli sviluppatori possono valutare la qualità delle proprie integrazioni senza fare affidamento sui servizi reali, che (oltretutto) sono spesso a pagamento. Sempre nell’ottica dei benefici, questo rende le integrazioni più robuste e affidabili.
  • ridurre le dipendenze tra i team coinvolti nei progetti più impegnativi. L’API mocking dà ai team un certo grado di autonomia, evitando che gli imprevisti subiti da uno si propaghino a tutto il progetto.

I benefici ci sono, ma non mancano ovviamente le sfide e le complessità, per cui è sempre utile potersi confrontare con un partner esperto. Sviluppare un mock server con dati verosimili richiede,, infatti competenze specialistiche e più tempo rispetto a disporre già di API funzionanti; occorre poi accertarsi che lo schema delle API sia coerente e ben realizzato, poiché ogni modifica in corso d’opera richiede il loro refactoring, quello dell’applicazione e anche dei dati di mock. Infine, non sempre è agevole ottenere dati di test di mock in grado di coprire tutti i casi d’uso e, soprattutto, i casi limite che l’applicazione dovrà gestire.

Dopo aver completato lo sviluppo delle API e dell’applicazione, diviene poi necessario un processo di integrazione, test & fix, nel quale il mock server viene sostituito con le API reali e si verifica il corretto funzionamento dell’intero sistema. Quasi sempre, questo richiede qualche sviluppo ulteriore per sistemare alcuni limiti e problematiche occultate proprio dall’impiego di dati e API simulate; la qualità del lavoro delle fasi precedenti si riflette fortemente sui tempi di quest’ultima.

API mocking: il servizio e la visione di Intesys

In un articolo recente abbiamo approfondito il nostro servizio gestito di API gateway, evidenziandone il ruolo chiave all’interno di una visione più ampia: quella di aiutare le aziende a sfruttare al massimo il potenziale delle API. Per quanto centrale esso sia, infatti, il gateway è un tassello di un mosaico più ampio, e il nostro obiettivo è assistere le aziende a sfruttarlo al 100%.

Pur trattandosi di un’applicazione molto verticale, il mocking fa parte dello stesso quadro e si integra alla perfezione con gli altri componenti. Formalmente, potremmo considerare la generazione dei mock come una parte, una funzionalità del sistema di API gateway di cui ci facciamo carico mettendo a disposizione dei nostri clienti i tool e le competenze necessarie per accompagnarli verso la generazione di API fittizie.

Preferiamo, tuttavia, guardare la big picture e considerare l’API mocking come una pratica sulla quale abbiamo molta esperienza, disponiamo di strumenti allo stato dell’arte e con la quale aiutiamo le imprese a modernizzare, a rendere agili ed efficienti i processi di sviluppo applicativo, avendo così un impatto importante non solo su questi, ma anche sull’evoluzione culturale sottostante.

SCOPRI IL SERVIZIO GESTITO yAPIGateway
4.3/5.0 Article rating
7 Reviews
Cosa ne pensi dell'articolo?
  1. Amazing
  2. Good
  3. Bad
  4. Meh
  5. Pff
Umberto Gariggio
Senior Project Manager, Front-end developer

25 anni d’esperienza nel mondo web, Umberto in Intesys si occupa in particolare di sviluppo, progettazione e gestione di Single Page Applications basate su architetture Headless.

NEWSLETTER