Dieser Abschnitt erläutert in einem Beispiel Schritt für Schritt die Funktionsweise von Wakanda / 4D Connector. Wir führen folgendes aus:
- Eine 4D Anwendung erstellen und konfigurieren
- Eine einzelne Seite der Wakanda Applikation anlegen
- Daten aus der 4D Anwendung in der Wakanda Seite anzeigen
Um das Beispiel einfach zu halten, verwenden wir die 4D Anwendung und die Wakanda Applikation auf demselben Rechner. Sie können natürlich auch mit einer remote Architektur arbeiten.
- Starten Sie Ihr Programm 4D oder 4D Server und legen eine neue Anwendung an.
Nennen Sie Ihre Anwendung z.B. "Ang4D". - Erstellen Sie im Struktureditor die Tabelle [Angestellte] und fügen Sie folgende Felder hinzu:
- Name (Text)
- Vorname (Text)
- Gehalt (Lange Ganzzahl)
Das Attribut "Mit 4D Mobile Service veröffentlichen" ist standardmäßig für die Tabelle und jedes Feld markiert; verändern Sie diese Einstellung nicht.
- Wählen Sie im Menü Datensätze > Aktuelle Tabelle anzeigen und lassen 4D die Standardformulare anlegen. Dann geben Sie ein paar Angestellte ein:
- Öffnen Sie in den Datenbank-Eigenschaften die Seite Web und klicken auf die Registerkarte 4D Mobile.
- Markieren Sie die Option "Aktiviere 4D Mobile Service" und klicken auf OK:
- Wählen Sie im Menü Start den Befehl Start Web Server:
Die 4D Anwendung steht jetzt zum Empfangen von 4D Mobile Anfragen von Wakanda bereit. Beachten Sie, dass wir in diesem einfachen Beispiel die Zugriffe über 4D Mobile nicht überprüfen. In der Praxis oder in einer offenen Architektur sollten Sie 4D Mobile Zugriffe (via REST) unbedingt absichern (siehe Abschnitt Sicherheit der 4D Mobile Applikation).
Wird die Tabelle hier nicht angezeigt, prüfen Sie, ob:
- Kein third-party Service bzw. Software, wie z.B. instant messenger, mit dem Publishing Port des 4D HTTP Server (standardmäßig 80) in Konflikt ist,
- Auf 4D Seite der 4D Web Server gestartet ist, 4D Mobile Services aktiviert sind und die Tabelle veröffentlicht ist,
- Die im Parameter "Hostname" übergebene Adresse gültig ist.
Zum Testen, ob der 4D Server derzeit auf REST Anfragen antwortet, können Sie in Ihrem Browser folgende URLs aufrufen:
<address>/rest/$catalog/$all
(gibt alle Tabellen zurück, die in 4D Mobile veröffentlicht sind)
<address>/rest/my_table/my_method
(gibt das Ergebnis der Methode zurück - falls sie ein Ergebnis liefert)
Wir erstellen eine sehr einfache Projektmethode in 4D und führen sie über unsere Web Seite aus. Die Methode verdoppelt alle Gehälter.
- In 4D erstellen Sie eine Projektmethode mit Namen DoppeltGehalt und schreiben folgenden Code:
FIRST RECORD([Angestellte])
While(Not(End selection([Angestellte])))
[Employees]salary:=[Angestellte]Gehalt*2
SAVE RECORD([Angestellte])
NEXT RECORD([Angestellte])
End while
- Markieren Sie die Methodeneigenschaft "Verfügbar per 4D Mobile Aufruf" und klicken auf die Schaltfläche OK:
In Wakanda gelten Methoden für Klassen in folgenden Kontexten: Entity (Datensatz), Entity Collection (Auswahl) oder Datastore Klasse (alle Datensätze). Das müssen Sie auf 4D Seite entsprechend definieren. - In Wakanda Enterprise Studio gehen Sie im GUI Designer zurück auf die Seite Index.waPage und fügen aus der Liste der Widgets einen Button hinzu:
- Doppelklicken Sie auf den Button und nennen ihn z.B. "DoppeltGehalt":
- Stellen Sie sicher, dass dieser Button ausgewählt ist und klicken dann im rechten Bereich des GUI Designer auf den Button Events.
- Klicken Sie auf das Icon neben dem Ereignis "On Click", um es hinzuzufügen:
Der Code-Editor erscheint. Hier geben Sie den Code ein, der bei Klick auf den Button ausgeführt wird. Wir rufen die Methode DoppeltGehalt von 4D auf und veranlassen dann in der Callback Function (onSuccess), dass alle Datensätze geladen werden. - Geben Sie folgenden Code ein:
sources.angestellte.DoppeltGehalt({
onSuccess:function(event){
sources.angestellte.allEntities();
}});
Ihr Code Editor sieht jetzt wie folgt aus:
Beachten Sie das kleingeschriebene "a" für "Angestellte"; wir verwenden die Datasource, die beim Zuweisen der Klasse zum Widget automatisch erstellt wurde. - Klicken Sie in der Toolbar des Editors auf das Icon .
Wir testen das Aufrufen der 4D Methode. Zuvor müssen Sie aber das Modell erneut in Wakanda Enterprise Server laden. - Klicken Sie in der Toolbar von Wakanda Enterprise Studio auf die Schaltfläche Reload Models .
- Aktualisieren Sie Ihre Browser Seite, so dass die Schaltfläche DoppeltGehalt erscheint und klicken dann auf diese Schaltfläche:
Sie können sehen, dass die Werte für Gehalt verdoppelt wurden:
Beachten Sie, dass dies nur ein einfaches Beispiel ist, um das Einrichten von Wakanda / 4D Mobile zu zeigen. Diese vereinfachten Methoden lassen sich in der Praxis so nicht verwenden.