Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Eine Integrationsschnittstelle wählen

Eine Entscheidungshilfe, um für jeden Datenfluss die richtige Schnittstelle zu wählen - wo der Code läuft, wie viele Daten fließen, wie schnell sie ankommen müssen und welche Schnittstellen passen - mit durchgespielten…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/integrators/choosing-an-integration-surface.md

On this page

This page is a translation. Read the English original

Eine Integrationsschnittstelle wählen

Diese Seite ist für Lösungsarchitekten und Integrationsentwickler, die einen Datenfluss bauen müssen und dafür mehrere Wege haben. Exponential bietet HTTP-APIs, serverseitiges PHP, Feeds, Dateien und Hooks; die meisten Flüsse lassen sich auf mehr als eine Art bauen. Vier Fragen grenzen die Wahl schnell ein.

Inhalt

  1. Vier Fragen
  2. Die Entscheidungstabelle
  3. Durchgespielte Entscheidungen
  4. Schnittstellen kombinieren
  5. Warnsignale

Vier Fragen

  1. Wo kann Ihr Code laufen? Auf dem Exponential-Server (als Erweiterung, CLI-Skript oder Cronjob) oder nur auf einem anderen Rechner? Code auf dem Server kann die PHP-Inhalts-API nutzen, die vollständigste Schnittstelle; Code anderswo muss HTTP, Feeds oder Dateien verwenden.
  2. Wie viele Daten fließen, und wie oft? Eine Handvoll Datensätze pro Stunde ist über HTTP in Ordnung. Zehntausende Datensätze pro Nacht gehören in einen serverseitigen Stapel mit Fortschritt und Probelauf.
  3. Wie schnell muss eine Änderung ankommen? „Innerhalb von Sekunden nach dem Veröffentlichen" spricht für ein Workflow-Ereignis oder einen Event-Listener; „bis morgen früh" für einen Cronjob.
  4. Wer startet den Austausch? Exponential schiebt zum anderen System, das andere System holt aus Exponential, oder das andere System schiebt hinein (Push und Pull, Stapel und Echtzeit).

Die Entscheidungstabelle

Ihre LageErste WahlEbenfalls möglichVermeiden
Viele Datensätze nach Zeitplan importieren, Code darf auf dem Server laufenCronjob-Teil oder CLI-Skript mit eZContentFunctions und remote_idZeitgesteuerter Import mit xrowextractViele einzelne REST-Anlagevorgänge
Ein anderes System legt ab und zu ein paar Elemente an und kann keinen Code auf dem Server ausführenREST POST /api/ezp/v2/content/node/create mit einem API-SchlüsselSchreibdienste von expservicesDirektes Schreiben in Datenbanktabellen
Eine App liest InhalteREST-Lesezugriffe (/api/ezp/v1/... oder /v2/...)Lesezugriffe über expservices, RSS- oder Atom-FeedsHTML-Seiten auslesen (Scraping)
Ein anderes System muss sofort wissen, wenn etwas veröffentlicht wirdEin Workflow-Ereignis auf content / publish / afterAudit-Webhook-Senke mit eingeschaltetem content.object.publishJede Minute die REST-API nach allem abfragen
Ein anderes System muss eine Veröffentlichung freigeben oder ablehnenEin Workflow-Ereignis auf content / publish / before, das angenommen oder abgelehnt zurückgibt oder an den Cronjob abgibtDas Ereignis Approve für eine Freigabe durch MenschenNach dem Veröffentlichen prüfen
Formularantworten gehen an ein CRMEin Cronjob, der neue Sammlungen liest und sie sendetbccie-Exporte, der CSV-ExportAus collect.ini an das Postfach des CRM mailen und E-Mails parsen
Mitarbeiter melden sich mit dem Unternehmensverzeichnis anLoginHandler[]=LDAPEin eigener Login-HandlerPasswörter in Exponential kopieren
Zwei Exponential-Installationen teilen InhaltesyndicationRSS-Export und -Import; PaketeDatenbankkopien
Eine Website oder einen Teilbaum zwischen Installationen verschiebenPakete (ezpm.php)Inhaltspakete von xrowextractDatenbank-Dumps einzelner Tabellen
Ein Tabellen-Hin-und-Her für Redakteurexrowextractezcsvimport.php, ezcsvexport.phpHandgeschriebenes SQL
E-Mails über die API eines Anbieters versendenEine eigene Mail-Transportklasse (TransportAlias[])SMTP zum AnbieterDen Anbieter aus Templates aufrufen

Durchgespielte Entscheidungen

Produktdaten aus einem PIM, 20 000 Produkte, nächtlich

Das PIM exportiert nachts eine Datei. Code darf auf dem Server laufen. Die Entscheidung: ein Cronjob-Teil Ihrer Erweiterung, der die Datei liest, jedes Produkt mit eZContentObject::fetchByRemoteID() findet, es mit eZContentFunctions::createAndPublishObject() anlegt oder nur dann mit updateAndPublishObject() aktualisiert, wenn sich ein Feld geändert hat, und eine Zusammenfassung protokolliert. Veröffentlichen ohne Benachrichtigung ($notify = false) bewahrt Abonnenten vor 20 000 E-Mails. Siehe Ein Importskript schreiben.

Eine mobile App zeigt Nachrichten und lässt Reporter Entwürfe einstellen

Die App läuft auf Smartphones; auf dem Server läuft nichts. Lesezugriffe nutzen die REST-API; Reporter melden sich über eine OAuth-Anwendung an, sodass die App als der jeweilige Reporter handelt. Das Anlegen von Inhalten nutzt die v2-Anlageroute, die mit den eigenen content/create-Rechten des Reporters veröffentlicht. Siehe OAuth-Anwendungen.

Suchindex in einem externen Dienst, innerhalb einer Minute aktualisiert

Ein Workflow-Ereignis auf content / publish / after stellt die Objekt-ID in eine Warteschlange; ein häufig laufender Cronjob schickt die eingestellten IDs an den Suchdienst. Das Ereignis bleibt schnell, und ein Ausfall des Suchdienstes blockiert keine Redakteure. Siehe Workflows und Trigger als Hooks.

Schnittstellen kombinieren

Die meisten echten Integrationen kombinieren zwei Schnittstellen: einen Hook, der eine Änderung günstig bemerkt, und einen Stapel, der die schwere Arbeit erledigt und wiederholen kann. Typische Paare:

HookStapel
Ein Workflow-Ereignis beim Veröffentlichen schreibt eine ID in Ihre eigene TabelleEin Cronjob-Teil sendet ausstehende IDs und markiert sie als erledigt
Ein Event-Listener für content/cache notiert geleerte KnotenEin Cronjob leert sie beim CDN
Ein Audit-Webhook liefert content.node.remove.*Das empfangende System entfernt seine Kopie

Warnsignale

  • Direkt in die Datenbanktabellen von Exponential schreiben. Das umgeht Versionen, den Veröffentlichungsvorgang, Workflows, Caches, den Suchindex und das Audit-Protokoll. Verwenden Sie immer die Funktionen des Kernels (Inhalte aus PHP anlegen).
  • Importe als Administrator ausführen. Verwenden Sie ein Dienstkonto mit den Rechten, die der Import braucht (Dienstkonten und Rollen).
  • Langsame entfernte Aufrufe innerhalb der Veröffentlichungsanfrage. Redakteure warten, und ein Timeout auf der anderen Seite bricht das Veröffentlichen ab. Geben Sie die Arbeit an einen Cronjob ab.
  • Sich installationsübergreifend auf Objekt- oder Knoten-IDs verlassen. Sie unterscheiden sich zwischen Installationen; verwenden Sie remote_id.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x