Was ist die Vorlage Frontline Connector?
Der Frontline Connector dient in erster Linie der Integration von Kundendaten in Arbeitsabläufe und ermöglicht eine einfache Kommunikation mit mobilen Geräten, auf denen Frontline Workplace läuft. Er dient als Bindeglied zwischen der Frontline Suite und der Kunden-IT. Um Backend-Integrationen mit Frontline zu erleichtern, wird eine Frontline Connector-Projektvorlage als Basis für die Entwicklung angeboten.
Die Frontline Connector-Vorlage ist ein Java + Spring Boot-Projekt, das Angular für den Frontend-Teil verwendet. Die Vorlage beinhaltet eine vollständige Implementierung der Frontline Command Center API und enthält Klassen für die Gerätekommunikation.
Für xPick, die Lagerlogistiklösung von Frontline, ist zusätzlich eine vollständige Implementierung der Vision Pick-Schnittstelle enthalten (eine Schnittstellenspezifikation, auf deren Grundlage der Kunde entwickeln kann). Schließlich enthält sie auch eine Schnittstelle für den Datei-Upload von Kommissionieraufträgen (CSV- oder Excel-Dateien) und Artikelbildern, was den eindeutigen Vorteil hat, dass keine kundenseitige Entwicklung erforderlich ist, was einen schnellen und einfachen Proof-of-Concept ermöglicht.
Voraussetzungen
Ersteinrichtung
Mit den folgenden Schritten kann der Benutzer die Frontline Connector-Vorlage von einer integrierten Entwicklungsumgebung (IDE) aus ausführen:
- Laden Sie im Bereich Downloads die neueste Verbindungsvorlage herunter.
- Importieren Sie sie in die IDE (getestet mit IntelliJ Idea). Schließen Sie beim Importieren von Bibliotheken die Bibliothek
swagger-codegen-cli
aus. - Sobald die IDE Maven erkannt hat:
- Führen Sie die Lebenszyklusphase der
Installation
aus. - Führen Sie die Lebenszyklusphase der
Kompilierung
durch.
- Erstellen Sie eine Laufkonfiguration mit der Klasse
IntegrationService
und konfigurieren Sie die folgende Umgebungsvariable: UBIMAX_HOME
=<Pfad zu einem HD-Ordner, in dem die Anwendung Protokolle, Konfigurationsdateien usw. speichert>.
- Führen Sie es im Debug-Modus aus. Beim ersten Ausführen der Vorlage schlägt der Start fehl, aber die Datei xservice.properties wird im Ordner "<UBIMAX_HOME>\config\configuration\" erstellt, die verwendet wird, um Frontline Connector konfigurierbar zu machen, ohne neu kompilieren zu müssen. Die folgenden Eigenschaften müssen angegeben werden:
- xserver.api.key: Greifen Sie auf das Frontline Command Center mit dem Benutzer "sysadmin" zu. Legen Sie einen Benutzer an und aktivieren Sie den Toggle "Technical User". Vergewissern Sie sich anschließend, dass Sie dem Benutzer alle Rollen zugewiesen haben. Nachdem Sie den Benutzer gespeichert haben, öffnen Sie seine Details erneut, indem Sie auf den Benutzer in der Benutzerliste doppelklicken. Die Details enthalten den API-Schlüssel.
- server.ssl.enabled und die anderen SSL-Eigenschaften können wie für das Frontline Command Center konfiguriert werden.
- service.port: Der Port, auf dem der Frontline Connector läuft.
- xserver.remote.adresse: Die vollständige URL (Hostname + Port, es sei denn, Sie verwenden den Standardport 443) des Frontline Command Center, mit dem Sie eine Verbindung herstellen möchten, z. B.
https://192.168.133.45:444.
- integration-service.url: Die vollständige URL des Frontline Connector, z. B.
https://192.168.133.45:445.
- integration-service.url.external: Die vollständige URL des Frontline Connectors, z. B.
https://192.168.133.45:445
. Diese Eigenschaft ist erforderlich, wenn das Frontline Command Center auf Port 443 ausgeführt wird. - fc.db.url: Zum Beispiel
,jdbc:mariadb://<DB Hostname/IP>/<Datenbankname>
- db.benutzername, db.passwort
- Wechseln Sie im Terminal zu
\webapp
und führen Sie npm install
und npm run build
aus
- Nach der Einstellung dieser Eigenschaften sollte die Ersteinrichtung abgeschlossen sein.
Ausführen der Vorlage nach der Ersteinrichtung
- Wählen Sie die Ausführungskonfiguration und führen Sie sie im Debug-Modus aus.
- (Optional) Wenn Sie am Frontend arbeiten, um die Änderungen zu übernehmen: wechseln Sie im Terminal zu "\webapp" und führen Sie erneut "npm run build" aus
Erste Schritte im Projekt
Das wichtigste Paket für die Entwicklung ist das Paket com.teamviewer.connector.service . Für die Kommunikation mit Geräten, auf denen Frontline Workplace läuft, werden die RequestHandler-Klassen verwendet, zum Beispiel für xInspect oder xMake die Klasse: service.inspection.implemention.DefaultInspectionRequestHandler
Für den Anwendungsfall der Kommissionierung gibt es zwei vollständig implementierte RequestHandler. Die Klasse service.picking.implementation.FileBasedPickOrderRequestHandler
enthält die gebrauchsfertige Implementierung der Kommissionierlogik bei Verwendung des CSV- oder Excel-Auftrags-Uploads, während die Klasse service.picking.implementation.RestBasedPickOrderRequestHandler
die Implementierung der Vision Pick-Schnittstelle enthält.
Welcher RequestHandler welche Nachricht von den Geräten erhält, wird von den ServiceController-Klassen gehandhabt, zum Beispiel: service.picking.PickOrderServiceController
Zum Senden von HTTP-Anfragen an das Backend des Kunden kann der TemplateHttpConnector verwendet werden.
Um einen guten Ausgangspunkt zu haben, können Sie einen Blick auf unser Hello Machine Beispiel werfen, das aus einem kleinen Workflow, einem modifizierten DefaultInspectionHandler und einem einfachen Node-Red Endpunkt besteht. In diesem Beispiel inspiziert der Frontline Worker eine Maschine im Feld. Er scannt einen Barcode von der Maschine mit einem Smart Glass. Der Barcode wird an den Frontline Connector weitergeleitet, der wiederum eine REST-Anfrage an den Node-Red Endpunkt sendet, die Maschinendiagnosedaten enthält. Diese Daten werden schließlich auf dem Smart Glass angezeigt.
Hinweis: Im Beispiel ist es egal, welcher QR-Code gescannt wird, die empfangenen Daten sind dieselben.