Fragen & Antworten

Backends und Schnittstellen

Was ist der Unterschied zwischen API, Schnittstelle und Integration?

Eine Schnittstelle legt fest, wie Software miteinander kommuniziert. Eine API ist eine Schnittstelle, über die Programme Daten abrufen oder Funktionen ausführen. Eine Integration verbindet Systeme so, dass daraus ein funktionierender Arbeitsablauf entsteht. MDN Web Docs

Der Unterschied ist für Ihr Vorhaben entscheidend: Eine vorhandene API macht einen Datenaustausch möglich. Sie bedeutet aber noch nicht, dass Ihre Bestellungen automatisch in der Warenwirtschaft landen, Preise richtig zugeordnet werden oder Versandinformationen beim Kunden ankommen.

schukai übernimmt alle drei Aufgaben: Wir entwickeln APIs, programmieren Schnittstellen und setzen vollständige Integrationen um – von der Planung über die Einführung bis zu Wartung und Betrieb.

Die Begriffe im Überblick

Begriff Was ist damit gemeint? Beispiel
Schnittstelle Ein festgelegter Übergang zwischen Programmen oder Komponenten. Eine Warenwirtschaft stellt Artikeldaten als CSV-Datei für den Import in einen Shop bereit.
API Eine Schnittstelle mit definierten Aufrufen, über die andere Software Daten abfragen oder Funktionen ausführen kann. Der Shop fragt einen Bestand ab oder legt einen Auftrag an.
Integration Die technische und fachliche Umsetzung des Zusammenspiels zwischen Systemen. Eine Bestellung wird übernommen, dem richtigen Kunden zugeordnet und mit einer Rückmeldung an den Shop bestätigt.

Jede API ist eine Schnittstelle. Eine Integration nutzt Schnittstellen, um eine konkrete Aufgabe systemübergreifend zu erledigen. MDN Web Docs

Was ist eine Schnittstelle?

Eine Schnittstelle beschreibt, wo und nach welchen Regeln zwei Programme oder Softwarekomponenten Informationen austauschen. Sie legt beispielsweise fest, welches Datenformat erwartet wird, welche Angaben erforderlich sind und wie die Übergabe erfolgt.

Das muss keine Web-API sein. Auch ein vereinbarter CSV-Import, ein XML-Export oder der Austausch über ein Nachrichtensystem kann als Schnittstelle dienen. schukai.com

Ein Beispiel: Ihre Warenwirtschaft exportiert jede Nacht eine Datei mit Artikelnummern, Preisen und Beständen. Der Onlineshop liest diese Datei ein. Damit besteht eine dateibasierte Anbindung – auch ohne direkte API-Aufrufe zwischen Shop und Warenwirtschaft.

Ob dieser Weg ausreicht, hängt von der Aufgabe ab. Für einen täglich aktualisierten Produktkatalog kann er passen. Für die Verfügbarkeitsprüfung während einer Bestellung kann ein nächtlicher Abgleich zu spät sein.

Entscheidend ist nicht, wie modern eine Schnittstelle klingt, sondern ob sie die benötigten Daten rechtzeitig und verlässlich bereitstellt.

Was ist eine API?

API steht für Application Programming Interface, auf Deutsch: Programmierschnittstelle. Über definierte Aufrufe kann eine Anwendung gezielt auf Daten oder Funktionen einer anderen Software zugreifen.

Eine API könnte beispielsweise diese Aufgaben anbieten: einen Artikel suchen, einen Bestand abfragen, einen Kunden anlegen oder den Status eines Auftrags zurückgeben. Ein Mensch müsste dafür eine Oberfläche bedienen. Eine andere Software nutzt stattdessen die vorgesehenen Aufrufe.

Eine API ist nicht automatisch öffentlich oder über das Internet erreichbar. Sie kann auch innerhalb einer Anwendung oder ausschließlich im Unternehmensnetz eingesetzt werden. MDN Web Docs

Was muss bei einer API festgelegt sein?

Für die Anbindung muss klar sein, welche Funktionen verfügbar sind, welche Daten ein Aufruf benötigt und welche Antworten zurückkommen. Ebenso wichtig sind Zugriffsrechte, Fehlermeldungen und die Regeln für Änderungen an der API. Für HTTP-APIs lassen sich viele dieser Angaben beispielsweise mit OpenAPI strukturiert dokumentieren. OpenAPI Initiative Publications

Dabei kann die angesprochene Software bereits umfangreiche Geschäftsregeln ausführen: Sie prüft etwa einen Auftrag, bevor sie ihn speichert. Eine API ist also nicht bloß ein unkontrollierter Zugang zur Datenbank. OWASP Cheat Sheet Series

Trotzdem beantwortet die Aussage „Unser System hat eine API“ noch nicht die entscheidende Frage: Deckt diese API genau die Funktionen, Daten und Abläufe ab, die Sie benötigen?

Was bedeutet Integration? Ein Beispiel aus der Auftragsabwicklung

Eine Integration verbindet die technischen Möglichkeiten mit Ihren betrieblichen Regeln. Sie bestimmt, welche Daten wohin gelangen, was dort mit ihnen geschieht und wie das Ergebnis zurückgemeldet wird. Microsoft Learn

Angenommen, Sie möchten Bestellungen aus einem B2B-Onlineshop automatisch in Ihre Warenwirtschaft übernehmen. Der gewünschte Ablauf könnte so aussehen:

Die Bestellung wird übertragen. Der Shop übergibt Bestellpositionen, Lieferadresse und vereinbarte Konditionen. Die Anbindung übersetzt diese Angaben in das Format der Warenwirtschaft und nutzt deren Schnittstelle, um den Auftrag anzulegen.

Die Daten werden richtig zugeordnet. Der Shopkunde muss zum passenden Kundenkonto gehören. Artikelvarianten müssen eindeutig erkannt werden. Bestellt der Kunde zwei Kartons mit jeweils zwölf Stück, darf daraus kein Auftrag über zwei einzelne Stück werden.

Das Ergebnis wird zurückgemeldet. Der Shop erhält die Auftragsnummer und den Verarbeitungsstatus. Später können Versandstatus und Sendungsnummer folgen. Fehlt eine Artikelzuordnung, soll der betroffene Auftrag zur Klärung bereitstehen, statt unbemerkt liegen zu bleiben.

Die API stellt in diesem Beispiel bestimmte Funktionen bereit. Die Anbindung ruft sie auf und überträgt die Daten. Die Integration sorgt dafür, dass die einzelnen Schritte nach den vereinbarten Regeln zusammenarbeiten.

Warum „erfolgreich übertragen“ nicht immer „erledigt“ bedeutet

Der Erfolg eines einzelnen API-Aufrufs sagt nicht automatisch aus, dass der gesamte Geschäftsprozess abgeschlossen ist. Ein System kann eine Anfrage zur späteren Verarbeitung annehmen. Der HTTP-Status 202 Accepted bezeichnet ausdrücklich eine angenommene, aber noch nicht abgeschlossene Verarbeitung.

Auch 200 OK bestätigt den Erfolg der jeweiligen Anfrage – nicht pauschal aller nachfolgenden Arbeitsschritte. RFC Editor

Für die Auftragsübernahme braucht es deshalb ein konkretes Erfolgskriterium: Der Auftrag ist in der Warenwirtschaft angelegt, seine Nummer ist bekannt und sein Status wurde an den Shop zurückgegeben. Eine bloße Empfangsbestätigung reicht dafür nicht.

Was eine Integration im Betrieb leisten muss

Festlegen, welche Daten aus welchem System kommen

Nicht jedes System sollte dieselben Angaben ändern dürfen. Für Ihr Vorhaben könnte beispielsweise die Warenwirtschaft die Preise bestimmen, während Produktbeschreibungen im Shop gepflegt werden.

Diese Verantwortung wird je Datenbereich festgelegt. Auch Änderungen in beide Richtungen brauchen eindeutige Regeln: Welche Änderung hat Vorrang? Wie werden Konflikte erkannt? Wann darf ein bestehender Wert überschrieben werden? schukai.com

Daten nicht nur übertragen, sondern richtig verstehen

Gleich benannte Felder können unterschiedliche Bedeutungen haben. Ein „Bestand“ kann die physisch vorhandene Menge bezeichnen oder die nach Reservierungen noch verkäufliche Menge.

Deshalb klären wir nicht nur Feldnamen, sondern die Bedeutung der Daten. Dazu gehören Kennungen, Varianten, Mengeneinheiten, Preisgrundlagen und Statuswerte. Erst diese Zuordnung macht aus übertragenen Zahlen und Texten Informationen, mit denen das Zielsystem richtig arbeiten kann.

Die passende Aktualität wählen

Manche Informationen werden unmittelbar benötigt. Andere können in festen Abständen übertragen werden. Eine API allein garantiert weder Echtzeit noch einen laufenden Abgleich.

Wir legen fest, wodurch die Übertragung ausgelöst wird und wie schnell die Daten im Ziel verfügbar sein müssen. Möglich sind beispielsweise regelmäßige Abfragen oder ereignisgesteuerte Übertragungen. Dabei berücksichtigen wir auch Datenmengen und technische Begrenzungen der beteiligten Systeme. Microsoft Learn

Bei ereignisgesteuerten Anbindungen muss außerdem geklärt werden, ob Nachrichten verspätet, mehrfach oder in anderer Reihenfolge eintreffen können. Eine ältere Bestandsmeldung darf einen neueren Stand nicht unbemerkt zurücksetzen. Stripe Docs

Unterbrechungen auffangen, ohne Vorgänge zu verdoppeln

Bricht eine Verbindung ab, ist nicht immer klar, ob das Zielsystem den Auftrag bereits angelegt hat. Eine unkontrollierte Wiederholung könnte ihn ein zweites Mal erzeugen.

Dagegen helfen eindeutige Vorgangskennungen, Prüfungen des Verarbeitungsstands und – soweit die beteiligten Systeme dies unterstützen – idempotente Aufrufe. „Idempotent“ bedeutet hier: Die Wiederholung desselben Vorgangs erzeugt keine zusätzliche fachliche Wirkung.

Ein vorübergehend nicht erreichbarer Server ist außerdem anders zu behandeln als eine unbekannte Artikelnummer. Bei einer Verbindungsstörung kann ein späterer Versuch sinnvoll sein. Bei fehlerhaften Stammdaten muss zunächst die Ursache behoben werden. Amazon Web Services, Inc.

Fehler dort sichtbar machen, wo sie bearbeitet werden

Ein technisches Protokoll hilft der Entwicklung. Für die Auftragsbearbeitung braucht es dagegen verständliche Informationen: Welcher Vorgang ist betroffen? Was fehlt? Wer muss handeln? Was wurde bereits ausgeführt?

Wir planen die Fehlerbehandlung deshalb als Teil des Arbeitsablaufs. Dazu gehören nachvollziehbare Status, passende Benachrichtigungen und ein kontrollierter Weg, korrigierte Vorgänge weiterzuverarbeiten. Bei kritischen Datenflüssen kann ein zusätzlicher Abgleich fehlende oder abweichende Einträge aufdecken. schukai.com

Zugänge schützen und Änderungen beherrschbar halten

Eine Anbindung sollte nur auf die Daten und Funktionen zugreifen dürfen, die sie tatsächlich benötigt. Verschlüsselte Übertragung, geschützte Zugangsdaten, Eingabeprüfungen und geeignete Protokollierung gehören deshalb zur technischen Umsetzung. Vertrauliche Informationen dürfen dabei nicht unkontrolliert in Fehlermeldungen oder Protokollen landen. OWASP Cheat Sheet Series

Für den späteren Betrieb klären wir außerdem, wer Änderungen an Fremdsystemen verfolgt, Anpassungen testet und neue Versionen einführt. Eine Integration muss nicht nur am Tag der Abnahme funktionieren, sondern auch betreut und weiterentwickelt werden können. schukai.com

Lassen sich auch Systeme ohne passende API verbinden?

Ja, sofern andere geeignete Zugänge vorhanden sind. Je nach Software kommen vorhandene Import- und Exportfunktionen, dateibasierte Verfahren, Erweiterungsmodule oder freigegebene Datenbankzugriffe infrage. Für eigene oder entsprechend erweiterbare Anwendungen können wir eine fehlende API entwickeln. schukai.com

Welche Lösung sinnvoll ist, prüfen wir am vorhandenen System. Ein zuverlässig automatisierbarer Export kann die Aufgabe besser erfüllen als eine aufwendig nachgerüstete API.

Die Grenze liegt dort, wo benötigte Daten oder Funktionen nicht zugänglich sind. Dann muss zunächst geklärt werden, ob der Hersteller eine Erweiterung ermöglicht oder der Ablauf anders umgesetzt werden kann. Wir benennen solche Abhängigkeiten vor der Umsetzung.

Reicht ein fertiger Connector?

Ein Connector ist ein Softwarebaustein, der die Anbindung an ein bestimmtes System übernimmt. Deckt ein vorhandener Connector Ihren Ablauf ab, muss die Verbindung nicht neu entwickelt werden. Microsoft Learn

Zu prüfen sind aber die konkreten Anforderungen. Unterstützt er nur den Kundenimport oder auch Änderungen? Übernimmt er Standardpreise oder ebenso kundenspezifische Konditionen? Verarbeitet er Stornierungen? Wie behandelt er Fehler?

Wir nutzen vorhandene Möglichkeiten und entwickeln dazu, was für Ihren Ablauf fehlt. Das kann eine kleine Erweiterung sein, eine eigene Anbindung oder die Koordination mehrerer Systeme.

Was übernimmt schukai?

API-Entwicklung, Schnittstellenprogrammierung und vollständige Systemintegration: Sie können uns mit einzelnen Aufgaben oder mit der gesamten Umsetzung beauftragen.

APIs entwickeln und erweitern

Wir entwickeln Programmierschnittstellen für Ihre Anwendungen und Backends. Dazu gehören die verfügbaren Funktionen, Datenstrukturen, Zugriffsregeln, Prüfungen und die Dokumentation. Bestehende APIs können wir erweitern, wenn Ihre Software und die verfügbaren Zugriffsrechte dies ermöglichen.

Bestehende Systeme anbinden

Wir programmieren Anbindungen, richten Datenübertragungen ein und setzen die benötigten Zuordnungen und Umwandlungen um. Das betrifft beispielsweise Shops, Warenwirtschaft, Kundenverwaltung, Buchhaltung, Versanddienste und individuelle Fachanwendungen. Die konkrete Anbindung entwickeln wir auf Grundlage der verfügbaren Schnittstellen und Ihrer Anforderungen.

Vollständige Abläufe umsetzen

Wir übernehmen die fachliche Klärung und entwickeln die Logik zwischen den Systemen: Auslöser, Verarbeitungsschritte, Rückmeldungen, Wiederholungen und Fehlerbehandlung. Fehlt eine Oberfläche, in der Ihre Mitarbeiter Vorgänge prüfen oder freigeben können, entwickeln wir auch diese. schukai.com

Einführung, Wartung und Betrieb übernehmen

Wir testen die vereinbarten Abläufe einschließlich relevanter Fehlerfälle, begleiten die Einführung und dokumentieren die Lösung. Auch Wartung, Überwachung und Betrieb können Sie an uns übertragen. Zuständigkeiten und Leistungsumfang legen wir passend zu Ihrem Vorhaben fest.

Unser Angebot ist nicht auf Shopcloud oder Workspace beschränkt. Wir verbinden auch bestehende Anwendungen anderer Hersteller. Sie müssen dafür nicht erst ein schukai-Produkt einführen.

Welche Systeme sollen bei Ihnen zusammenarbeiten?

Beschreiben Sie, welche Programme Sie einsetzen, welche Daten heute von Hand übertragen werden und was künftig automatisch passieren soll.

Wir klären mit Ihnen, ob vorhandene Schnittstellen ausreichen, eine API ergänzt werden muss oder mehrere Systeme zu einem durchgängigen Ablauf verbunden werden sollen. Anschließend übernehmen wir die passende Umsetzung.

Sie beschreiben das Vorhaben. Wir kümmern uns um die Verbindung.

Ein fertiges Lastenheft brauchen Sie nicht.