JTL-Connector:
Anbindung weiterer
Shopsysteme
Ein Workshop mit Daniel Böhmer & Christian Spoo
Ablauf des Workshops
• Einführung in JTL-Connector
• Technologische Grundlagen
• Protokoll und Ablauf des Abgleichs
• Arch...
Einführung in JTL-Connector
• Modulare, erweiterbare und offene Schnittstelle
• JTL-Wawi hat batteries included
• JTL stel...
Technologische Grundlagen
• Basiert auf objektorientierem
PHP nach 5.4-Sprachstandard
• Composer zur Verwaltung von
Abhäng...
Architektur
• Der PHP-basierte Connector ist
zweigeteilt
• Basisbibliothek jtlconnector
• shopspezifischer Endpoint
• JTL-...
JTL-RPC-Protokoll
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
• Basiert auf JSON-RPC
2.0
• Arbeitet mit JSON
• Objek...
Der Connector-Einsprungpunkt
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
• Composer-Autoloader
• Konstante CONNECTOR...
Die Controller-Klasse
• Initialisierung des Endpoints
mit benötigten Services
• Implementierung von
„canHandle“ und „handl...
Plugins für JTL-Connector
• Ereignisgesteuerter Aufruf
durch Connector-Core
• Automatischer Plugin-Loader
und Verwendung v...
Example-Connector
• Zweck: Veranschaulichung der
Arbeitsweise von JTL-Connector und dem
Ablauf
• Daten werden in einer SQL...
Debugging – serverseitig
• JTL-Connector schreibt eigene
Logdateien
• gesamte RPC-Kommunikation
• Session-Handling
• endpo...
Debugging – clientseitig
• Connector-Tester
• zeigt direkte RPC-Ausgabe (JSON,
Baumstruktur, Response-Zeit)
• alle verfügb...
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Fragen?
Dokumentation: http://docs.jtl-connector.de
Sourcecode: http://g...
Nächste SlideShare
Wird geladen in …5
×

JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen

573 Aufrufe

Veröffentlicht am

Daniel Böhmer & Christian Spoo, JTL-Software-GmbH, 20. Oktober 2015

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
573
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
16
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

JTL-Connector | Entwicklung neuer Schnittstellen und Anbindung weiterer Plattformen

  1. 1. JTL-Connector: Anbindung weiterer Shopsysteme Ein Workshop mit Daniel Böhmer & Christian Spoo
  2. 2. 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. JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  3. 3. 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 JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  4. 4. 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 JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  5. 5. 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 JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  6. 6. JTL-RPC-Protokoll JTL-Software-GmbH, Daniel Böhmer & Christian Spoo • Basiert auf JSON-RPC 2.0 • Arbeitet mit JSON • Objektorientiertes Naming der Methoden: object.method • Wichtigste Methoden: • push • pull • delete • statistic Request: Response:
  7. 7. Der Connector-Einsprungpunkt JTL-Software-GmbH, Daniel Böhmer & Christian Spoo • Composer-Autoloader • Konstante CONNECTOR_DIR • Instanziierung des Endpoints • Instanziierung des Cores • Registrierung des Endpoints am Core • Core starten
  8. 8. 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
  9. 9. 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
  10. 10. 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 JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  11. 11. 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
  12. 12. 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
  13. 13. JTL-Software-GmbH, Daniel Böhmer & Christian Spoo Fragen? Dokumentation: http://docs.jtl-connector.de Sourcecode: http://gitlab.jtl-software.de

×