Le “architetture service oriented” al tempo delle app



A cura di Giorgio Benvegna,


Le “architetture service oriented” al tempo delle app

Sono trascorsi ormai diversi anni da quando sentii parlare per la prima volta di architetture service oriented (SOA), lo avevo interpretato come un modo innovativo di far parlare sistemi diversi, ma non ne avevo compreso gli obiettivi che ne hanno in qualche modo guidato la nascita, ovvero:
 

  • La necessità per il business, le organizzazioni e i loro processi di un sistema informativo agile, flessibile, proattivo e soprattutto efficacemente e efficientemente allineato con le loro esigenze
  • L’evoluzione tecnologica delle architetture ICT e dello sviluppo del software basato sugli oggetti.


Oggi al tempo del web 2.0, delle app, dei tablet, degli smartphone capisco che questo tipo di architettura può essere l'unico modo per fare le cose.
Nell'agosto 2010, rimasi colpito dall' editoriale del magazine americano Wired nel quale l’allora direttore Chris Anderson, decretava con il titolo “The Web Is Dead” la fine del web così come lo conosciamo. Ucciso dalle applicazioni! Egli spiegava con parole molto semplici quello che stava accadendo all’attuale generazione di utenti Internet, sempre più "App-dipendenti" e sempre meno legati alla necessità di navigare.
Oggi infatti, ti svegli e controlli l'e-mail nel tuo iPad accanto al letto (ecco un'applicazione). Durante la colazione sfogli Facebook, Twitter e il tuo quotidiano preferito (altre tre applicazioni). Nel tragitto verso l'ufficio, ascolti un podcast sul tuo smartphone(un’altra applicazione). Al lavoro, scorri i feed RSS su un lettore e comunichi con Skype e Whatsapp (ancora applicazioni). Alla fine della giornata, torni a casa, ceni ascoltando Spotify, guardi un film sul servizio di streaming di Infinity. Hai trascorso tutto il giorno su Internet (ma non sul Web!!!).

 

Insomma, gli utenti di oggi preferiscono le Apps alla classica navigazione e anche quando passano dal browser rimangono confinati in una porzione di Internet molto ristretta.
Cos’è successo al Web? Di certo l’avvento di smartphone e tablet e più in generale quello delle applicazioni mobili ha cambiato lo scenario. Se fino a ieri eravamo "costretti" a ricercare informazioni, oggi possiamo contare sui piatti pronti preparati dagli chef delle Web Apps: non serve girare a vuoto su Internet, esistono applicazioni pronte all’uso, basta cliccare su un’icona per avere ciò che ci serve.
Non è solo una questione di velocità. Le applicazioni – oltre che immediate – sono anche efficaci: ci danno quello di cui abbiamo realmente bisogno, senza troppi fronzoli.
Con il Web muore anche il modello economico che finora ha sorretto i piani di molte Internet-company. "È un mondo in cui Google non può insinuarsi", scrive Anderson, quanto basta per mettere in crisi il sistema di pubblicità del primo ventennio di Internet.
Guardando il problema da un'altra prospettiva, ovvero dal punto di vista di chi le applicazioni le progetta e le sviluppa, l'abbandono del web o quantomeno questa tendenza dei consumatori a preferire un'app ad un sito, genera non pochi mal di pancia. Ci si rende subito conto che troppo spesso bisogna replicare troppe parti di codice per rendere il prodotto adatto a questo o a quel dispositivo.
Sebbene esistano una miriade di tool, framework e altre diavolerie che permettano di rimanere indipendenti dalla piattaforma, nel momento in cui il progetto richiede l'interazione con l'hardware del dispositivo, ad esempio con il Bluetooth, essi diventano inutilizzabili, e l’unica soluzione resta quella di sviluppare un’app nativa.
A questo punto poi bisogna fare i conti con il numero di sistemi diversi oggi in circolazione. Spesso ho sentito scuole di pensiero che protendono verso una piattaforma o verso un'altra con espressioni del tipo “tanto quella piattaforma fa schifo” o “sta per estinguersi” o peggio “tanto l'80% degli utenti usa l'altra”.
Mi sono detto “ma questa è discriminazione razziale, sembra di essere tornati ai tempi in cui si poteva salire sul l'autobus solo se si aveva la pelle di un particolare colore”.
È vero, in alcuni contesti può bastare sviluppare per una specifica piattaforma e costringere o dotare gli utenti di hardware specifico. Credo che oggi, però, se un cliente ci chiede un'app a larga diffusione, sia inevitabile attivare almeno 2 o 3 linee di sviluppo. Ma come fare ad evitare di duplicare, triplicare i costi del progetto, come rendere facilmente mantenibile un'app scritta per due o tre piattaforme diverse?

 

 

Credo che la migliore risposta a questa domanda sia quella di pensare l’applicazione basata sulla SOA. Essa rappresenta il risultato di un lungo trend evolutivo per consentire un’effettiva ed efficace interoperabilità tra applicazioni e tecnologie diverse e convergenti.