Questo articolo fa parte di una serie di mie riflessioni sull’innovazione technology-driven, cominciata qui.
Vediamo come è costruita una architettura tecnologica a supporto dell’enterprise mobility: personalmente trovo molto esaustiva la trattazione fatta da Longji Tang, Wei-Tek Tsai, and Jing Dong in “Enterprise Mobile Service Architecture: Challenges and Approaches”, che qui riprendo.
Gli autori hanno identificato 7 viste architetturali che descrivono in maniera adeguata una architettura di riferimento per gli EMS e che dovremmo considerare nella costruzione della soluzione:
- Enterprise Mobile Service: è il back end service fornito dai provider di dispositivi (SMS, email, web services e spesso cloud services) o dall’IT aziendale. Lo approfondiremo fra poco
- Enterprise Mobile Service Consumer: è l’applicazione ovvero ogni interfaccia applicative caricata sul dispositivo, che può accedere e “consumare” servizi applicativi.
- Enterprise Mobile Service Data and Mobile Context Data Set: il mobile computing è diverso dal distributed computing tradizionale in quanto i dati ed il contesto del loro utilizzo è in continuo cambiamento (ad es. roaming). «Context-awareness» è definita la capacità di un servizio di gestire un contesto esecutivo che include location, tempo e informazioni utente.
- Enterprise Mobile Service Process: il ruolo dei dispositivi mobili all’interno dei processi aziendali e di ogni processo transazionale dei clienti.
- Enterprise Mobile Service Infrastructure: un’estensione dell’infrastruttura aziendale, all’interno della quale vanno incorporati concetti di performance e reliability che sono dipendenti anche dal backbone del mobile network provider.
- Enterprise Mobile Service Management: che deve indirizzare principi di gestione specifici di quella che abbiamo chiamato prima «complessità applicativa».
- Enterprise Mobile Service Quality Attributes: performance, reliability, scalabilità, reusabilità, gestibilità, security, costi e interoperabilità.
Vi rimando all’articolo se vorrete approfondire tutti questi aspetti. A me preme trattare i servizi «esposti» dal sistema informativo aziendale verso i dispositivi e le applicazioni mobili, che sono il cuore dell’architettura di enterprise mobility e, come vedete in figura, possono essere di tre tipologie :
- Enterprise services generalizzati, utilizzati anche dalle applicazioni non mobile.
- Servizi sviluppati ad hoc per le applicazioni mobile.
- Servizi forniti in modello SaaS da un Cloud Service Provider.
Facendo un passo indietro, come saprete, in una Service Oriented Architecture ci sono due attori principali: i servizi ed i service consumer.
Potete pensare ai servizi come involucri che avvolgono le singole funzionalità applicative mascherando la loro complessità implementativa ed esponendo solo un sistema per attivare la funzione ed il metodo per passare i dati in ingresso e ricevere i dati in uscita.
I consumatori di servizi possono essere servizi più complessi, pagine web o applicazioni, che rendono fruibili le funzioni applicative agli utenti finali.
Le Service Oriented Architecture si sono sviluppata a partire dagli anni ‘80 per disaccoppiare lo sviluppo delle funzionalità core dallo sviluppo dell’interazione con l’utente e per consentire che questi due componenti funzionassero su unità elaborative diverse fra loro e distribuite sulla rete.