Alle Ihre Systeme sind miteinander vernetzt. Alle Daten gehen ein. Nur … nicht immer in der richtigen Reihenfolge!?

Erfahren Sie, warum API-Verbindungen allein nicht ausreichen und wie eine intelligente Warteschlange die Abläufe zwischen Exact-Anwendungen überwacht.

6 Minuten Lesezeit

In diesem Artikel

Auf dem Papier sieht es perfekt aus.

Ihr Webshop ist mit Exact verknüpft. Ihr WMS ist mit Exact verknüpft. Ihr CRM-, PIM- oder Produktionssystem tauscht Daten mit Exact aus.

Die APIs funktionieren. Die Verbindungen bestehen. Die Daten gehen ein.

Und dennoch kann der Prozess ins Stocken geraten.

Warum?

Da verschiedene Anwendungen nicht automatisch erkennen, in welcher Reihenfolge ein anderes System die Daten benötigt.

Und dieses Problem gewinnt zunehmend an Bedeutung, je mehr sich Unternehmen für eine „Best-of-Breed“-Strategie* entscheiden.

 

Jedes System hat seine eigene Realität

„Best-of-Breed“ ist eine logische Wahl.

Anstatt ein einziges Softwarepaket für alle Aufgaben zu verwenden, wählen Sie für jeden Geschäftsprozess die Anwendung, die dafür am besten geeignet ist.

Ein spezialisiertes WMS für das Lager. Ein CRM für den Vertrieb. Ein PIM für Produktinformationen. Ein Webshop für den E-Commerce. Eine Anwendung für die Planung oder Produktion.

Und Exact als finanzielles oder ERP-Herzstück des Unternehmens.

Jede Anwendung kann für sich genommen hervorragend funktionieren.

Jede Anwendung arbeitet jedoch auch nach ihrer eigenen Prozesslogik und in ihrem eigenen Tempo.

Und hier ergibt sich ein interessantes Problem.

Denn was für System A ein logisch folgendes Ereignis ist, muss für Exact noch lange nicht der nächste Schritt sein.

 

System A ist bereits bei Schritt 3. Exact befindet sich noch bei Schritt 2.

Angenommen, ein Geschäftsprozess besteht aus fünf Schritten:

  1. Bestellung anlegen
  2. Fertigungsvorgang bearbeiten
  3. Auslieferung registrieren
  4. Rechnung erstellen
  5. Bestand aktualisieren

Für den Geschäftsprozess ist diese Reihenfolge von entscheidender Bedeutung.

Schritt 3 kann von Schritt 2 abhängen. Und Schritt 4 kann erst ausgeführt werden, wenn Schritt 3 erfolgreich abgeschlossen wurde.

Technisch gesehen kann es sich jedoch um einzelne Ereignisse oder API-Aufrufe handeln.

Die externe Anwendung läuft unterdessen wie gewohnt weiter.

Schritt 1 wird versendet. Schritt 2 wird versendet. Schritt 3 steht bereits bereit.

Die Anwendung kann dann im Grunde genommen sagen:

“Hier ist Schritt 3.”

Während Exact noch erklärt:

“Einen Moment bitte. Ich bin noch mit Schritt 2 beschäftigt.”

Technisch gesehen macht niemand etwas falsch.

Die sendende Anwendung übermittelt die Daten. Die API empfängt die Nachrichten. Exact verarbeitet die Aufträge.

Allerdings erkennen die Systeme die Reihenfolge der anderen Systeme nicht automatisch.

 

Eine API-Anbindung löst dieses Problem nicht von selbst

Dies ist ein wichtiger Unterschied.

Mit einer API stellen Sie eine technische Verbindung zwischen zwei Systemen her.

System A könnte beispielsweise gegenüber Exact Folgendes sagen:

Erstellen Sie diesen Auftrag

Und Exact kann darauf reagieren.

Eine API weiß dadurch jedoch nicht automatisch, wie der gesamte Geschäftsprozess zwischen beiden Systemen aussieht.

Welche Transaktion muss zuerst durchgeführt werden?

Darf der nächste bereits ausgeführt werden?

Wurde die vorangegangene Transaktion tatsächlich erfolgreich verarbeitet?

Was ist zu tun, wenn Exact vorübergehend nicht reagiert?

Und was geschieht mit den Schritten 4 und 5, wenn Schritt 3 fehlschlägt?

Das sind keine Fragen zu einem einzelnen API-Aufruf.

Das sind Fragen zur Prozesslogik und zur Integrationsarchitektur.

 

Vom Datenauswurf zur kontrollierten Verarbeitung

Bei einer technischen Besprechung bei Sense-Cloud trat dieses Problem kürzlich sehr deutlich zutage.

Verschiedene Anwendungen können ihre Ereignisse an Exact senden, doch irgendwo muss überwacht werden, was wann verarbeitet werden darf.

Die Lösung lässt sich eigentlich überraschend einfach erklären:

Richten Sie eine intelligente Warteschlange zwischen der Anwendung und Exact ein.

Anstatt jedes Ereignis sofort weiterzuleiten, werden die eingehenden Aktionen zunächst erfasst.

Die Warteschlange überwacht anschließend die Verarbeitung:

empfangen → sortieren → bearbeiten → prüfen

Die Frontend-Anwendung muss daher nicht alle internen Abhängigkeiten von Exact kennen.

Die Anwendung kann ihre Ereignisse übermitteln.

Die Integrationsschicht sorgt dafür, dass sie kontrolliert und in der richtigen Reihenfolge an Exact weitergeleitet werden.

 

Stellen Sie sich das wie den Verkehr an einer belebten Kreuzung vor

Ohne Verkehrsregelung könnten technisch gesehen alle Fahrzeuge die Kreuzung erreichen.

Das ist nicht das Problem.

Das Problem entsteht, wenn alle gleichzeitig beschließen, weiterzufahren.

Eine Warteschlange erfüllt in einer Integration eigentlich eine vergleichbare Funktion.

Es gehen Daten aus verschiedenen Prozessen ein.

Aber nicht alles muss sofort weitergehen.

Zunächst diese Transaktion.

Haben Sie bestanden?

Dann der nächste.

Danach der nächste.

Auf diese Weise wird aus einer Abfolge einzelner technischer Vorgänge wieder ein kontrollierter Betriebsprozess.

 

Und was ist, wenn ein Schritt misslingt?

Da wird es erst richtig interessant.

Denn eine zuverlässige Integration muss nicht nur dann einwandfrei funktionieren, wenn alles reibungslos verläuft.

Angenommen:

  1. Bestellung anlegen – erfolgreich
  2. Fertigungsvorgang – erfolgreich
  3. Auslieferung – fehlgeschlagen
  4. Rechnung erstellen – bitte warten
  5. Bestand aktualisieren – bitte warten

Dann möchten Sie den gesamten Vorgang sicher nicht noch einmal durchlaufen.

Schritt 1 und 2 sind ja bereits abgeschlossen.

Sie möchten genau wissen, welcher Schritt fehlgeschlagen ist.

Diese Aktion muss sichtbar sein.

Anschließend muss es möglich sein, diese bestimmte Aktion erneut anzubieten, sobald das Problem behoben ist.

Erst danach kann der Rest der Warteschlange weiterbearbeitet werden.

Das bedeutet, dass eine gute Warteschlange nicht nur für eine Reihenfolge sorgt, sondern auch für Aspekte wie:

  • Überwachung;
  • Fehlerbehandlung;
  • Wiederholung;
  • Rückverfolgbarkeit.

Die Warteschlange wird damit weit mehr als nur ein technischer Puffer.

Es handelt sich um einen Mechanismus, mit dem der Geschäftsprozess zwischen verschiedenen Systemen weiterhin kontrollierbar bleibt.

 

Gerade bei „Best-of-Breed“-Lösungen ist dies von Bedeutung

Dies ist die interessante Kehrseite des „Best-of-Breed“-Ansatzes.

Je mehr spezialisierte Anwendungen ein Unternehmen einsetzt, desto mehr eigenständige Prozesse müssen letztendlich miteinander verzahnt werden.

Ein Online-Shop kennt sich bestens mit E-Commerce aus.

Ein WMS verfügt über umfassende Kenntnisse im Bereich der Logistik.

Eine Produktionsanwendung kennt den Produktionsprozess.

Ein CRM-System kennt den Kunden.

Und Exact verfügt über eigene Verwaltungs- und ERP-Prozesse.

Allerdings versteht keines dieser Systeme automatisch die gesamte interne Logik aller anderen Systeme.

Sie kommunizieren über APIs miteinander, doch das bedeutet noch nicht, dass sie die jeweiligen Prozesse des anderen verstehen.

Daher steigt mit jeder zusätzlichen Anwendung nicht nur die Anzahl der Verknüpfungen.

Auch die Notwendigkeit, die Koordination zwischen diesen Verknüpfungen gut zu organisieren, nimmt zu.

 

Das verändert auch die Frage, die Sie bei einer Verknüpfung stellen müssen

Bei einer neuen Integration beginnt man häufig mit:

“Verfügt diese Anwendung über eine API?”

Anschließend:

“Können wir ihn mit Exact verknüpfen?”

Das sind wichtige Fragen.

Doch sie reichen nicht aus.

Es folgt noch eine Frage:

“Wer wird künftig den Ablauf des Verfahrens überwachen?”

Denn wenn verschiedene Systeme Daten jeweils nach ihrer eigenen Logik bereitstellen, muss irgendwo festgelegt werden, was zuerst geschieht, was warten muss und was passiert, wenn etwas schiefgeht.

 

Von der API-Anbindung zur Integrationsschicht

Innerhalb von Sense-Cloud nutzen wir hierfür Clickker und CAS.

Clickker gewährleistet einen standardisierten Zugriff auf Exact.

CAS kann anschließend die Prozesslogik darum herum organisieren, einschließlich Abläufe und Warteschlangen-Funktionalität.

Dadurch entsteht zwischen der Best-of-Breed-Anwendung und Exact eine Ebene, die nicht nur dafür sorgt, dass Daten übertragen werden können, sondern auch dabei helfen kann, zu überwachen, wie und wann diese Daten verarbeitet werden.

Dieser Unterschied ist wichtig.

Denn:

Der Empfang von Daten ist noch kein Prozess.

Die Vernetzung von Systemen ist noch keine Prozesssteuerung.

Und:

Eine funktionierende API bedeutet noch nicht automatisch eine funktionierende Kette.

 

Wenn Sie das nächste Mal eine Anwendung mit Exact verknüpfen…

Fragen Sie daher nicht nur:

Kann diese Anwendung Daten an Exact senden?

Fragen Sie auch:

Wissen Sie Exact, welche Daten zuerst bearbeitet werden müssen?

Weiß die andere Anwendung, wann Exact für den nächsten Schritt bereit ist?

Und wenn beide Systeme dies nicht voneinander wissen:

Wer achtet dann auf die Reihenfolge?

Denn bei einer „Best-of-Breed“-Strategie müssen immer mehr Systeme miteinander kommunizieren.

Alle Daten können technisch einwandfrei übertragen werden.

Aber jemand muss immer noch entscheiden, was zuerst kommt.

APIs verbinden Systeme miteinander. Eine intelligente Warteschlange überwacht den Prozess.

*„Best-of-Breed“ bedeutet, dass ein Unternehmen nicht ein einziges Softwarepaket für alle Bereiche einsetzt, sondern für jeden Geschäftsprozess die beste spezialisierte Anwendung auswählt.

Beispiel: Exact für ERP/Finanzen, ein separates WMS für die Logistik, ein CRM für den Vertrieb und ein PIM für Produktinformationen. Der Vorteil liegt in der Spezialisierung; die Herausforderung besteht darin, dass all diese Systeme anschließend gut miteinander zusammenarbeiten und Daten in der richtigen Reihenfolge austauschen müssen.

Exact Konnektivität

Haben Sie eine Frage zu Ihrer Exact-Umgebung?

Möchten Sie erfahren, wie Ihre Exact-Anwendung besser mit Ihren Anwendungen, Daten oder Prozessen zusammenarbeiten kann? Wir beraten Sie gerne!