Gestione dei dati nelle applicazioni mobili multipiattaforma

Altova MobileTogether consente alle aziende di qualsiasi dimensione di progettare e implementare soluzioni mobile personalizzate che funzionano su tutte le piattaforme mobile. Questo articolo è la seconda parte di una discussione sulla finestra di dialogo "Azioni" di MobileTogether, che permette agli sviluppatori di creare rapidamente gestori di eventi, flussi di controllo e operazioni sofisticati che funzionano in modo uniforme su dispositivi iOS®, Android™ e Windows, nonché su un client basato su browser HTML5, senza doversi preoccupare dei dettagli specifici delle API o dei SDK per ciascun sistema operativo mobile.

Se avete perso la prima parte, leggete Gestione degli eventi e flusso di controllo: definizioni per mettervi in pari.

Questo articolo descrive alcune delle funzionalità di MobileTogether che consentono di manipolare i dati e che sono flessibili, potenti e accelerano lo sviluppo di applicazioni aziendali mobile basate sui dati, per fornire informazioni aggiornate agli utenti, anche quando sono in movimento.

La schermata qui sotto mostra la pagina di presentazione di un'applicazione mobile per la gestione dell'inventario, con una breve descrizione e un'opzione per visualizzare una descrizione più dettagliata quando l'utente clicca sul pulsante "altro".

La definizione dell'azione associata al pulsante è mostrata di seguito nella finestra di dialogo "Azioni" del software MobileTogether Designer. Quando l'utente clicca sul pulsante, un'azione di tipo "Aggiorna nodo/i" inserisce il valore fisso "true" nel nodo "ShowMore".

La casella di testo contenente la definizione estesa ha una proprietà di visibilità che utilizza un'espressione per determinare se deve essere visualizzata.

Non appena il valore di "ShowMore" cambia in "true", la descrizione estesa viene visualizzata automaticamente sul dispositivo mobile

Il pulsante "Mostra altro" è stato nascosto perché la sua proprietà di visibilità contiene un'espressione che verifica se il valore di "ShowMore" è uguale a "false".

Questa semplice definizione di azione crea un pulsante che funziona su tutti i dispositivi mobili, o anche in una finestra del browser su una postazione di lavoro desktop. Ma "Aggiorna nodo/i" può fare molto di più! Nel nostro esempio, sia il nodo di destinazione che il contenuto erano valori fissi. In alternativa, sia il nodo di destinazione, il risultato – o entrambi – possono essere definiti come espressioni XPath che contengono riferimenti ad altri elementi di dati, operatori XPath, funzioni XQuery, funzioni speciali di MobileTogether e persino funzioni definite dall'utente.

Gli sviluppatori possono semplicemente cliccare su uno dei pulsanti XPath per aprire la finestra di dialogo "Modifica espressione XPath", che consente di creare e modificare espressioni, offrendo accesso all'albero delle fonti di dati XML, una libreria di operatori e funzioni XPath/XQuery 3.1, e funzionalità di supporto per la creazione di espressioni XPath/XQuery 3.1 valide.

In un esempio semplice di applicazione di un'espressione, l'app Inventory Manager registra la data di esecuzione per verificare se è necessario inizializzare la tabella per un nuovo mese la prossima volta che viene avviata. Questa azione "Aggiorna nodo/i" utilizza una funzione di data XQuery:

Notate che non è necessario effettuare chiamate API specifiche per ogni piattaforma. Un'unica espressione in MobileTogether supporta tutte le piattaforme mobile.

Inserisci nodo/i e Aggiungi nodo/i sono azioni che creano uno o più nuovi nodi, come specificato in un'espressione XPath. La differenza tra queste due azioni è che "Inserisci nodo/i" aggiunge il/i nodo/i in un punto specifico dell'albero dati, mentre "Aggiungi nodo/i" aggiunge il/i nodo/i come nodi figli del/i nodo/i selezionato/i.

Le funzioni "Inserisci nodo/i" e "Aggiungi nodo/i" possono estendere dinamicamente un modello di integrazione dei dati per gestire set di dati di dimensioni sconosciute. Ad esempio, il cuore dell'applicazione "Gestore dell'inventario" è una tabella che descrive lo stato dei componenti necessari per la produzione di vari prodotti. Nella realtà, le specifiche dei prodotti cambiano frequentemente, poiché i responsabili di prodotto aggiungono o eliminano varianti di prodotto o modificano i fornitori. Sarebbe estremamente inefficiente creare una soluzione mobile codificata per un numero specifico di componenti. Invece, uno sviluppatore può semplicemente definire il contenuto di una singola riga che descrive un singolo componente, e fornire valori predefiniti per ogni elemento:

Quando la tabella viene inizializzata, l'azione "Aggiungi a nodo" può essere configurata all'interno di un azione ciclica per aggiungere un numero qualsiasi di righe. Nella soluzione Inventory Manager, la variabile PartNumbersCount memorizza il numero di componenti unici, che può essere letto da una query del database o da un file esterno contenente un elenco principale dei componenti. Lo sviluppatore non deve nemmeno conoscere il numero esatto.

Nella definizione precedente, il nuovo nodo è definito come un'espressione XPath che identifica una riga del modello dati. La funzione "Aggiungi nodo" aggiunge il nodo specificato, tutti i suoi elementi figli, e tutti gli elementi, gli attributi e i contenuti di questi ultimi. Il nuovo nodo può essere aggiunto come primo o come ultimo elemento figlio.

Eseguire un'applicazione in fase di sviluppo nel simulatore integrato di MobileTogether consente agli sviluppatori di esaminare i dati mentre l'applicazione è in esecuzione. Una volta che il ciclo definito in precedenza ha completato tutte le iterazioni, possiamo vedere che il valore di "PartNumbersCount" è 167 e che il ciclo ha aggiunto esattamente 166 righe aggiuntive, ciascuna riempita esattamente come definito originariamente.

Le funzioni "Inserisci nodo/i" e "Aggiungi nodo/i" possono anche creare nuovi nodi che vengono inseriti direttamente come costruttori XML, ad esempio: Element Content, oppure possono essere creati tramite costruttori di nodi calcolati tramite XQuery, come ad esempio: elemento MyElement-01 {xs:string("Contenuto dell'elemento")} attributo myatt{"valore"}

Ricarica è un'altra potente funzione per lavorare con i dati. L'azione di ricarica può essere applicata a qualsiasi risorsa esterna inclusa nel progetto, comprese le query del database, i file di dati esterni, i grafici e le immagini. La funzione "Ricarica" include un comodo elenco a tendina di tutte le risorse esterne già configurate. Nell'applicazione "Inventory Manager", $ProductSalesMTD è una query SQL del database degli ordini aziendali che recupera il numero di vendite di ciascun prodotto fino ad oggi nel mese corrente. I prodotti vengono confrontati con le distinte base per calcolare le statistiche di domanda per ogni singolo componente.

È facile caricare più di una fonte di dati trascinando diverse azioni di caricamento nell'area di modifica. Di seguito è mostrata una parte della definizione delle azioni eseguite da un altro pulsante nel gestore dell'inventario. Una volta che tutte le fonti di dati sono state aggiornate, l'ultima fase esegue il caricamento per ridisegnare il grafico delle prestazioni in base ai valori più recenti.

Questa schermata, tratta da un piccolo tablet Android, mostra la tabella principale e il grafico relativi a una versione del software di gestione delle scorte, configurata per gestire sotto-assemblaggi invece di centinaia di singoli componenti. Se i livelli di qualsiasi componente scendono al di sotto del valore target, l'utente può inserire le quantità nella colonna a destra e, quindi, cliccare sul pulsante "Invia ordine" per autorizzare gli ordini ai fornitori.

Un iPhone in modalità orizzontale mostra un'interfaccia simile, in cui l'utente visualizza tutti i dati scorrendo la pagina.

Una serie di brevi dimostrazioni video l'articolo pubblicato sul sito web di Altova dimostra quanto sia facile iniziare a creare un'applicazione aziendale per dispositivi mobili utilizzando il software MobileTogether Designer. In alternativa, potete consultare la versione web di Guida online per MobileTogether Designer Per informazioni più dettagliate.

Per saperne di più e scaricare gratuitamente MobileTogether Designer per creare la vostra prima soluzione mobile aziendale per iOS®, Android™, Windows® Phone 8 e Windows 8, nonché un client basato su browser HTML5, visitate: www.altova.com/mobiletogether