
L'eterogeneità del mondo Mobile è sotto gli occhi di tutti intermini di dispostivi con caratteristiche tecniche diverse, disponibilità di API per l'integrazione, schermi e dispositivi con dimensioni diverse, diverse tipologie di meccnismi di input ( touchpad, multi-touch, touch-screen, non-touch), diversi fornitori di servizi telefonici, ognuno con le loro caratteristiche e speicificità, diversi ambienti di sviluppo e SDK, spesso vincolati al tipo di hardware o prodotto selezionato.
Il risultato di questa ricchezza ed eterogeneità si può trasformare per le aziende in costi aggiuntivi ma soprattutto in scelte esclusive finalizzate a limitare le risorse da usare e la loro differenza in modo da semplificare a livello organizzativo la fase di gestione, controllo e messa in sicurezza.
La scelta dei dispositivi Mobili da adottare e della piattaforma di sistema operativo da utilizzare per le applicazioni obbliga a definire innanzitutto una strategia Mobile in modo da semplificare le scelte future, mantenere limitati i costi per aggiornamenti futuri ma soprattutto per garantirsi un ritorno sugli ivestimenti in termini di produttività e crescita.
Una strategia obbliga a scegliere con cura le modalità di accesso alle risorse aziendali in mobilità. Ad oggi queste modalità sono limitate a:
- Applicazioni Web-based: approccio perseguibile dopo il superamento delle limiazioni del passato dipendenti dalla disponibilità di banda, dal suo costo e dalla primitività dei protocolli usati. Oggi i servizi dei carrier offrono servizi dati illimitati, i browser sono molto più potenti, ricchi di funzionalità e comparabili a quelli disponibili sui desktop. L'adozione di un approccio web-based deve essere valutato sulla base della tipologia e della quantità di dati che verranno utilizzati a livello aziendale in mobilità.
- Applicazioni native e on-device: approccio che produce applicazioni che possono operare offline e sfruttare le speicificità del dispositivo in uso. Le applicazioni aziendali native sono in genere sviluppate per l'implementazione di dispositivi speciali di tipo rugged disegnati per ambiti di applicazione speicifici, per l'automazione di alcuni processi aziendal come le vendite eil customer service, per estendere funzionalitò applicative aziendali anche agli utenti mobili.
- Applicazioni con interfacce utenti spciali: una categoria di applicazioni varie, dai giochi, ai widget, siti web, data entry
Ognuno degli approcci qui sopra delineato comporta sfide tecnologiche e organizzative e apre nuove problematiche legate allo sviluppo, all'implementazione progettuale, all'sabilità da parte dell'utente finale, alla mancanza di standard, all'organizzazione dei contenuti e al design applicativo. In generale passare da una applicazione sul desktop ad una su dispositivo mobile non è complicato, ma l'intervento in termini di semplificazione e riorganizzazione necessario può essere complicato e time-consuming.
Tablet, innovazione continua
Nuove complicazioni nascono per le imprese se la scelta cade su applicazioni native, a causa della necessità di predisporre le adeguate risorse in termini di personale con conoscenze e competenze adeguate e strumenti di sviluppo. La complicazione aumenta se la scelta è di optare per una strategia Mobile multi-piattaforma. Ogni scosistema usa infatti un proprio ambiente di sviluppo e diverse tecniche e linguaggi di programmazione.
La gestione dei dati e le interfacce da mettere a disposizione in mobilità sono altri due elementi importanti di valutazione, soprattutto se si vuole integrare le banche dati aziendali con le applicazioni Mobile e se si vuole permetterne un uso anche offline. In quest'ultimo caso bisogna definire quali ( storici, correnti, BI ecc.) e quanti dati possano essere conservati localmente sul dispositivo dell'utente e soprattutto le necessarie policy per la loro sicurezza, protezione, aggiornamento e sincronizzazione.
Le soluzioni dei vendor principali come Oracle, SAP, IBM ecc. variano per tipologia di applicazioni e ambiti di applicazione ma si assomigliano per approccio e percezione delle problematiche esistenti.
Dal framework di Oracle
Molte di queste soluzioni prevedono un livello di software o framework comune utile a costruire una infratsruttura software comune e ocndiviss tra le varie tipologie di applicazioni e servizi aziendali. Il framework mira a facilitare la vita allo sviluppatore nella creazione dei moduli di base delle applicazioni in termini di connettività, accesso ai dati, protocolli di sicurezza e interfaccia utente. Molti moduli disponibili o costruibili a questo livello fanno uso di API o oggetti pre-confezionati e messi a disposizione dal vendor. Funzione e finalità del framework è di fornire allo sviluppatore strumenti utili ad un approccio consitente alla programmazione per tipologie diverse di dispositivi, di piattaforma di sistema operativo e di tipologia di applicazione, web-based o nativa. Spesso il framework è costruito intorno a runtime Java (JEE) e si basa su un linguaggio astratto e dichiarativo e metadati utile anche per la realizazzione dell'interfaccia utente o di componenti software specifici per tipologia di device.
SAP NetWeaver Mobile framework per lo sviluppo di applicazioni mobile
Alcuni framework come quello di Oracle mettono a disposizione componenti software utili ad ottimizzare lo sviluppo di applicazioni client con interfacce utente standard e utilizzabili su piattaforme e dispositivi eterogenei. Questi componenti permettono lo sviluppo di pagine/scjermate altamente interattive, utilizzabili sui desktop ma anche su smartphone di fascia alta e tablet che supportano CSS e Javascript, e di farlo in modo da ottimizzare alle dimensioni e alle caratteristiche tecniche del display le forme di rappresentazione dei contenuti (look & feel) sui diversi dispositivi. I componenti software client di Oracle offrono funzionalità e potenzialità di ottimizzazione sia per le applicazioni Web-based che per quelle native.
La proposizione dei vendor basata su framework mira a garantire che si possa sviluppare una volta sola ma utilizzare il softwaregenerato più volte su dispositivi diversi. Il risultato è ottenibile grazie al ricorso a lingaggi dichiaratici e a meta-dati.
L'integrazione avviene attraverso il ricorso ad API che permettono di chiamare servizi specifici per ogni dispositivo (GPS, fotocamera, scanner) ma anche ad estendere funzionalità e servizi dello stesso con l'aggiunta di nuovi moduli e nuove funzionalità. L'integrazione dei dati avviene sia online che offline, grazie a web services nel primo caso e a chiamate in locale alle banche dati e con servizi di sincronizzazione attivati successivamente quando il dispositivo è di nuovo connesso e online.
La maggior parte delle aziende adotta una strategia multiu-canale per l'accesso ai dati aziendali da parte degli utenti in mobilità. I canali solitamente supportati sono il browser su desktop e laptop, applicazioni client che operano offline su desktop e laptop, dispositivi mobili, e strumenti di produttività individuale. L'approccio da adottare nello sviluppare le soluzioni utilizzabili in ognuno dei canali attivi obbliga ad una scelta tra applicazioni native on-device e applicazioni mobile web-based.
Nello sviluppo di applicazioni Mobile una attenzione particolare è da dedicare alla sicurezza e agli strumenti utili a garantire non soltanto la protezione dei dati ma anche dell'infrastruttura IT e delle applicazioni. Molti framework dei vendor offrono una migliore garanzia di sicurezza perchè in grado di fornire una integrazione forte tra le infratsrutture di sicurezza implementate nelle applicazioni in uso e quelle mobili. L'infrastruttura per la sicurezza costruita negli anni serve a garantire servizi omogenei su tutte le tipologie di dispositivi e in grado di comunicare e integrarsi con strumenti di MDM come il BlackBerry Enterprise Server di RIM.
Per molti responsabili IT la scelta di un unico framework non necessariamente è la scelta ideale, ma la consuetudine a lavorare con un fornitore di fiducia e la sua capacità nel comprendere le nuove esigenze del cliente e fornire strumenti adeguati ai nuovi scenari Mobile può determinarne la scelta da parte dell'azienda a supporto di una sua strategia di Mobilità aziendale.