Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und relevantere Anzeigen zu schalten. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

751 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

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

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

×