Oracle MAF (Mobile Application Framework) e' la soluzione di Oracle per la realizzazione di APPs Mobile cross-platform. La stessa APP, con lo stesso codice, puo' essere pubblicata sia su devices Android che su devices iOS.
Nel seguito sono riportate alcune informazioni di interesse organizzate in paragrafi specifici: Introduzione, MAF, un esempio, ...
Il contenuto di questa pagina e' tecnico.
E' opportuna una approfondita conoscenza dell'HTML5,
Java,
Oracle,
JDBC,
Android,
iOS,
SOAP,
...
ma anche di
Eclipse,
JDeveloper,
MVC,
Rest,
Cordova,
...
Se non li conoscete tutti perfettamente... potete continuare a leggere lo stesso!
Oracle sta investendo molto nel Mobile cloud, creando una infrastruttura molto articolata per la realizzazione di API, servizi (es. login tramite social/push notifications/...), che possono essere usati dalle proprie APPs senza partire da zero.
Oracle Mobile Cloud e' una buona soluzione per lo sviluppo di nuove applicazioni. Nel caso di applicazioni legacy per utenti che hanno i propri servers (es. applicativo fatto anni fa che si appoggia su un database Oracle) che si vogliono esporre a Mobile APP, la strada consigliata da Oracle e' Service Bus, che permette di realizzare un set di API che espongono WS (Web Services) SOAP/REST tramite l'utilizzo di adapters.
I prodotti che compongono la famiglia di API Management sono:
E' un framework che puo' essere usato sia da Eclipse che (meglio) da JDeveloper. Permette di realizzare con estrema velocita' e poca scrittura di codice una APP anche complessa. Una delle caratteristiche piu' interessanti e' il Data Control, che permette di astrarre il data layer: gli si puo' dare in pasto una classe Java, una connessione ad un Web Service Soap, una connessione ad un Web Service Rest, una connessione a DB Sqlite locale o altra struttura e, indipendentemente da questi, si puo' visualizzare l'output in controlli differenti (listView, forms, textview, ecc..), il tutto attraverso una semplice interfaccia drag-and-drop che genera un xml.
Tutte le nuove mobile APPs sviluppate da Oracle per i propri prodotti (mobile clients Siebel, JDEdwards, altri) sono fatte con questo strumento che quindi e' opportuno conoscere. Uscira' prossimamente il MAX (Mobile App Accelerator) che permettera' di creare una app via GUI Web che poi generera' il progetto MAF da scaricare e modificare; puo' essere utile per dei Mockup.
Non mancano alcuni aspetti critici...
L'app deployata (anche solo un Hello World) e' molto pesante, poiche' ogni singola
app contiene un VM Java.
Si rischia di realizzare APP senza la necessita' di scrivere codice.
L'output e' una APP in HTML5/Javascript che
non sempre ha un layout coerente con la piattaforma come avviene ovviamente,
realizzando APPs native.
Ma anche gli elementi positivi...
Velocita' di realizzazione per applicazioni anche articolate (WS/uso DB locale, online/offline).
Si possono realizzare APPs senza la necessita' di scrivere codice [NdE ma davvero e' un difetto?].
Oracle punta molto su questo oggetto che sara' molto integrato nella famiglia Cloud.
Usa Cordova per la generazione della WebApp nascondendo le complessita' di Cordova.
Dal punto di vista architetturale un'applicazione MAF e' costituita da una JVM che implementa la logica dell'applicazione e l'accesso ai dati. La visualizzazione e' invece realizzata con una webview HTML5.
Oltre l'accesso a dati e servizi esterni e' disponibile un database SQLite locale crittografato. E' infine possibile interfacciarsi facilmente che le tipiche funzionalita' di uno smartphone quali SMS, GPS, camera, ...
Lo sviluppo di effettua con un IDE. E' possibile utilizzare Eclipse oppure JDeveloper. Quest'ultimo e' fornito da Oracle ed e' molto conosciuto a chi utilizza l'RDMS Oracle. La programmazione e' principalmente dichiarativa e richiede un uso limitato di costutti di programmazione. E' disponibile una libreria di un'ottantina di componenti gia' realizzati, facilmente integrabili nell'applicazione.
Ovviamente tutti i dettagli si trovano nella documentazione ufficiale.
Titolo: Oracle MAF - Mobile Application Framework
Livello: Avanzato
Data:
15 Maggio 2015
Versione: 1.0.0 - 15 Maggio 2015
Autori: Christian Di Sclafani [AT] xenialab, mail [AT] meo.bogliolo.name