Technology in Depth

Come integrare ERP e blockchain

ERP e blockchain sono mondi meno lontani di quanto si pensi. Ecco le migliori strategie per implementare una comunicazione tra il gestionale e la blockchain per utilizzare funzioni avanzate di tracciabilità, conservazione documenti, privacy e tutela della proprietà intellettuale

Pubblicato il 06 Ott 2023

Immagine di NicoElNino su Shutterstock

Negli ultimi anni si è assistito a un’evoluzione del mondo dei software gestionali, che ha portato l’universo ERP a scrollarsi di dosso la sua nomea di ambiente tradizionalista e legacy in favore di un’apertura verso tecnologie più innovative come web service e business intelligence. Soprattutto la tecnologia dei web service ha permesso alle piattaforme ERP di aprirsi al mondo cloud e all’interazione con protocolli prima preclusi ai rigidi paletti imposti dall’originaria architettura client server.

Questa evoluzione ha permesso agli sviluppatori di approcciare soluzioni sempre più avanzate che hanno rivoluzionato la gestione di ambiti critici, come la gestione documentale e i processi legati alla tracciabilità. L’intensa attività di ricerca e sviluppo, unita alle crescenti richieste da parte delle aziende di piattaforme più performanti e trasparenti, ha portato il mondo gestionale a interrogarsi sulle potenzialità dell’integrazione con la tecnologia emergente della blockchain.

Tutti i vantaggi della blockchain

I fornitori di software che hanno sperimentato questa integrazione, hanno potuto ratificare i benefici offerti dal potenziare la gestione di alcuni processi ERP con piattaforme blockchain: integrazione semplificata con modelli di machine learning e AI, maggiore sicurezza dei dati, trasparenza dei costi, innovative soluzioni legate alla tracciabilità e alla protezione di dati sensibili e proprietà intellettuale.

Integrare i processi del proprio ERP aziendale con una piattaforma blockchain pone però una sfida tecnologica non banale: occorre infatti analizzare il rapporto costi e benefici e costruire le interfacce necessarie utilizzando tecnologie che non creino conflitti con l’ambiente software su cui il gestionale è stato sviluppato.

Utilizzare un approccio a basso livello, andando a costruire le interfacce con i linguaggi nativi delle blockchain, Solidity o Rust ad esempio, può rivelarsi complesso e portare alla realizzazione di librerie non facilmente integrabili con l’ambiente del proprio gestionale, a causa dei vincoli legati all’architettura proprietaria che potrebbero rendere complesso comunicare in modo diretto con queste tecnologie.

Una soluzione più performante potrebbe essere individuata nell’impiegare API (Application Programming Interface) realizzate specificamente per l’interazione con la blockchain. Queste API sono fruibili per mezzo di web service di tipo REST, protocollo ormai supportato o implementabile nella maggior parte dei gestionali moderni.

I set di API più diffuse, come ad esempio Alchemy, offrono una libreria di endpoint che rendono disponibili al fruitore tutte le funzionalità della blockchain: è possibile interagire con wallet, tracciare transazioni, interrogare e modificare proprietà di asset, eseguire il Mint (conio) di un NFT, interrogare e modificare metadati.

Tutto questo tramite chiamate REST a endpoint RPC (Remote Porcedure Call), che possono scambiare i dati con il gestionale impiegando oggetti JSON, come un qualsiasi web service che magari siamo già abituati a consumare su Azure o AWS.

Tutto più facile con le API

I vantaggi di impiegare questi servizi sono molteplici. Il primo è di poter risparmiarsi l’onere di interfacciarsi direttamente alla blockchain, che comporterebbe il non banale compito di gestire un nodo proprietario o dialogare con un nodo esterno alla nostra infrastruttura per mezzo di servizi dedicati come Infura.
Il secondo vantaggio è di poter programmare con un qualsiasi linguaggio a noi già familiare, come Javascript o Python, astraendo la complessità dell’approccio a basso livello di linguaggi come Solidity e Rust, e comunicando con endpoint REST consolidati e documentati.

Le chiamate a queste API sono formalmente simili a un qualsiasi web service che siamo già abituati ad usare, e la configurazione all’interno del gestionale segue la stessa procedura di un altro qualsiasi web service. A seconda dell’ambiente ERP impiegato, potremo perciò avere un menu in cui andare a definire una o più chiamate API, magari corredandole dei necessari token di autenticazione, oppure avere a disposizione una libreria da programmare all’interno dell’IDE proprietario del gestionale.

Un ulteriore vantaggio dell’impiego di API è che, solitamente, questi web service sono chain agnostic, cioè non sono vincolati a funzionare su una specifica blockchain, ma supportano nativamente più tipi di chain L1 e L2. Alchemy, ad esempio, alla data di scrittura di questo articolo, oltre a Ethereum supporta anche blockchain di secondo livello come Arbitrum e la recente Base di Coinbase.

Una, dieci, cento, mille blockchain

Il supporto a molteplici blockchain è del tutto trasparente per il fruitore dell’API: la firma (la definizione con i parametri richiesti) delle varie chiamate rimane uguale indipendentemente dalla blockchain referenziata, rendendo così semplice migrare il proprio codice su una blockchain diversa da quella per cui lo si era inizialmente sviluppato. Questo vantaggio semplifica aggiornamenti e manutenzione del software, ottimizzando il TCO del progetto.

Impiegando queste API è possibile arricchire i processi del gestionale o renderli più sicuri e resilienti. Particolarmente interessante è la possibilità di poter impiegare all’interno dei processi aziendali gli NFT, che aprono al mondo ERP potenzialità disruptive in ambiti come CRM, tracciabilità, e tutela della proprietà intellettuale. Grazie alle API dedicate, l’integrazione con gli NFT è del tutto trasparente e accessibile, in quanto l’NFT viene presentato al gestionale come un normale oggetto dotato di proprietà e metodi, fruibili con delle chiamate ai web service.

All’interno delle nostre personalizzazioni, sarà sufficiente dichiarare una classe come già siamo abituati, e utilizzarla per eseguire tutte le operazioni specializzate (conio, modifica metadati, invio a un wallet, integrazione con APP mobili), impiegando non complessi linguaggi dall’impegnativa curva di apprendimento, ma sintassi già a noi familiari.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4