Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
JTL-Connector:
Anpassung & Erweiterung
der Endpoints
Ein Workshop mit Daniel Böhmer & Christian Spoo
Ablauf des Workshops
• Einführung in Connector-Plugins
• Technologische Grundlagen
• Events
• Architektur
• Debugging
• Vo...
Einführung in Connector-Plugins
• Ereignisgesteuerter Aufruf
durch Connector-Core
• Automatischer Plugin-Loader
und Verwen...
Technologische Grundlagen
• Basiert auf objektorientierem
PHP nach 5.4-Sprachstandard
• Composer zur Verwaltung von
Abhäng...
Events
• Hauptentities (Product, Category etc.) haben jeweils 8 Events
• Wir unterscheiden Before- und After-Events, die z...
Architektur
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
Symfony EventDispatcher
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
• Bibliothek zum Handling von
Ereignissen
• Ein ...
Die Bootstrap-Klasse
JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
• Namespace gleicht dem Ordnerpfad
plugins/izzle/de...
Beispiel-Listener
• Listener-Methode
bekommt das
jeweilige Event
• Das Event
beinhaltet das Main-
Entity
• Objekte können ...
Debugging – serverseitig
• JTL-Connector schreibt eigene
Logdateien (via Monolog)
• gesamte RPC-Kommunikation
• Session-Ha...
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 | Anpassung & Erweiterung der Endpoints

294 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 | Anpassung & Erweiterung der Endpoints

  1. 1. JTL-Connector: Anpassung & Erweiterung der Endpoints Ein Workshop mit Daniel Böhmer & Christian Spoo
  2. 2. Ablauf des Workshops • Einführung in Connector-Plugins • Technologische Grundlagen • Events • Architektur • Debugging • Vorstellung eines Example-Plugins • Fragerunde • Abschluss Dauer: ca. 30 Min. JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  3. 3. Einführung in Connector-Plugins • Ereignisgesteuerter Aufruf durch Connector-Core • Automatischer Plugin-Loader und Verwendung von Dependency Injection (DI) • Plugin ist losgelöst vom eigentlichen Endpoint • Zugriff auf alle Daten, die JTL-Wawi übermittelt
  4. 4. Technologische Grundlagen • Basiert auf objektorientierem PHP nach 5.4-Sprachstandard • Composer zur Verwaltung von Abhängigkeiten • Event-System auf Basis des Symfony-EventDispatchers JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  5. 5. Events • Hauptentities (Product, Category etc.) haben jeweils 8 Events • Wir unterscheiden Before- und After-Events, die zu den 4 jeweiligen Controllermethoden gehören: • push, pull, delete und statistic • z.B. ProductAfterPushEvent • Das Eventobjekt bekommt das jeweilige Hauptentity als Referenz • Daten können also nicht nur gelesen, sondern z.B. vor dem Schreiben in die Shop- Datenbank auch verändert werden JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  6. 6. Architektur JTL-Software-GmbH, Daniel Böhmer & Christian Spoo
  7. 7. Symfony EventDispatcher JTL-Software-GmbH, Daniel Böhmer & Christian Spoo • Bibliothek zum Handling von Ereignissen • Ein Event hat n Listener
  8. 8. Die Bootstrap-Klasse JTL-Software-GmbH, Daniel Böhmer & Christian Spoo • Namespace gleicht dem Ordnerpfad plugins/izzle/demo/ izzledemo • Bootstrap-Klasse (izzledemoBootstrap) implementiert IPlugin und registriert n Listener • Bootstrap-Klassen werden automatisch gefunden und geladen • Kein Eingriff in den Endpoint selbst nötig
  9. 9. Beispiel-Listener • Listener-Methode bekommt das jeweilige Event • Das Event beinhaltet das Main- Entity • Objekte können so im Listener manipuliert werden
  10. 10. Debugging – serverseitig • JTL-Connector schreibt eigene Logdateien (via Monolog) • 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
  11. 11. 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
  12. 12. JTL-Software-GmbH, Daniel Böhmer & Christian Spoo Fragen? Dokumentation: http://docs.jtl-connector.de Sourcecode: http://gitlab.jtl-software.de

×