Zum Content

Schnittstellenentwicklung

Holen Sie das Beste aus Ihrer Systemlandschaft. Performant und zuverlässig. Keine Doppelwartung, keine Zeitverzögerungen. Alle Daten aktuell auf allen Plattformen. Egal ob online, am POS oder beim Außendienst.

Wir beraten Sie auch bei der "Make or Buy"-Entscheidung!

Andreas

Diskutieren wir die richtige Technologie.

Roland

Tests und Error-Handling sind die Schlüssel zum Erfolg!

Rudi

Wir berücksichtigen auch Sicherheit und Performance.

Verbinden Sie das Beste aus mehreren Plattformen

Digitalisierung ist in aller Munde. Doch welches System kann alles, was ein Unternehmen für sein Geschäft braucht? Keines. Jedes System hat seine Stärken in einem bestimmten Bereich und aus Unternehmenssicht gilt es, alle geschäftskritischen Prozesse möglichst automatisch miteinander zu vernetzen. Dies ist eine komplexe Aufgabe. Die Schnittstellen müssen nicht nur "funktionieren", sondern viele Dinge berücksichtigen:

  1. Performance: Der Datenabgleich muss oft genug laufen, um alles aktuell zu halten, darf aber währenddessen keine Funktionalitäten für User beeinträchtigen.
  2. Wartbarkeit: Jedes am Datenaustausch beteiligte System wird regelmäßig upgedatet. Oft von unterschiedlichen Dienstleistern. Dabei können auch Updates der Schnittstelle notwendig werden. Das Wichtigste dabei: wie bemerke ich Änderungen?
  3. Automatische Tests: Kritische Prozesse sollten automatisch getestet werden. Diese Tests laufen regelmäßig und warnen bei Problemen.
  4. Sicherheit: Datendiebstahl oder Kompromittierung der Daten muss verhindert werden. Website Security gilt auch für Schnittstellen.
  5. Vollupdates vs. Differenz-Updates: Aus Performance- und Zeitgründen können nicht immer alle Daten synchronisiert werden. Ein System muss den Überblick darüber bewahren, welche Daten aktuell sind und welche ein Update benötigen.
  6. Dokumentation: Die Systemlandschaft entwickelt sich weiter. Oft müssen Schnittstellen Daten nicht nur übertragen, sondern auch nach bestimmten Regeln modifizieren. Manchmal wechseln Dienstleister oder Verantwortliche im Unternehmen. Fehlt eine gute Dokumentation, weiß später niemand mehr, warum Dinge so sind, wie sie sind.
  7. Logging & Debugging: Spielen mehrere Systeme zusammen, sind Fehler schwer zu lokalisieren. Nur wenn gute Logs und Debugging-Funktionalitäten programmiert wurden, kann hier wertvolle Zeit gespart werden.
  8. Push vs. Pull: Es macht einen Unterschied, ob ein System Daten "schickt" oder Daten "holt". Das muss geplant werden und bedingt eine unterschiedliche Herangehensweise.
  9. Technologie: Je nach Systemlandschaft kommen unterschiedliche Technologien zum Einsatz. REST, SOAP, File-basiert (XML, CSV), unterschiedliche Programmiersprachen - hier müssen Richtungsentscheidungen getroffen werden. Auch die Entscheidung für einzelne Schnittstellen oder eine sogenannte Middleware, die vor der Verteilung alle Daten auf ein gemeinsames Format bringt.
  10. Datenhoheit: Welches ist das führende System?
  11. Make or Buy: Es gibt auf dem Markt sehr viele "fertige" Schnittstellen. Kaum eine kann jedoch ohne Anpassungsaufwand verwendet werden und kaum eine erfüllt die zuvor genannten Anforderungen. Je spezieller die Anforderungen, desto eher lohnt sich die Neuentwicklung. Schließlich sind auch die angebundenen Systeme kaum je bei zwei Unternehmen gleich konfiguriert. Das wird im Vorfeld oft übersehen.

Wir haben diese Arbeiten schon sehr oft gemacht und jeden Fehler schon gesehen. Wir wissen, worauf es ankommt und nehmen Ihnen die Antworten auf die meisten der oben stehenden Fragen ab bzw. beraten Sie dazu.

Wir binden jedes System an

Die folgende Liste enthält beispielhaft einige Systeme, mit denen wir schon zu tun hatten. Mit unserer Erfahrung können wir aber wirklich jedes System an Ihre Website oder Ihren Webshop anbinden, das über eine dokumentierte, für Webtechnologien zugängliche Schnittstelle oder über ein dateibasiertes Austauschformat verfügt.

CMS und Blog Systeme

Webshops & E-Commerce-Systeme

Warenwirtschaftssysteme (Beispiele)

Suchtechnologien

CRM-Systeme

E-Mail Marketing - Marketing Automation

Payment Service Provider (PSP)

Versand und Logistikanbieter

PIM - Externe Produktverwaltungen mit Magento Schnittstelle

Analytics und Business Intelligence (BI)

Social Network Integrationen

Noch mehr Schnittstellen

Die vorangehende Liste ist noch lange nicht alles. Weitere Anwendungsfelder für Schnittstellenentwicklung könnten sein:

  • Industrielle Fertigung: z.B. Web to Print, Mass Customization, Industrie 4.0
  • Hardware-Steuerung: z.B. Internet of Things (IoT)
  • Point of Sale (POS): z.B. Bildschirme in Verkaufsräumen, Tablet

Arten von Schnittstellen

Wie können Schnittstellen Daten austauschen?

Im Laufe der Zeit sind mehrere Wege entstanden, um Daten zwischen Systemen zu übermitteln.

File-basierte Schnittstellen

Viele, oft auch ältere Systeme bevorzugen den Austausch über Dateien. Daten werden so auf einem Speicher bereitgestellt oder über ein Protokoll wie SFTP/SCP übertragen. Das Zielsystem verarbeitet die Dateien dann auf Zuruf oder zeitgesteuert.

Schnittstellen, die mit Dateien arbeiten, setzen häufig Formate wie CSV oder XML ein. EDI-Standards wie EDIFACT verwenden jedoch gerne eigene, strukturierte oder teilstrukturierte Formate, die meistens als Dateien verschickt werden.

Web-basierte Schnittstellen

Eine weitere Art der Datenübertragung bieten Web-Schnittstellen. Hier werden Informationen vorwiegend über HTTP verteilt und empfangen. Die prominentesten Vertreter sind SOAP- und REST-Schnittstellen.

SOAP (Simple Object Access Protocol) wurde um die Jahrtausendwende eingeführt und transportiert in Normalfall XML-Daten über HTTP. Viele Enterprise-Systeme haben SOAP adoptiert und profitieren von Vorteilen wie der Strukturiertheit der Daten und den Definitions- und Validierungsmöglichkeiten via WSDL.

Auch REST (Representational State Transfer) funktioniert über HTTP und überträgt Daten in den meisten Fällen im XML- oder JSON-Format. Besonders bei Web-Software wurde REST schnell beliebt und ist so etwas wie der "jüngere Bruder" von SOAP.

Ein junger, aber ebenfalls populärer API-Standard ist GraphQL. Wie bei SOAP und REST sind sowohl Schreib- als auch Lese-Anfragen möglich, wobei GraphQL für andere Systeme besonders als Datenlieferant einen reizvollen Ansatz darstellt, weil Daten sehr effizient abgefragt werden können. Auch hier ist das Datenformat nicht in Stein gemeißelt. In der Praxis wird jedoch nahezu ausschließlich JSON verwendet.

Für Unternehmen mit SAP spielt im Webshop-Bereich schließlich OCI (Open Catalog Interface) eine wichtige Rolle. Man spricht hier gerne von Punchout-Katalogen. SAP-eProcurement-Systeme und Webshops werden über HTTP-Protokoll verbunden, was besonders im B2B-Bereich für effiziente Beschaffungsvorgänge wichtig ist.

Message-basierte Schnittstellen / Enterprise Service Bus (ESB)

Zuletzt gibt es Schnittstellen, die auf einer dezentralen Verarbeitung beruhen.

Dazu zählen einerseits Message-basierte Schnittstellen. Hier kommt eine Message Queue Middleware (MQM) zum Einsatz, z.B. Apache ActiveMQ oder RabbitMQ. Ein System, z.B. ein ERP, schickt (eine Nachricht mit) Daten an die Middleware. Die Middleware reiht diese Information in eine Warteschlange ein und wartet darauf, dass ein Verarbeiter Zeit hat, diese Aufgabe zu übernehmen.

MQMs erlauben die Verwendung diverser Formate und Protokolle. Sie sind vor allem für Schnittstellen mit höherer Komplexität und größeren Datenmengen interessant, weil sie Features wie asynchrone Kommunikation und die parallele Verarbeitung ermöglichen und gleichzeitig eine erhöhte Fehlertoleranz/Resilienz bei Lastschwankungen oder Netzwerkproblemen besitzen.

Ebenfalls relevant für komplexe Schnittstellen sind Enterprise Service Buses (ESB). Sie dienen als zentraler Hub für Unternehmen mit einer heterogenen IT-Infrastruktur und erlauben es, diverse Technologien zusammenzuführen und zwischen ihnen Nachrichten auszutauschen. Neben den Lösungen von IBM, Oracle, SAP und Co. zählt dazu z.B. die Open-Source-Lösung Mule.

Referenzen Schnittstellenentwicklung

Maßgeschneiderte Schnittstellenentwicklung

Egal, ob file-, web- oder messagebasierte Schnittstellen: wir haben gelernt, dass keine Standard-Schnittstelle ohne Anpassungen und Fachwissen auskommt.

Wir sammeln seit 2002 Erfahrung im Bau von Schnittstellen zu Webshops (siehe unsere Seite zu Magento-Schnittstellen), Content-Management-Systemen und individuellen Anwendungen. Wir beraten Sie, welcher Ansatz für Ihr Projekt am besten geeignet ist und helfen Ihnen, Zeit und Geld zu sparen.

Häufig gestellte Fragen zur Schnittstellenentwicklung

Softwarehersteller neigen dazu, Produktfeatures großartig zu präsentieren. Die bloße Aufzählung von Systemen oder Kompatibilitäten heißt aber noch lange nicht, dass das Zusammenspiel in der benötigen Softwareversion, mit den benötigten Features in der benötigten Art funktioniert. Leider. Auch wenn zwei Systeme über eine Schnittstelle verfügen, spielen sie noch lange nicht korrekt zusammen.

Zwischen einem Tag Aufwand und vielen Wochen Aufwand ist alles denkbar. Einflussfaktoren sind die Anzahl der Systeme, die Art der verfügbaren Schnittstellentechnologien, der Stand der Planung der Schnittstellenarchitektur, die Möglichkeit auf Bestehendes aufzusetzen, die Verfügbarkeit fertiger Komponenten von Drittanbietern, der Stand der Dokumentation usw. Mehrere Tage Aufwand werden es aber meistens.

Sie müssen dafür sorgen, dass für jedes beteiligte System und hinsichtlich der zu treffenden Business-Entscheidungen kompetente und entscheidungsbefugte Personen zusammenkommen. Die Verantwortlichkeiten und kommerziellen Rahmenbedingen müssen gemeinsam genau besprochen und festgelegt werden.