Oracle MAF - Mobile Application Framework

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!

Introduzione

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:

Oracle MAF - Mobile Application Framework

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.

Architettura

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. Architettura Oracle MAF

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, ...

Un esempio

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. JDeveloper Oracle MAF 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.

Varie ed eventuali

Ovviamente tutti i dettagli si trovano nella documentazione ufficiale.


Titolo: Oracle MAF - Mobile Application Framework
Livello: Avanzato (3/5)
Data: 15 Maggio 2015
Versione: 1.0.0 - 15 Maggio 2015
Autori: Christian Di Sclafani [AT] xenialab, mail [AT] meo.bogliolo.name