4D v16Die Wakanda Applikation konfigurieren |
||||||||||||||||||||||||||||||||
|
4D v16
Die Wakanda Applikation konfigurieren
Die Wakanda Applikation konfigurieren
Auf der Wakanda Enterprise Seite können Sie eine Verbindung mit einer 4D Anwendung herstellen:
Sie können auch zusätzlichen JavaScript Code ausführen. Sie könnten z.B. Eigenschaften der remote Attribute lokal verändern, Klassen erweitern oder berechnete Attribute hinzufügen. In Wakanda Enterprise Studio öffnet der Befehl Connect to Remote Datastore... (im Menü File und im Kontextmenü des Projekts) einen Link zu einem remote Datastore. Das kann eine 4D Datenbank oder eine andere Wakanda Applikation sein. In beiden Fällen muss der HTTP Server des remote Datastore gestartet werden, damit Wakanda Enterprise Studio auf das remote Model zugreifen kann. Wählen Sie den Befehl Connect to Remote Datastore..., erscheint das Verbindungsfenster: Es enthält folgende Verbindungsparameter:
Ist eine Verbindung zwischen Wakanda und 4D Server über den Befehl "Connect to a Remote Datastore" hergestellt, erstellt Wakanda Enterprise Studio automatisch zwei Dateien (Icons mit rotem Pfeil) im Ordner des Projekts:
Hinweis: Sie können die Endung der Datei in einem Hilfetipp sehen. Er erscheint, wenn die Datei im Explorer von Wakanda Studio ausgewählt ist. Mit Wakanda Enterprise Server können Sie ein Link zu einer 4D Anwendung durch Ausführen einer JavaScript Methode einrichten. Die Verbindungsmethode muss in der Regel in dem Code liegen, der läuft, wenn die Application (bootstrap.js) oder das Model (model.js) geöffnet is, damit der Link für jede Session verfügbar ist. Es gibt drei Methoden zum Einrichten eines 4D Mobile Link:
Der Hauptunterschied zwischen diesen Methoden ist die Art, wie Objekte aus dem remote Datastore in die Wakanda Applikation integriert werden: model.mergeOutsideCatalog() verbindet den remote Catalog mit dem aktiven Model, während addRemoteStore() und openRemoteStore() eigenständige Models generieren. Weitere Informationen dazu finden Sie im unteren Abschnitt Integration in aktives model oder eigenes model. Die JavaScript Methode mergeOutsideCatalog() bestimmt einen Catalog mit remote Daten und verbindet ihn mit Ihrem aktuellen Wakanda Modell. Sie müssen diese Methode in der .js Datei aufrufen, die dem aktuellen Modell zugewiesen ist und von Wakanda Server ausgeführt wird. Es gibt zwei Syntaxarten:
Die objektbezogene Syntax hat den Vorteil, dass Sie eine Datei .js hinzufügen können, die nach der Verbindung mit der 4D Anwendung ausgeführt wird. Diese Datei kann den Catalog, auf den die remote Anwendung zugreift, auf lokaler Ebene verändern.
Weitere Informationen dazu finden Sie unter der Methode mergeOutsideCatalog() im Wakanda Handbuch Server-Side API. Das Objekt model gibt das aktuelle "Modell" der Wakanda Applikation an, d.h. die Collection der "Datastore Klassen" (Tabellen) und Methoden. In einer 4D Mobile Architektur kann das Wakanda Modell leer sein. Enthält die Wakanda Applikation bereits Objekte, werden die Klassen und Methoden aus der remote 4D Anwendung mit dem lokalen Modell zusammengelegt, wenn Sie die Methode mergeOutsideCatalog() verwenden. Ist die Verbindung erfolgreich hergestellt, erscheinen die freigegebenen 4D Tabellen in der Liste der Klassen für das Modell auf der Wakanda Seite. In Wakanda Enterprise Studio sehen Sie die remote Tabellen in der Liste der Klassen im lokalen model. Der externe Catalog wird auch in Wakanda Studio angezeigt, über einen spezifischen Catalog mit Namen localName.waRemoteCatalog. Er wird auch mit einem roten Pfeil gekennzeichnet: Hinweis: Dateierweiterungen lassen sich in Wakanda Studio ausblenden. Doppelklicken Sie auf diese Datei, sehen Sie den externen Catalog im model-Editor des Wakanda Studio:
Die Methoden openRemoteStore() und addRemoteStore() sind Alternativen zum Einrichten dynamischer Verbindungen zwischen einer Wakanda Applikation und einer 4D Anwendung. Sie bieten wie mergeOutsideCatalog() dynamischen Zugriff auf die Daten von 4D Anwendungen, arbeiten aber in anderer Weise:
openRemoteStore() gibt eine gültige Referenz nur im aktuellen JavaScript Kontext zurück, während addRemoteStore() die Referenz während der Session beibehält. Weitere Informationen dazu finden Sie in der Beschreibung zu den Methoden openRemoteStore() und addRemoteStore() in der Wakanda Dokumentation. Sie können die Verbindung mit dem remote 4D datastore auf zwei Wegen herstellen (über den Befehl "Connect to Remote Datastore" von Wakanda Studio oder durch Ausführen einer JavaScript Methode). Dabei müssen Sie jedem Fall angeben, ob die remote Klassen (Tabellen) mit dem aktiven model verknüpft oder in ein eigenes model gelegt werden sollen. Folgende Tabelle zeigt die Übersicht:
Verknüpfen Sie remote 4D Tabellen mit dem aktiven model, werden sie als lokale Klassen in das Standardmodell der Applikation (datastore ist das ds Objekt) gesetzt. Der Zugriff ist wie folgt:
Diese Funktionsweise vereinfacht die Entwicklung von 4D Mobile Applikationen, können aber zu Namenskonflikten zwischen Tabellen führen, insbesondere, wenn die Web Applikation mehrere Datastores aufruft. In diesem Fall ist es u.U. besser, die remote Elemente in ein eigenes model zu legen. Remote 4D Tabellen, die nicht mit dem aktiven Model verknüpft sind, verwenden ein "dediziertes" model. Dann verwenden remote Klassen einen Namensbereich, der exakt zu der Datastore passt, mit der die Anwendung verbunden ist und sind nicht im ds Objekt zugänglich. So lassen sich mehrere Tabellen mit demselben Namen in unterschiedlichen Datastores verwenden:
Diese Vorgehensweise hat jedoch in der aktuellen Version von Wakanda Enterprise gewisse Einschränkungen:
Im allgemeinen wird empfohlen, für remote Datastores den Verknüpfungsmodus (merged mode) zu verwenden, wenn Ihre Client Applikationen direkt auf die Daten der 4D remote Tabellen zugreifen müssen. Mit Wakanda Enterprise können Sie bestimmte Merkmale in der lokalen Version des externen Modells verändern. Das können Anpassungen, Optimierung oder Sicherheitsaspekte sein. Dazu müssen Sie in eine .js Datei passenden JavaScript Code setzen. Diese Datei muss denselben lokalen Namen wie der Catalog plus die Endung .js haben und im gleichen Ordner wie das Modell liegen. Beispiel: Ist der Name des lokalen Catalog Emp4D.waRemoteModel, müssen Sie im Ordner des Modells eine Datei mit Namen Emp4D.js verwenden. Hinweise:
Wakanda führt diese Datei aus, wenn der externe Catalog initialisiert ist. Sie können mit dieser Datei folgendes ausführen:
Weitere Informationen über JavaScript Code zum Arbeiten mit Modellen finden Sie im Kapitel Model API des Wakanda Handbuchs Server Side API. Sie können für Wakanda Server spezifische Rechte setzen: Überall für das remote Model bzw. für jede Klasse individuell. Weitere Information dazu finden Sie im Abschnitt Assigning Group Permissions der Wakanda Dokumentation.
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
4D Mobile ( 4D v16) |
||||||||||||||||||||||||||||||