jtl-connector | entwicklung neuer schnittstellen und anbindung weiterer plattformen
TRANSCRIPT
![Page 1: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/1.jpg)
JTL-Connector:Anbindung weiterer
ShopsystemeEin Workshop mit Daniel Böhmer & Christian Spoo
![Page 2: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/2.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Ablauf des Workshops• Einführung in JTL-Connector• Technologische Grundlagen• Protokoll und Ablauf des Abgleichs• Architektur• API• Debugging
• Vorstellung des Example-Connectors• Fragerunde• Abschluss
Dauer: ca. 30 Min.
![Page 3: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/3.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Einführung in JTL-Connector• Modulare, erweiterbare und offene
Schnittstelle• JTL-Wawi hat batteries included• JTL stellt eine Reihe offizieller Anbindungen
bereit• Dokumentation der API ist online, aber noch
WIP
![Page 4: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/4.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Technologische Grundlagen• Basiert auf
objektorientierem PHP nach 5.4-Sprachstandard
• Composer zur Verwaltung von Abhängigkeiten
• JSON-RPC-Protokoll zur Wawi
• Event-System auf Basis des Symfony-EventDispatchers
![Page 5: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/5.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Architektur• Der PHP-basierte Connector ist
zweigeteilt• Basisbibliothek jtlconnector• shopspezifischer Endpoint
• JTL-Wawi spricht das JTL-RPC-Protokoll• Request-Paket in der Applikation
(Deserialisierung, Aufbereitung, Linking)
• Aufruf des Controllers im Endpoint• Endpoint-Resultat an Applikation• Result gelangt durch das Response-
Paket zur JTL-Wawi
![Page 6: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/6.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
JTL-RPC-Protokoll• Basiert auf JSON-RPC
2.0• Arbeitet mit JSON• Objektorientiertes
Naming der Methoden:
object.method
• Wichtigste Methoden:• push• pull• delete• statistic
Request: Response:
![Page 7: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/7.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Der Connector-Einsprungpunkt• Composer-Autoloader• Konstante CONNECTOR_DIR• Instanziierung des Endpoints• Instanziierung des Cores• Registrierung des Endpoints am
Core• Core starten
![Page 8: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/8.jpg)
Die Controller-Klasse• Initialisierung des
Endpoints mit benötigten Services
• Implementierung von „canHandle“ und „handle“
• Best practise sind Controller, die wie die RPC Methoden heißen• Z.b. Product, Category
![Page 9: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/9.jpg)
Plugins für JTL-Connector• Ereignisgesteuerter
Aufruf durch Connector-Core
• Automatischer Plugin-Loader und Verwendung von Dependency Injection (DI)
• Plugin ist losgelöst vom eigentlichen Endpoints
• Zugriff auf alle Daten, die JTL-Wawi übermittelt
![Page 10: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/10.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Example-Connector• Zweck: Veranschaulichung der
Arbeitsweise von JTL-Connector und dem Ablauf
• Daten werden in einer SQLite3-Datenbank gespeichert, die den „Shop“ simuliert
• unterstützt die komplette Funktionalität von JTL-Connector
![Page 11: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/11.jpg)
Debugging – serverseitig• JTL-Connector schreibt eigene
Logdateien• gesamte RPC-Kommunikation• Session-Handling• endpointspezifische Logs• weitere Kanäle können angelegt
werden• Loglevel konfigurierbar• Logdateien werden mit Datum
versehen und automatisch rotiert• Erweitertes Logging im Developer-
Modus
![Page 12: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/12.jpg)
Debugging – clientseitig• Connector-Tester
• zeigt direkte RPC-Ausgabe (JSON, Baumstruktur, Response-Zeit)
• alle verfügbaren RPC-Calls können abgesetzt werden
• nützlich, wenn der eigene Endpoint noch am Anfang steht, oder zur Fehlersuche
![Page 13: JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen](https://reader035.vdocuments.pub/reader035/viewer/2022062306/58ed72201a28abe95e8b4643/html5/thumbnails/13.jpg)
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Fragen?
Dokumentation: http://docs.jtl-connector.deSourcecode: http://gitlab.jtl-software.de