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

178 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
178
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
6
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

×