Zum Inhalt springen
AtheronLABS

Erkanntes Land: Vereinigte Staaten. Preise werden in US-Dollar angezeigt. Nicht richtig?

Alle Artikel

APIs und Integrationen, erklärt

Was eine API ist, was zu einer Integration gehört, was die Kosten bestimmt und warum Schätzungen für die Verbindung von Systemen öfter danebenliegen als bei anderer Software.

Von Shawn Wilson, Gründer und CEO

Veröffentlicht am · 5 Min. Lesezeit

Auch auf English · Français · Español · اردو

Abstrakte geometrische Blöcke in Blau und Grau, verbunden durch dünne helle Linien, die sich an leuchtenden Knoten treffen, als Sinnbild für getrennte Systeme, die durch Integrationen verbunden sind

Die meisten Unternehmen arbeiten mit mehreren Systemen, die nicht miteinander sprechen. Ihre Buchhaltungssoftware enthält Rechnungen. Ihr CRM enthält Kunden. Ihre Website nimmt Bestellungen an. Jemand überträgt die Daten von Hand von einem ins andere, und die Kopie ist zu spät oder falsch.

Eine Integration ist die Software, die diese Systeme dazu bringt, Daten von selbst auszutauschen. Dieser Artikel erklärt, was eine API ist, was zu einer Integration gehört, was die Kosten bestimmt und warum Schätzungen für diese Art von Arbeit öfter danebenliegen als bei einer neuen App.

Was eine API ist

Eine API (Application Programming Interface, Programmierschnittstelle) ist ein Satz von Regeln, den eine Software veröffentlicht, damit andere Software mit ihr sprechen kann. Statt eines Bildschirms für einen Menschen bietet sie eine Tür für ein Programm. Ein Programm fragt die Bestellungen eines Kunden ab oder weist das andere an, eine Rechnung zu erstellen, und die Antwort kommt in einem strukturierten Format zurück, das eine Maschine lesen kann.

Die meisten modernen Systeme haben eine. Buchhaltungstools, Zahlungsdienstleister, Versanddienstleister, CRMs und Marketingplattformen veröffentlichen alle APIs. Manche sind gut: klare Dokumentation, stabiles Verhalten, eine Testumgebung. Manche sind dünn, schlecht dokumentiert oder ändern sich ohne Ankündigung. Die Qualität der API auf der anderen Seite ist der größte einzelne Faktor dafür, wie lange die Arbeit dauert, und Sie haben keinen Einfluss darauf.

Was eine Integration ist

Eine Integration ist der Code, der zwischen zwei oder mehr Systemen sitzt und deren APIs nutzt, um Daten zu bewegen. Sie besteht aus einigen Teilen:

  • Ein Auslöser: ein Ereignis, etwa eine neue Bestellung, oder ein Zeitplan, etwa jede Stunde
  • Eine Zuordnung: Feld X in System A wird zu Feld Y in System B, wobei Formate, Einheiten und Codes umgewandelt werden
  • Fehlerbehandlung: was passiert, wenn ein System ausfällt, einen Datensatz ablehnt oder etwas Unerwartetes zurückgibt
  • Protokollierung und Benachrichtigungen: damit Sie wissen, was übertragen wurde, was nicht, und warum

Die Zuordnung klingt nach dem schwierigen Teil. Das ist sie meist nicht. In der Fehlerbehandlung steckt der größte Teil der Arbeit, und genau diesen Teil lassen die meisten im Budget weg.

Wo Compliance hineinpasst

Manche Integrationen gibt es, weil eine Vorschrift es verlangt. Steuermeldungen, Lohnabrechnungen, Finanzunterlagen und Identitätsprüfungen bringen alle Regeln mit sich, welche Daten wohin müssen, in welchem Format, und welche Aufzeichnungen Sie darüber führen müssen. Dafür bauen wir Compliance-Software: die Integration plus den Prüfpfad und die Kontrollen, die die Vorschrift verlangt. Der Mechanismus ist derselbe wie bei jeder anderen Integration. Der Unterschied ist, dass ein Fehler rechtliche Kosten nach sich zieht, also müssen Protokollierung und Fehlerbehandlung stärker sein, und das zeigt sich in der Schätzung.

Was die Kosten bestimmt

Wenn wir eine Integration abstecken, zählen einige Dinge mehr als alles andere.

  1. Wie viele Systeme, und wie viele Richtungen. Ein Weg von A nach B ist am einfachsten. Eine Synchronisation in beide Richtungen, bei der jede Seite einen Datensatz ändern kann, verdoppelt die Logik ungefähr und bringt Regeln für Konflikte hinzu.
  2. Die Qualität jeder API. Mit einer dokumentierten API mit Sandbox lässt sich schnell arbeiten. Eine ohne Testumgebung, mit engen Ratenlimits oder seltsamem Verhalten kostet Zeit für die Erkundung, bevor echter Code geschrieben wird.
  3. Volumen und Zeitpunkt. Ein paar Datensätze am Tag sind ein anderes Problem als Tausende pro Minute. Echtzeit ist schwieriger als ein nächtlicher Stapellauf.
  4. Wie sauber die Daten sind. Wenn zwei Systeme denselben Kunden unter verschiedenen Namen und Adressen führen, muss jemand entscheiden, welche richtig ist, und Code muss diese Entscheidung durchsetzen.
  5. Was bei einem Fehler passieren soll. Erneut versuchen, überspringen, zur Prüfung zurückhalten oder alles anhalten. Jede Antwort bedeutet einen anderen Arbeitsaufwand.

Warum Schätzungen danebenliegen

Schätzungen für Integrationen liegen aus bestimmten Gründen daneben.

Das andere System liegt nicht in Ihrer Hand. Bei einer neuen App bestimmt Ihr eigener Code das Verhalten. Eine Integration hängt von Software ab, die jemand anderes gebaut hat, und wie sie sich wirklich verhält, erfahren Sie erst, wenn Sie sie benutzen. Die Dokumentation beschreibt, was die API tun soll. Die Wirklichkeit weicht in kleinen Punkten ab, und jede Abweichung kostet Zeit.

Sonderfälle verstecken sich in alten Daten. Die ersten hundert Datensätze gehen durch. Datensatz hunderteins hat ein Datum in einem Format, mit dem niemand gerechnet hat, oder ein Feld, das vor Jahren stillschweigend umgewidmet wurde.

Der Umfang wächst Feld für Feld. Können wir auch den Rabattcode mitschicken? Jede Anfrage ist klein. Zehn davon sind ein anderes Projekt.

Niemand ist für die Geschäftsregeln zuständig. Wenn zwei Systeme sich widersprechen, welches gewinnt? Wenn das niemand beantworten kann, rät der Entwickler, und die Vermutung ist falsch, und das fällt im Produktivbetrieb auf.

Testen ist schwieriger. Gegen ein laufendes Buchhaltungssystem kann man nicht einfach so testen. Gibt es keine Sandbox, bauen Sie einen Ersatz oder testen sehr vorsichtig gegen das echte System.

So bekommen Sie eine bessere Schätzung

  • Listen Sie jedes beteiligte System auf und ob es eine dokumentierte API und eine Testumgebung hat
  • Ziehen Sie eine Stichprobe echter Daten, auch alte Datensätze, nicht nur aktuelle saubere
  • Entscheiden Sie, welches System die maßgebliche Quelle für Kunden, Produkte, Bestellungen und Zahlungen ist
  • Halten Sie die Fehlerfälle fest und wer benachrichtigt werden soll
  • Beginnen Sie mit einer Richtung und einer Art von Datensatz, dann ergänzen Sie den Rest

Eine Zahl bekommen

Unser Kostenrechner liefert in wenigen Minuten eine Preisspanne auf Basis der aktuellen Preisliste. Er zeigt Entwicklungskosten, monatliche Kosten, Aufwand nach Rolle, einen Zeitplan und jede Annahme hinter der Zahl. Bei Integrationen sind die Annahmen am wichtigsten, denn dort sitzt das Risiko. Lesen Sie sie und sagen Sie uns, welche falsch sind.

Auch die monatlichen Kosten spielen hier eine Rolle. Eine Integration ist nie ganz fertig. APIs ändern sich, Systeme werden aktualisiert, und Daten driften. Ein Festpreis passt, wenn Systeme und Umfang bekannt sind. Ein monatliches Stundenkontingent mit zugesicherter Reaktionszeit passt, um die Integration am Laufen zu halten, sobald sie live ist. Wir bieten beides an, und wir nehmen gerade Projekte an.

// abonnieren

Neue Artikel per E-Mail

Eine E-Mail, wenn ein neuer Artikel erscheint, in deiner Sprache. Wir bestätigen zuerst deine Adresse, und jede E-Mail hat einen Abmeldelink.

Kein Spam. Abmelden mit einem Klick.