Die Verarbeitung von Daten in plattformübergreifenden mobilen Anwendungen

Altova MobileTogether ermöglicht Unternehmen jeder Größe, individuelle mobile Lösungen zu entwickeln und bereitzustellen, die auf allen mobilen Plattformen laufen. Dieser Beitrag ist Teil 2 einer Diskussion über den "MobileTogether Actions"-Dialog, der es Entwicklern ermöglicht, schnell komplexe Ereignisverarbeitung, Steuerungsabläufe und Funktionen zu erstellen, die auf iOS®, Android™ und Windows-Geräten sowie in einem HTML5-Browser-basierten Client einwandfrei funktionieren, ohne sich Gedanken über die spezifischen Details der API oder des SDK für jedes mobile Betriebssystem machen zu müssen.

Wenn Sie Teil 1 verpasst haben, lesen Sie Ereignisbehandlung und Ablaufsteuerung definieren, um sich zu informieren.

Dieser Artikel beschreibt einige der MobileTogether-Funktionen, die Daten verarbeiten und dabei flexibel und leistungsstark sind. Sie beschleunigen die Entwicklung von mobilen Unternehmensanwendungen, die datengesteuert sind und aktuelle Informationen für vielbeschäftigte Nutzer unterwegs bereitstellen.

Der Screenshot unten zeigt die Startseite einer mobilen Anwendung zur Lagerverwaltung. Sie enthält eine kurze Beschreibung und eine Option, eine ausführlichere Beschreibung anzuzeigen, wenn der Benutzer auf die Schaltfläche "Mehr" klickt.

Die Aktionsdefinition für den Button wird im Dialogfenster "Aktionen" des MobileTogether Designers unten angezeigt. Wenn der Benutzer auf den Button klickt, fügt die Aktion "Knoten aktualisieren" den festen Wert "true" in den Knoten "ShowMore" ein.

Das Textfeld mit der langen Definition verfügt über eine Sichtbarkeitseigenschaft, die mithilfe einer Formel bestimmt, ob es angezeigt werden soll.

Sobald der Wert von "ShowMore" auf "true" geändert wird, wird die erweiterte Beschreibung automatisch auf dem mobilen Gerät angezeigt

Der "Mehr"-Button wurde gleichzeitig ausgeblendet, da seine Sichtbarkeitseigenschaft einen Ausdruck enthält, der prüft, ob "ShowMore" den Wert 'false' hat.

Diese einfache Aktionsdefinition erzeugt einen Button, der auf allen mobilen Geräten funktioniert, oder sogar in einem Browserfenster auf einem Desktop-Arbeitsplatz. Aber "Update Node(s)" kann noch viel mehr! In unserem Beispiel waren sowohl der Zielknoten als auch die Nutzdaten feste Werte. Alternativ können auch das Ziel, das Ergebnis – oder beides – als XPath-Ausdrücke definiert werden, die Verweise auf andere Datenelemente, XPath-Operatoren, XQuery-Funktionen, spezielle MobileTogether-Funktionen und sogar benutzerdefinierte Funktionen enthalten.

Entwickler können einfach auf einen der XPath-Buttons klicken, um den Dialog "XPath-Ausdruck bearbeiten" zu öffnen. Dieser ermöglicht das Erstellen und Bearbeiten von Ausdrücken mit Zugriff auf die Struktur der XML-Datenquellen, einer Bibliothek von XPath/XQuery 3.1-Operatoren und -Funktionen sowie Hilfefunktionen, die beim Erstellen gültiger XPath/XQuery 3.1-Ausdrücke unterstützen.

Ein einfaches Beispiel für die Anwendung eines Ausdrucks: Die App "Lagerverwaltung" speichert das Datum der letzten Ausführung, um beim nächsten Start zu prüfen, ob die Tabelle für einen neuen Monat initialisiert werden soll. Diese Aktion "Aktualisierung der Knoten" verwendet eine XQuery-Datumsfunktion:

Beachten Sie, dass keine plattformspezifischen API-Aufrufe erforderlich sind. Ein einzelner Ausdruck in MobileTogether unterstützt alle mobilen Plattformen.

Knoten einfügen und Knoten anhängen sind Aktionen, die beide einen oder mehrere neue Knoten erstellen, wie in einem XPath-Ausdruck angegeben. Der Unterschied zwischen diesen beiden Aktionen besteht darin, dass "Knoten einfügen" den/die Knoten an einem bestimmten Punkt in der Datenstruktur einfügt, während "Knoten anhängen" den/die Knoten als untergeordnete Knoten des/der ausgewählten Knoten einfügt.

Die Funktionen "Knoten einfügen" und "Knoten anhängen" ermöglichen es, ein Datenintegrationsmodell dynamisch zu erweitern, um Datensätze unbekannter Größe zu verarbeiten. Beispielsweise bildet der Kern der App "Inventory Manager" eine Tabelle, die den Status der für die Herstellung verschiedener Produkte benötigten Teile beschreibt. In der Realität ändern sich Stücklisten häufig, da Produktmanager Produktvarianten hinzufügen oder entfernen oder Lieferanten wechseln. Es wäre äußerst ineffizient, eine mobile Lösung für eine bestimmte Anzahl von Teilen fest zu programmieren. Stattdessen kann ein Entwickler einfach den Inhalt einer einzelnen Zeile definieren, die ein einzelnes Teil beschreibt, und Standardwerte für jedes Element bereitstellen:

Wenn die Tabelle initialisiert wird, kann die Aktion "An Knoten anhängen" innerhalb einer Schleifenaktion konfiguriert werden, um eine beliebige Anzahl von Zeilen hinzuzufügen. In der Lösung "Inventory Manager" speichert die Variable "PartNumbersCount" die Anzahl der eindeutigen Teile, die aus einer Datenbankabfrage oder einer externen Master-Teileliste gelesen werden können. Der Entwickler muss die genaue Anzahl dabei nicht einmal kennen.

In der obigen Definition wird der neue Knoten als ein XPath-Ausdruck für eine Zeile aus dem Datenmodell definiert. Die Funktion "Knoten hinzufügen" fügt den referenzierten Knoten, alle seine untergeordneten Knoten sowie alle Elemente, Attribute und Inhalte dieser Knoten hinzu. Der neue Knoten kann entweder als erstes oder als letztes Element hinzugefügt werden.

Die Ausführung eines Arbeitsprozesses im integrierten Simulator von MobileTogether ermöglicht es Entwicklern, Daten während der Ausführung der App zu überprüfen. Nachdem die oben definierte Schleife alle Durchläufe abgeschlossen hat, können wir sehen, dass "PartNumbersCount" den Wert 167 hat und die Schleife genau 166 zusätzliche Zeilen hinzugefügt hat, wobei jede Zeile identisch mit der ursprünglichen Definition gefüllt wurde.

Die Funktionen "Knoten einfügen" und "Knoten anhängen" können auch neue Knoten erstellen, die direkt als XML-Konstruktoren eingegeben werden, wie z.B.: Element Content, oder sie können über XQuery-basierte Knotenkonstruktoren zusammengesetzt werden, wie z.B. element MyElement-01 {xs:string("Elementinhalt")} oder attribute myatt{"Wert"}

Neu laden ist eine weitere leistungsstarke Funktion zur Arbeit mit Daten. Die Funktion "Neu laden" kann auf jede externe Ressource angewendet werden, die in der Gestaltung enthalten ist, einschließlich Datenbankabfragen, externe Datendateien, Diagramme und Bilder. "Neu laden" bietet eine praktische Dropdown-Liste aller bereits konfigurierten externen Ressourcen. In der Anwendung "Inventory Manager" ist "$ProductSalesMTD" eine SQL-Abfrage der Unternehmensbestellungsdatenbank, die die Anzahl der Verkäufe jedes einzelnen Produkts bis zum aktuellen Zeitpunkt im laufenden Monat abruft. Die Produkte werden mit Stücklisten abgeglichen, um Bedarfstatistiken für jedes einzelne Teil zu berechnen.

Es ist einfach, mehrere Datenquellen gleichzeitig neu zu laden, indem man mehrere Aktionen zum Neuladen per Drag-and-Drop in den Bearbeitungsbereich zieht. Im Folgenden ist eine teilweise erweiterte Darstellung der Aktionen dargestellt, die von einem anderen Button im Bestandsmanager ausgeführt werden. Nachdem alle Datenquellen aktualisiert wurden, führt der letzte Schritt den Vorgang zum Neuladen aus, um das Leistungsdiagramm anhand der neuesten Werte neu zu zeichnen.

Dieser Screenshot von einem kleinen Android-Tablet zeigt die Hauptdatenübersicht und das Diagramm einer Version des Lagerverwaltungsprogramms, das für Baugruppen anstelle von Hunderten einzelner Teile konfiguriert ist. Wenn die Lagerbestände eines Bauteils unter den Zielwert fallen, kann der Benutzer die Mengen in der Spalte auf der rechten Seite eingeben und dann auf die Schaltfläche "Bestellung aufgeben" klicken, um Bestellungen an Lieferanten zu autorisieren.

Ein iPhone im Querformat zeigt eine ähnliche Ansicht, bei der der Benutzer alle Daten anzeigen kann, indem er die Seite nach oben oder unten scrollt.

Eine Reihe von kurzen.. Video-Demonstrationen auf der Altova-Website veröffentlicht, zeigt, wie einfach es ist, mit dem MobileTogether Designer mit der Entwicklung einer mobilen Unternehmensanwendung zu beginnen. Alternativ können Sie sich die Webversion von... ansehen MobileTogether Designer – Online-Hilfe für detailliertere Informationen.

Um mehr zu erfahren und den kostenlosen MobileTogether Designer herunterzuladen, mit dem Sie Ihre erste Unternehmenslösung für mobile Geräte für iOS®, Android™, Windows® Phone 8 und Windows 8 sowie eine clientseitige Anwendung für HTML5-Browser erstellen können, besuchen Sie: www.altova.com/mobiletogether