Hier finden Sie allgemeingültige, technische Tipps zur Verwendung der Webservice-API von Speed4Trade CONNECT. Die Liste ist dynamisch und wird sukzessive erweitert. |
Response bei Updates / Neustarts
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Header /> <soapenv:Body> <soapenv:Fault xmlns:nsA1Mye="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Code> <soapenv:Value>nsA1Mye:WS_SHUTDOWN</soapenv:Value> </soapenv:Code> <soapenv:Reason> <soapenv:Text xml:lang="en-US">The server is shutting down.</soapenv:Text> </soapenv:Reason> <soapenv:Detail /> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> |
Empfehlungen für das Verhalten von angebundenen Systemen bei der Nichtereichbarkeit der Speed4Trade-CONNECT-API Damit die Daten zwischen ERP-System und Speed4Trade CONNECT synchron gehalten werden, empfehlen wir folgende Vorgehensweisen: 1) Um der Dynamik im Online-Umfeld sowie der angeschlossenen Marktplätze gerecht zu werden und um Funktionserweiterungen schnell nutzen zu können, stehen für Speed4Trade CONNECT wöchentlich neue Versionen zur Verfügung. Wenn möglich sollte ein Zeitfenster für Updates von Speed4Trade CONNECT geschaffen werden, in welchem keine API-Zugriffe per SOAP erfolgen. Das Zeitfenster sollte ca. 15 Minuten groß sein, um ausreichend Zeit bereitzustellen, falls bei den Updates von Speed4Trade CONNECT Datenmigrationen notwendig sind. Die Updates sollten so geplant werden, dass sie in diesem Zeitfenster durchgeführt werden. Dazu ist eine Abstimmung mit dem Kunden notwendig. 2) Nichtereichbarkeit der Speed4Trade-CONNECT-API während lesender Zugriffe: a) Hintergrundprozesse im ERP-System: Sollte aufgrund einer Downtime oder einer Störung Speed4Trade CONNECT nicht erreichbar sein während ein lesender Zugriffsversuch durch Hintergrundjobs stattfindet (z.B. Abholung von neuen Aufträgen), sind diese Zugriffe nach einer Wartezeit zu wiederholen. Es wird eine Wartezeit von ca. 15 Minuten empfohlen. Lesende Jobs sollten so gestaltet werden, dass sie ansatzlos fortfahren können. b) Frontend-Interaktion im angebundenen ERP-System: Bei User-Interaktionen, die eine direkte Verbindung zu Speed4Trade CONNECT haben, sollte eine Meldung angezeigt werden, dass die angeforderten Informationen aktuell nicht verfügbar sind. Hier ist keine automatische Wiederholung nach einer Wartezeit notwendig. 3) Downtime der Speed4Trade-CONNECT-API während schreibender Zugriffe: a) Hintergrundprozesse im ERP-System: Kann ein schreibender Zugriff während eines Hintergrund-Prozesses (z.B. UpdateItems) nicht durchgeführt werden, so sollten diese Requests zu einem späteren Zeitpunkt wiederholt werden. Es wird auch hier eine Wartezeit von ca. 15 Minuten empfohlen. Falls die Wiederholungen mehrmals direkt hintereinander fehlschlagen, sollte dies protokolliert und die Störung zur manuellen Lösungsfindung weitergeleitet werden, z.B. Meldung an einen Systembetreuer. b) Frontend-Interaktion im angebundenen ERP-System: Erfolgt der schreibende Zugriff aufgrund einer Nutzer-Interaktion, so ist das sendende System verantwortlich einen konsistenten Zustand der Daten aufrecht zu erhalten und ggf. dem User eine Handlungsempfehlung anzuzeigen. Die Konsistenz kann alternativ durch Wiederholung des Requests zu einem späteren Zeitpunkt wiederhergestellt werden wobei hier ein Verfahren implementiert werden muss, welches zu häufige Wiederholungsversuche verhindert und in diesem Fall eine Meldung zur Nachbearbeitung an den Systembetreuer weiterleitet.
Die genannten Punkte haben keinen Anspruch auf Vollständigkeit es kann sein, dass spezielle Use-Cases nicht durch dieses Schema abgedeckt sind, aber sie sind eine Empfehlung die Schnittstelle stabiler und ausfallsicherer zu machen. Generell sollten Schnittstellen so konzipiert werden, dass sich Fehler nicht fortpflanzen, sondern mit der Zeit wieder verschwinden (eventual consistency). Beispielsweise können Bestandsänderungen täglich mehrmals als Delta-Update übergeben und einmal wöchentlich mit einem Vollimport synchronisiert werden. |