Datenaustausch: Was macht gute Web-Schnittstellen aus?
Wenn verschiedene Anwendungen im Web miteinander kommunizieren, dann passiert das über Web-Schnittstellen. So werden zum Beispiel Bestellungen und Kundendaten zwischen ERP und Shop-System ausgetauscht, Zahlungsinformationen zwischen dem Shop-System und Payment-Anbietern oder soziale Medien per API von der Website angesprochen.
Möglichkeiten zum Datenaustausch gibt es viele
- Direkter Datenbank-Zugriff (Datenbank-Views)
- Dateiaustausch (z.B. per CSV oder für Bilder und Dokumente)
- Application Programming Interfaces (API)
- Webservices (SOAP, REST)
Was sollte bei der Auswahl berücksichtigt werden?
Standardisierung
Protokolle wie SOAP, XML-RPC oder REST geben Strukturen zum Austausch vor, die sich in den gängigen Systemen und Technologien wiederfinden. Wenn man sich an diese Strukturen hält, können einerseits mehrere Systeme die selbe Web-Schnittstelle verwenden und andererseits neue Systeme leichter eingeführt werden.
Daten-Sicherheit
Daten sollten nicht unverschlüsselt ausgetauscht werden und der Zugriff auf die Schnittstellen sollte nur per sicherem Login möglich sein. Eine gut konfigurierte Firewall oder der Einsatz von VPN-Verbindungen verbessern weiter den Schutz vor unautorisierten Zugriffen. Intrusion Prevention und Intrusion Detection Systeme helfen, auf potenzielle Bedrohungen zu reagieren.
Daten-Konzept und Schnittstellen-Prozess
Im Daten-Konzept wird festgelegt, welche Daten ausgetauscht werden sollen und wo diese gespeichert werden. In Schnittstellen-Prozessen zeichnet man die Vorgänge detailliert auf bevor sie umgesetzt werden. Dies ermöglicht die bessere Planbarkeit der Umsetzung, besonders wenn mehrere Firmen beteiligt sind, und verringert die Fehleranfälligkeit.
Timing und Geschwindigkeit
Sollen Daten in Echtzeit, stündlich, täglich oder einmalig ausgetauscht werden? Bei Echtzeit-Austausch sind die Anforderungen an die Geschwindigkeit besonders hoch. Antwortzeiten von einer Sekunde sind dann auch in Spitzenzeiten meistens schon inakzeptabel. Gut geplante Web-Schnittstellen können auch Zeiten mit viel Traffic gut handlen. Bei Bedarf kommen Load-Balancer oder Caching-Technologien zum Einsatz.
Business Logic
Oft ist es notwendig oder von Vorteil, neben Daten auch Business Logic zur Verfügung zu stellen.
- So können zum Beispiel komplexe Berechnungen in einem System implementiert werden und die angeschlossenen Systeme arbeiten dann mit den Ergebnissen. Das ist weniger Aufwand und weniger fehleranfällig.
- Beim Einsatz von Webservices kann die Funktionalität weit über die Möglichkeiten der Datenbank-Technologie, -Sicherheit und -Design hinausgehen.
Test-Umgebung
Gute Test-Umgebungen bieten alle Möglichkeiten der Live-Umgebung. Bei Bedarf werden echte Daten zum Testen anonymisiert. Die Schnittstellen sollten parallel verschiedene Versionen zur Verfügung stellen können.
Überwachung
Zur Überwachung des Betriebs wird Monitoring eingesetzt und detaillierte Logs machen den Datenaustausch nachvollziehbar.
Schnittstellen-Erfahrung seit 2003
Wir haben viel Erfahrung in der Umsetzung von Schnittstellen. Zum Beispiel:
- Hochverfügbare Anwendungen (z.B. Webshops mit hohem Besuchervolumen und Umsatz)
- Echtzeit-Übertragungen (z.B. Zahlungstransaktionen, Hotel-Buchungen, Ticket-Buchungen)
- Große Datenmengen (Projekte mit mehr als 500.000 Artikeln in einem E-Commerce-System)
- Autarke Systeme (z.B. Webshops, die nur über Schnittstellen angebunden sind und kein eigenes User-Interface benötigen)
- In 18 Jahren sind uns viele Systeme begegnet, z.B. Microsoft Dynamics (vormals Microsoft Navision), Filemaker, Feratel, Axess, Wirecard, Google, Facebook, MPay24, Loviit, Microsoft Axess, Cludes, Zahlungsanbieter und viele mehr.
Kommentar schreiben
You must be logged in to post a comment.