Idc stimava qualche anno fa che sarebbero stati 1.300 miliardi i dollari spesi nel 2018 a livello mondiale per iniziative di trasformazione digitale, ma che oltre 900 miliardi non avrebbero centrato l’obiettivo, ugualmente secondo un’analisi McKinsey basata su quasi 2.000 executive worldwide solo il 24% dei progetti di digital transformation erano stati portati a compimento con successo. A questo proposito è fondamentale allora come oggi l’Enterprise application integration, per integrare dati e applicazioni un’attività che se non è correttamente compiuta è una delle principali cause del fallimento dei progetti di trasformazione digitale.
Che cos’è oggi l’Enterprise Application Integration (EAI) e come si è evoluta
Dal momento stesso in cui in un’azienda è stata introdotta la seconda applicazione si è posto il problema della sua integrazione con quella già installata e nel tempo il tema dell’integrazione applicativa è stato affrontato in modi differenti.
“Siamo passati da un’integrazione diretta (con connettori che consentono alle diverse applicazioni di comunicare, utilizzando protocolli di rete come TCP o HTTP) alla realizzazione di interfacce dedicate (EDI ecc.) che, seppure motivate da logiche di business, complicano l’interfaccia applicativa e l’interfaccia dati con impatti negativi su fruibilità e agilità. Si è poi cercato di razionalizzare questa ‘spaghetti integration’ con middleware di servizi: dall’ESB-Enterprise Service Bus fino a un nuovo paradigma architetturale, la SOA-Service Oriented Architecture”, spiega Stefano Mainetti, co-direttore scientifico dell’Osservatorio Cloud & ICT as a service della School of Management del Politecnico di Milano.
Ma tutto questo oggi non è più sufficiente (né facilmente gestibile), perché soprattutto in un momento di incertezza come quello attuale, le aziende si trovano ad affrontare nuove sfide che hanno un impatto diretto sul proprio modello di business.
“La SOA – ricorda Mainetti – è un’ottima soluzione di ingegneria del software, ma è troppo ingombrante, costosa e soprattutto non in grado di rispondere a quell’essenziale requisito della rapidità che può determinare, da solo, la riuscita di un progetto d’impresa”.
L’evoluzione verso iPaaS e utilizzo API
La risposta per semplificare questa complessità viene da nuovi ambienti di integrazione utilizzabili a consumo come l’iPaaS (integration Platform as a Service) e dalla diffusione delle API, che rappresentano un insieme di funzionalità esposte da un’applicazione, in pratica una modalità standard per l’interrogazione e l’accesso ai dati.
Le API sono, da un lato, una tecnicalità che permette di fare in modo più rapido quello che si è sempre fatto, ma dall’altro, sottolinea Mainetti, “aprono un potenziale potentissimo di cambiamento dei modelli di business perché esponendo API si abilitano processi tipici della trasformazione digitale: ci si integra facilmente in una catena estesa con i fornitori e i business partner; si concretizzano i modelli basati sulla multicanalità rendendo disponibili i servizi applicativi su tutti i device; o, ancora, si abilita la nascita di nuovi soggetti economici perché si rende possibile lo sviluppo di nuovi servizi a terze parti”.
Ed ecco che le API si trasformano da “banale” tecnicalità a strumento di trasformazione; ma per non ricadere nella confusione della “spaghetti integration” (le API a loro volta evolvono e quindi diventa indispensabile, per esempio, gestirne il versioning) sono indispensabili piattaforme di API management.
Emerge l’iSaas: cos’è
E ancora, assistiamo all’emergere dell’iSaaS, piattaforme cloud per abilitare quella che Gartner ha definito “Citizen Integration” ossia la possibilità per alcuni utenti business (o consumer) di occuparsi essi stessi dell’integrazione di alcune applicazioni, già fruite in cloud (per esempio MailChimp, sistema di email marketing, e il CRM Salesforce). Si tratta di integrazioni che Gartner stessa definisce “basiche”, non complesse e pacchettizzate, ma che possono abilitare lo sviluppo rapido di nuovi servizi: proprio quello che oggi il business richiede, realtà che per concretizzarsi deve anche vedere una trasversalità delle competenze digitali in tutta l’azienda.
L’evoluzione dei diversi approcci all’integrazione sta oggi portando alla definizione di soluzioni di Enterprise Application Integration che sono piattaforme ibride che combinano: piattaforme di integrazione di dati e applicazioni on premise con iPaaS, iSaaS e piattaforme di API management.
Un ruolo cruciale in tutto ciò assume la data governance in quanto il dato rappresenta la cellula vitale di ogni applicazione ed è impossibile sviluppare una strategia di application integration se non si parte da dati non manipolati (data integrity), significativi e utilizzabili nelle applicazioni (data consistency); ecco quindi che per affrontare il tema dell’EAI non si può prescindere dal Master Data Management (MDM).
Che cos’è una soluzione iPaaS e perché utilizzarla
Rispondiamo subito alla prima parte del quesito fornendo una elementare definizione di iPaaS (integration Platform as a Service): un servizio cloud che offre all’IT una piattaforma per l’integrazione di dati, applicazioni, servizi e processi.
È un segmento che si sta sviluppando molto rapidamente e se fino a non molto tempo fa era vero che le iPaaS privilegiavano l’usabilità rispetto alle funzionalità, oggi il gap in termini di funzionalità si sta velocemente riducendo e queste piattaforme vanno a coprire un numero sempre maggiore di esigenze (per esempio stanno integrando l’API management). Ma la caratteristica principale, che le rende formidabili in termini di facilità d’uso è che forniscono tool di sviluppo basati su modelli e un portfolio di integrazioni pre-pacchettizzate.
Massimo Pezzini, VP & Gartner Fellow, indica le due principali ragioni per le quali le iPaaS sono un ingrediente importante di una strategia di integrazione: “In primo luogo sono le piattaforme ideali per supportare l’integrazione cloud to cloud [fondamentale se, come abbiamo visto nel corso degli ultimi due anni, l’approccio multicloud è uno dei trend distintivi dell’evoluzione dell’hybrid cloud – ndr] e mobile to cloud; in secondo luogo, queste piattaforme fornendo ambienti di sviluppo più semplici rispetto a quelle on premise, consentono di realizzare con maggior facilità quella che chiamiamo ad hoc integration, ossia l’integrazione di progetti specifici”.
La figura 1 illustra le caratteristiche che identificano una iPaaS.
Che cos’è una soluzione di API management e perché utilizzarla
Prima ancora di parlare di API management ricordiamo in estrema sintesi cos’è un’API (Application Programming Interface): un set di funzionalità che, attraverso una modalità standard per ’interrogazione e l’accesso dei dati, espone le funzionalità dell’applicazione consentendole di comunicare con le altre applicazioni e abilitando il riuso dei servizi resi disponibili che possono così comporsi e scomporsi in base alle necessità. Le API sono dunque strumenti indispensabili per erogare rapidamente i servizi e abilitare modelli di business basati sulla capacità di rispondere in real time alle esigenze del mercato: è grazie alle API, per esempio, che un’applicazione enterprise viene facilmente resa disponibile su mobile o, ancora, che ci si può integrare in una catena estesa “aprendo” le proprie applicazioni a fornitori e partner ecc.
Tutto ciò ha portato a un proliferare di API che però, se non vengono gestite e governate, rischiano di rendere ingovernabile il parco applicativo di ogni azienda. Sono quindi nate piattaforme di API management per creare, governare e distribuire API, gestendone il versioning, la reperibilità e definendone i limiti d’uso: “Scopo di una soluzione di API management – prosegue Mainetti – è dunque quello di monitorare, ottimizzare e rendere sicuro l’utilizzo delle API tramite il controllo degli accessi, l’applicazione delle policy di sicurezza, il routing, il caching, gli strumenti di analisi e monitoraggio. Queste soluzioni, inoltre, supportano la monetizzazione di dati e servizi esposti consentendo di gestire transazioni, prezzi, misurazione del consumo, fatturazione, provisioning di chiavi di accesso o token”.
Le piattaforme di API management più complete, infatti, consentono di gestire l’accesso a pagamento alle API, fornendo agli sviluppatori le informazioni necessarie per creare applicazioni basate su di esse; pagamento che può essere diretto o con una condivisione sui ricavi (per esempio: utilizzando l’API di PayPal, gli sviluppatori permettono ai loro clienti di pagare facilmente per un oggetto, mentre PayPal riceve una percentuale diretta di ogni vendita).
Scenari di utilizzo di soluzioni di API management
Gli scenari di utilizzo di una soluzione di API management possono essere molto diversi, per questo Forrester raccomanda di effettuare un assessment preciso delle proprie esigenze prima di scegliere la piattaforma di implementare. Per aiutare a comprendere e classificare le proprie necessità, la società di analisi ne ha identificati cinque:
- costruire un’ampia community di utenti attraverso Rest API (ossia API che utilizzano la tecnologia REpresentational State Transfer per gestire/trasferire i dati su Internet): i big player come Google, Twitter, Facebook ecc. rendono disponibili un’ampia gamma di API gratuite e semplici da implementare per attrarre una grande quantità di sviluppatori indipendenti. In questo caso è molto importante disporre di una soluzione di API management che abbia strumenti analitici molto potenti che consentano di comprendere quanti stanno utilizzando le API e come, per cosa ecc.;
- supportare lo sviluppo di app mobile attraverso Rest API – In questo caso la soluzione di API management diventa il luogo dove si coordinano tutte le attività di sviluppo e distribuzione di API che consentono la fruizione di servizi applicativi in mobility. Può servire una soluzione che stressi particolarmente questo aspetto: alcune forniscono funzionalità aggiuntive specifiche come la notifica push, la geolocalizzazione ecc;
- facilitare l’utilizzo di diverse tipologie di API – Le grandi aziende hanno utilizzato negli ultimi dieci anni, e continuano a farlo, sia il protocollo Soap (Simple Object Access Protocol) sia la tecnologia Rest, insieme ai WebSocket (tecnologia web che fornisce canali di comunicazione full-duplex attraverso una singola connessione TCP) e ad applicazioni di comunicazione come Amqp- Advanced Message Queuing Protocol o JMS- Java Message Service. In questi casi è necessaria una soluzione di API management in grado di governare questa eterogeneità e di combinare API con SOA-Service Oriented Architecture;
- costruire una solida community B2B attorno ad API mission critical – Sebbene il mercato delle open API sia in espansione, gli utenti contattati da Forrester per definire la Forrester Wave for API Management Solutions hanno affermato di utilizzare quasi nel doppio dei casi API B2B rispetto a quelle open. Se ci si trova in questa situazione, è necessario privilegiare la scelta di una soluzione di API management che consenta la gestione di un’ampia tipologia di API e che risponda a esigenze di sicurezza dei dati, in termini sia di privacy sia di integrità, molto stringenti.
- agire come un provider di API che vuole trarre valore diretto dall’accesso alle applicazioni – Alcune aziende intendono utilizzare le API come nuova fonte di ricavi. Fino ad oggi sono poche le realtà, sostiene Forrester, che hanno intrapreso questa strada, ma alcuni tradizionali fornitori di servizi come Verisign o Dun & Bradstreet stanno estendendo la loro tradizionale offerta anche a questo ambito. In questo caso la soluzione di gestione delle API deve integrare funzionalità di fatturazione e di gestione del pagamento.
Che cos’è una soluzione di MDM-Master Data Management e perché utilizzarla
Premettiamo che non stiamo parlando di una tecnologia e per chiarire cosa intendiamo con MDM-Master Data Management ci atteniamo alla definizione di Gartner: si tratta di una disciplina abilitata dalla tecnologia, un programma dove business e IT lavorano insieme per assicurare la qualità, l’accuratezza, la consistenza, la responsabilità dei master data presenti nell’organizzazione; si intende come master data qualsiasi asset che definisce il business dell’azienda (possono essere dati relativi a prodotti, clienti, impianti ecc.). Gartner sottolinea che seppure l’avere una visione coerente, integrata, consistente dei master data non assicuri di per sé la competitività dell’impresa, la sua mancanza sicuramente rende molto difficile se non impossibile realizzare un’efficace application integration.
Il titolo di uno studio Forrester di qualche mese fa è autoesplicativo del tema in questione: Data Performance Management Is A Must-Have, Not A Nice-To-Have. La gestione delle prestazioni dei dati, spiega la società di analisi, deve “raccontare una storia per gli stackholder” (ossia dare una visione coerente delle performance dei dati) e per farlo è necessario considerare tre livelli (figura 2):
- Fisico. Gli enterprise architect (EA) necessitano di dashboard che forniscano una comprensione degli aspetti fisici dei dati (come modelli, completezza, ridondanza ecc.) e indicatori di prestazioni (volume, errori di elaborazione, sicurezza ecc.). Questi cruscotti aiutano a ottimizzare risorse, sistemi, dati e risposte a problemi e violazioni così che gli EA possano convalidare integrità e consistenza dei dati.
- Policy. I team di governance dei dati necessitano di visualizzazioni che indicano che i dati e il loro consumo sono conformi alle politiche di qualità, sicurezza, privacy e utilizzo. Le dashboard di data performance aiutano i CDO e a sostenere programmi di governance dei dati che indirizzano nuove e mutevoli policy sui dati, a tenerli aggiornati, mantenerli sicuri e a dare priorità a risorse e progetti basati sui dati
- Impatto. I responsabili dei master data hanno bisogno di analisi delle performance che si colleghino alle metriche aziendali e ai key performance indicator (KPI). È da queste analisi che si potrà capire se i servizi di data management stanno abilitando o ostacolando i processi aziendali e le esperienze dei clienti. Collegando le visualizzazioni fisiche e strategiche delle condizioni dei dati ai risultati aziendali in cui i dati e le informazioni guidano le decisioni e le azioni, i CDO possono convalidare gli investimenti e proporre o espandere strategie dimostrando un ROI tangibile.
L’automazione dei workflow per migliorare l’enterprise application integration
Tutti i processi aziendali possono essere suddivisi in una sequenza di passaggi ripetibili che devono essere eseguiti nel giusto ordine, dalle persone giuste e in modo tempestivo quindi la loro automazione consente, da un lato, una migliore orchestrazione delle diverse attività e delle risorse coinvolte, dall’altra, di monitorare in tempo reale l’andamento di ciascun processo (e più processi contemporaneamente). Le notifiche istantanee, gli alert ecc. permettono di prevenire eventuali conflitti in modo che i capo progetto o i top manager possano essere coinvolti solo se assolutamente necessario ed essere quindi focalizzati su attività più a valore del mero controllo. L’automazione dei workflow abilita inoltre quell’importante concetto del “miglioramento continuo” diventato così cruciale in un contesto di costante cambiamento e nel quale entrano in gioco un numero elevato di variabili.
Le più moderne piattaforme di workflow automation possono essere considerate un’estensione delle piattaforme di application integration e possono essere integrate in una iPaaS o rese disponibili come piattaforme a sé stante. Si caratterizzano per l’estrema semplicità d’uso grazie a tool drag-and-drop che consento di disegnare processi automatizzati (grazie anche all’utilizzo di template pre impostati) molto più rapidamente delle soluzioni tradizionali e gli analisti rilevano che il 20% delle organizzazioni che utilizzano queste soluzioni registra il 15% di risparmio sui costi aziendali.
Come implementare un’efficace strategia di Enterprise Application Integration e definire l’architettura EAI necessaria
Quando oggi si parla di integrazione applicativa non ci si può riferire solo all’aspetto tecnologico perché in un mondo digitale disporre di un patrimonio applicativo in grado di rispondere (se non anticipare) le richieste del mercato è il cuore stesso dell’impresa. Quindi, fornendo alcune rapide indicazioni che derivano da un recentissimo studio di Forrester (Integration Strategy And Delivery Service Providers, marzo 2018), ricordiamo che la definizione di una strategia di enterprise application integration deve comprendere la revisione e l’integrazione dei processi e delle persone.
Strategia di EAI – Step 1
Forrester mette subito in guardia sull’allettante strada delle scorciatoie (approcci semplici all’integrazione, senza una strategia d’insieme) che possono risolvere il problema specifico molto rapidamente, ma rappresentano scelte tattiche che forse contribuiscono a una maggiore agilità tecnica ma non certo all’agilità dell’impresa nel suo insieme. Ecco quindi tre consigli forniti dalla società di ricerca:
- Definire un’architettura Enterprise Application Integration finalizzata alla digital transformation: le tecnologie digitali innovative (per esempio il machine learning o la gestione dei flussi dati in sistemi IoT) creano sfide, ma anche opportunità, specifiche che devono poi integrarsi nel giusto modo con le applicazioni legacy. Il tutto tenendo ben presenti le specificità delle singole industry: nella scelta del fornitore di servizi e EAI tools è dunque prima di tutto importante indirizzarsi verso chi dispone di modelli di piattaforme di integrazione predefiniti per la propria industry, ma poi, per utilizzare anche l’integrazione come elemento di differenziale competitivo, l’abilità sta nel combinare le practice di settore con la propria peculiare realtà (in pratica non perdere funzionalità strategiche per favorire una facilità di integrazione figlia di una anonima standardizzazione).
- Stabilire l’organizzazione e i processi migliori per l’integrazione: la scarsa integrazione dei processi non può che portare ad applicazioni e tecnologie scarsamente integrate e quindi sono indispensabili team collaborativi con una governance dei flussi delle attività; questo punto, seppur separato dal punto di vista logico, è strettamente correlato con quello successivo.
- Definire un’organizzazione agile pronta per evoluzioni future e a oggi imprevedibili: team separati, scarsa collaborazione, organizzazione gerarchica sono i nemici giurati della digital transformation che si declina invece su metodologie Agile dove la collaborazione e l’agilità non è limitata ai team IT (il classico DevOps) ma si estende a tutta l’impresa e non solo: bisogna anche essere in grado di integrare ecosistemi ampi e nuove piattaforme tecnologiche. Anche in questo caso le forme che può assumere l’organizzazione sono diverse, non esiste una ricetta uguale per tutti e l’abilità sta proprio nel plasmare i concetti agilità sulla propria specifica realtà.
Strategia di EAI – Step 2
Il passo successivo di Forrester è quello di fornire alcune indicazioni nella scelta del fornitore di soluzioni e servizi di enterprise application integration:
- Iniziare con una visione ampia dell’integrazione, restringendola solo nella fase di attuazione dello step iniziale. Prima di partire nella selezione della piattaforma bisogna parametrare le proprie esigenze di integrazione (da quelle più urgenti da implementare immediatamente con quelle meno pressanti, demandate a fasi successive, ma ugualmente importanti) con le diverse funzionalità di integrazione disponibili (un elenco non esaustivo comprende: application integration, data integration, data quality, master data management, business process management, in-memory data management, cloud integration, IoT ecc.).
- Cercare la corrispondenza tra l’ampiezza della propria visione e quella del vendor. Alcuni vendor coprono la maggior parte delle funzionalità, alcuni forniscono singoli servizi senza offrire una vision coesa; in ogni caso è importante la copertura delle funzionalità relative alla data integration.
- Assicurarsi che il proprio fornitore di servizi abbia competenze profonde sulla piattaforma di integrazione prescelta. Sembra una banalità, ma non è così scontato perché spesso le aziende hanno rapporti consolidati con fornitori di servizi e tendono a mantenerli a prescindere dalla tecnologia scelta.
- API e microservizi devono sempre essere considerati come parte di una visione più ampia di integrazione (anche nel caso al momento non rientrino nelle specifiche esigenze).