Systemintegration

Die Systeme verbinden, für die Sie ohnehin schon bezahlen

Ich verbinde die Systeme, die Sie bereits betreiben, damit die manuelle Doppelarbeit wegfällt: dieselbe Information wird nicht mehr in zwei Programme getippt, und niemand streitet mehr darüber, welche Fassung stimmt.

OnlineshopREST
ERPSOAP
BuchhaltungREST
LieferdienstREST
ZahlungsanbieterHOOK
Eine Quelle der WahrheitNichts zweimal getipptNichts geht bei Ausfall verlorenSpäter austauschbar
In Stunden, nicht Wochenbis zum ersten greifbaren Ergebnis, je nach Komplexität Stunden bis Tage
Preis pro Projektfestgelegt, sobald wir sehen, was Ihre Systeme zulassen
Auf Austausch gebautein Anbieter kann wechseln, ohne dass alles neu entwickelt wird

Kommt Ihnen bekannt vor

Das brauchen Sie, wenn

  • Dieselben Kundendaten werden zweimal erfasst, im ERP und im Onlineshop, von zwei Personen.
  • Jemand exportiert eine CSV-Datei aus dem ERP und tippt sie von Hand in die Buchhaltung.
  • Zwei Systeme widersprechen sich, und niemand weiss, welches recht hat.
  • Ein Programm, für das Sie zahlen, wird kaum genutzt, weil nichts dort ankommt.
  • Sie erfahren, dass etwas nie angekommen ist, wenn ein Kunde danach fragt.

Arten von Verbindung

Sechs Wege für den Datenaustausch zwischen Ihren Systemen

Welcher davon richtig ist, hängt davon ab, was Ihre Systeme zulassen und wer was ändern können soll. Das entscheiden wir in der Beratung, bevor etwas gebaut wird, nicht danach.

Schnittstellen in eine Richtung

Daten wandern von einem System in ein anderes, nach Zeitplan oder bei einem Ereignis.

Beidseitiger Abgleich

Beide Seiten dürfen ändern, und eine Regel entscheidet, welche gewinnt.

Direktabfragen

Ein Wert wird gegen das andere System geprüft, im Moment der Eingabe.

Massenimporte

Historie einmal übernommen und bereinigt, ohne dass jemand sie abtippt.

Ereignismeldungen

Das andere System meldet sich in Echtzeit, in dem Moment, in dem etwas passiert, statt dass wir nachfragen.

Exporte

Ihre Daten gehen in einem Format hinaus, das ein anderes System oder eine andere Entwicklerin lesen kann.

GET/ordersauflisten, was hereinkam
POST/orderseinen anlegen
PUT/stock/{sku}einen Lagerstand ändern
POST/invoicesein Dokument ausstellen
GET/deliveries/{id}wo das Paket ist
POST/hooks/statusdie Gegenseite meldet sich

Nur ein Beispiel. Was eine Verbindung anbietet, hängt von den beteiligten Systemen ab.

Eine Quelle der Wahrheit

Führen zwei Systeme dieselbe Angabe, entscheidet eines davon

Die meisten Integrationsprobleme sind nicht technisch. Sie beginnen, wenn niemand gesagt hat, ob das ERP oder der Onlineshop bei einer Kundenadresse, einem Preis oder einem Lagerstand recht hat, und beide ändern ihn weiter.

  • Für jede gemeinsame Angabe ist ein System die Quelle, die anderen folgen
  • Konflikte werden nach einer Regel entschieden, die Sie vereinbart haben, nicht danach, wer zuletzt gespeichert hat
  • Die Regel steht schriftlich fest, in Worten, bevor etwas gebaut wird
  • Wo eine Tatsache an zwei Stellen änderbar sein muss, ist das eine Entscheidung, kein Versehen
Geteilte TatsacheEntschieden von
KundendatenQuelle
Preise und KonditionenQuelle
LagerständeFolgt
BestellstatusFolgt
RechnungsnummernNur lesend

Bei der Eingabe geprüft

Falsche Daten werden beim Tippen erkannt, nicht Monate später

Eine Nummer, ein Registereintrag, eine Kundenreferenz: sie lässt sich gegen das System prüfen, dem sie gehört, in dem Moment, in dem jemand sie eingibt, statt aufzufallen, wenn eine Rechnung zurückkommt.

  • Beim Tippen geprüft, gegen das System, dem die Antwort gehört
  • Eine klare Meldung, wenn es nicht passt, in Worten, nicht als Code
  • Nichts wird halb richtig gespeichert und wartet darauf, später gefunden zu werden
  • Kann die Prüfung nicht laufen, erfährt die Person das, statt dass der Wert stillschweigend durchgeht

Ein Wert, geprüft

Getipptvon einer Person
Geprüftgegen den Eigentümer
Angenommenoder erklärt
Passte zum RegisterAngenommen
Passte nichtErklärt
Register nicht erreichbarMarkiert

Wenn die Gegenseite ausfällt

Nichts geht verloren, weil jemand anderes eine Störung hatte

Die Drittsysteme, mit denen Sie verbunden sind, werden manchmal nicht erreichbar sein. Das ist normal. Nicht normal ist, die Arbeit zu verlieren, die gerade unterwegs war, oder Wochen später zu erfahren, dass ein Tag an Daten nie angekommen ist.

  • Was nicht zugestellt werden kann, wird gehalten, in der Reihenfolge, nicht verworfen
  • Es wird erneut gesendet, sobald die Gegenseite zurück ist, ohne dass jemand abtippt
  • Eine Person erfährt davon, wenn der Ausfall länger dauert als vereinbart
  • Sie sehen, was wartet, und seit wann

Worauf Sie schauen können, wenn etwas schiefgeht

09:14:02INFOPOST /orders/sync 201 118ms

09:14:02INFOorder 4417 queued for accounting

09:14:03INFOaccounting accepted 4417 204 96ms

09:15:11WARNdelivery timeout after 5000ms, holding 3 items

09:15:11INFOretry 1/5 scheduled in 30s

09:15:41ERRretry 1/5 failed, connection refused, still holding

09:15:41INFOalert sent, queue depth 3

09:23:07INFOdelivery responding again 200 142ms

09:23:07INFO3 held items sent in order, 0 dropped

09:23:08INFOqueue empty, nothing retyped

Dieselbe Sache, zweimal

Eine Nachricht, die zweimal ankommt, erzeugt nicht zwei Bestellungen

Systeme wiederholen sich. Eine Ereignismeldung wird erneut ausgelöst, ein Wiederholungsversuch gelingt doch noch, jemand drückt zweimal. Schlecht behandelt, endet ein Kunde so mit zwei Rechnungen für eine Lieferung.

  • Dasselbe Ereignis, zweimal empfangen, hat die Wirkung von einem
  • Jede Nachricht trägt eine Identität, sodass eine Wiederholung erkannt wird
  • Signaturen werden geprüft, sodass nur dem echten Absender geglaubt wird
  • Das Duplikat wird protokolliert, nicht stillschweigend weggeworfen

Das Ereignis, beim ersten Mal

{

"event_id": "evt_8f21c4",

"type": "order.confirmed",

"order_id": 4417,

"signature": "verified",

"applied": true

}

Dasselbe Ereignis, erneut

{

"event_id": "evt_8f21c4",

"applied": false,

"reason": "already applied",

"orders_created": 1

}

Ein Wechsel ist möglich

Eine Verbindung, von der Sie sich lösen können

Anbieter ändern sich: Preise steigen, ein Dienst wird eingestellt, Sie finden einen besseren. Ein Best-of-Breed-Aufbau hält nur, wenn jedes Stück für sich austauschbar bleibt, also wird jede Verbindung hinter ihrer eigenen Grenze gebaut, sodass ein Austausch ein Stück Arbeit ist und keine Neuentwicklung Ihres Geschäftsablaufs.

  • Geschäftsregeln leben in Ihrem System, nicht in der Verbindung
  • Ein Anbieter kann ersetzt werden, ohne den Rest anzufassen
  • Was wie verbunden ist, steht schriftlich fest
  • Zugangsdaten gehören Ihnen, in Ihren Konten, vom ersten Tag an

Was Ihnen bleibt

Die Verbindung

Ein Anbieter, eine Grenze

Für sich allein ersetzbar

Keine Geschäftsregeln darin

Dokumentiert, nicht erinnert

Ihnen gehört ohnehin

Die Regeln Ihres Geschäfts

Die Daten auf beiden Seiten

Die Konten und Zugangsdaten

Der Quellcode

Wie es läuft

Von Datensilos, die nichts voneinander wissen, zu einem Stand, der überall stimmt

  1. Sehen, was erlaubt ist

    Was jedes System anbietet, was es verweigert, und welchen Zugang Sie tatsächlich haben. Damit ich hineinsehen darf, unterschreibe ich vorher eine Geheimhaltungsvereinbarung.

  2. Regeln vereinbaren

    Welche Seite worüber recht hat, und was passiert, wenn sie sich widersprechen.

  3. Bauen und testen

    Zuerst gegen die Testumgebung der Gegenseite, nie direkt auf Echtdaten. Die Verbindung selbst läuft über eine eigene Middleware mit Sicherheitsschichten, auf einem VPS mit VPN-Tunnel.

  4. Beobachten, dann laufen lassen

    Es läuft auf echten Zugriffen, während noch jemand hinsieht, bevor man ihm traut.

Wie viel

Was den Preis bestimmt

Preis pro Projektfestgelegt, sobald wir gesehen haben, was Ihre Systeme zulassen. Eine Verbindung, die einen Wert liest, und ein beidseitiger Abgleich über drei Systeme sind nicht dieselbe Arbeit.
Drei Dinge bewegen ihnwie viele Systeme beteiligt sind, ob sie eine brauchbare Schnittstelle haben, und wie viel Historie zu Beginn übernommen werden muss.

Fragen

Häufige Fragen

Welche Systeme können Sie verbinden?

Grundsätzlich jedes System, das einen Weg hinein anbietet: ERP, CRM, Buchhaltung und Fakturierung, Kuriere, Zahlungsanbieter wie Stripe, E-Mail. Welche Ihrer Systeme dazugehören, ist eines der ersten Dinge, die wir herausfinden, weil es sowohl entscheidet, was möglich ist, als auch, was es kostet. An WordPress, WooCommerce oder PrestaShop schliesse ich an, wenn eine dokumentierte Schnittstelle da ist. Ich baue und betreibe darauf aber nicht.

Was, wenn mein System keinen Weg hinein hat?

Dann sehen wir, was es sonst anbietet: einen geplanten CSV-Export, eine SQL-Datenbank, die wir lesen dürfen, eine Datei, die es auf einem Server ablegen kann. Gibt es auch das nicht, sage ich das, statt etwas Brüchiges zu bauen, das beim ersten Bildschirmwechsel der Gegenseite kaputtgeht.

Was kostet es?

Das erste Gespräch ist kostenlos, und es gibt keinen bezahlten ersten Schritt zum Festpreis. Der Preis wird pro Projekt festgelegt, sobald wir gesehen haben, was Ihre Systeme zulassen. Drei Dinge bewegen die Zahl: wie viele Systeme beteiligt sind, ob sie eine brauchbare Schnittstelle haben, und wie viel Historie zu Beginn übernommen werden muss.

Was bekomme ich, bevor etwas gebaut wird?

Eine Dokumentation pro Anwendung: welche Daten darin liegen, womit sie verbunden ist, wie ihre Schnittstellen abgesichert sind, und die Risiken, benannt statt angedeutet. Dazu Diagramme, von der Flughöhe bis hinunter zu den Beteiligten im einzelnen Prozess. Wie fein das wird, entscheiden Sie. Die Offerte kommt danach, nicht davor.

Was brauchen Sie von mir?

Zugang zu den beteiligten Systemen, und eine Person, die entscheiden darf. Bevor ich Zugang bekomme, unterschreibe ich eine Geheimhaltungsvereinbarung, damit schriftlich geregelt ist, wer in Ihre Systeme hineinsieht, statt dass es auf Vertrauen beruht. Woran es sonst hakt, ist fast immer eines von zweien: der Zugang kommt nicht, oder Entscheidungen dauern.

Was, wenn die Daten heute nicht zusammenpassen?

Das ist der normale Ausgangspunkt, und es ist besser, das vorher zu wissen als nachher. Ein Teil der Arbeit besteht darin, zu entscheiden, was mit den Datensätzen passiert, die sich widersprechen: welche Fassung gewinnt, was korrigiert wird, und was in Ruhe gelassen wird, weil es Historie ist.

Was passiert, wenn die Gegenseite ausfällt?

Was nicht zugestellt werden kann, wird der Reihe nach gehalten und erneut gesendet, sobald die Gegenseite zurück ist. Eine Person erfährt davon, wenn der Ausfall länger dauert als vereinbart. Sie sehen, was wartet und seit wann, sodass niemand raten muss.

Wem gehört die Verbindung, wenn ich gehe?

Ihnen. Die Konten und Zugangsdaten gehören Ihnen vom ersten Tag an, der Quellcode gehört Ihnen, und wie alles verbunden ist, steht schriftlich fest statt in jemandes Kopf. Jede Verbindung sitzt hinter ihrer eigenen Grenze, sodass eine andere Entwicklerin eine davon ersetzen kann, ohne den Rest anzufassen.

Welche zwei Systeme sollen aufhören, sich zu widersprechen?

Der erste Schritt ist herauszufinden, was sie uns überhaupt erlauben.

Verbindung besprechen