Ping-Pong spielen

Schnittstellen zwischen Systemen, sind heute as A und O vieler Systeme. Gerade für Geschäftsanwendungen ist der Datenaustausch mit anderen Systemen ein zentraler Leistungsaspekt. Doch wie kann sichergestellt werden, daß alle Systeme erreichbar sind? Bei direkt gekoppelten Schnittstellen mit einem synchronen Aufruf kein Problem. Doch was kann tun, wenn die beteiligten Systeme nur indirekt und asynchron kommunizieren können? ping zeigt und hier den Weg auf.

In vielen Fällen tauschen Systeme nicht direkt aus, sondern über Drittsysteme wie E-Mail oder FTP. Diese Systeme fungieren dann als Relay und leiten die Nachricht an den eigentlichen Empfänger oder an ein weiteres Relay-System weiter. Das Problem ist, daß der Sender ab der Übergabe an ein Relay-System nichts mehr über den Zustellstatus der Nachricht weiß. Fire and forget. Daher ist es bewährt und erprobt ein Acknowledge für empfangene Nachrichten zu schicken. So kann der Sender feststellen, ob seine Nachricht empfangen wurde.

Was ist aber, wenn einfach nur festgestellt werden soll, ob einen Nachricht empfangen werden kann, also ob der Transportweg funktioniert? In Geschäftsanwendungen ist der Nachrichtenaustausch meist an Fachprozesse gebunden. Daher ist es nicht sinnvoll einfach zum Test eine Nachricht zu verschicken, soll auf der Empfangsseite keine Aktion ausgelöst werden. Doch wie kann der Transportweg anders getestet werden?

ping ist ein kleines Programm aus Unix-Urzeiten, mit dem die Erreichbarkeit von Rechnern in Netzwerken überprüfen läßt. Dafür verschickt es eine ICMP-Echo-Nachricht an einen Rechner und erwartet eine Antwort von diesem System, auch Pong genannt. Erhält ping keine Antwort, ist davon auszugehen, daß der Rechner nicht erreichbar ist.

Das gleiche Prinzip kann für Fachanwendungen genutzt werden. Hierzu muß lediglich eine eigene Ping-Nachricht für die Systemschnittstellen definiert werden, wobei folgende Anforderungen zu erfüllen sind:

  • Ihre Übermittlung muß vom Zielsystem quittiert werden.
  • Sie muß den gleichen Transport-Mechanismus durchlaufen wie die eigentlichen Nachrichten.
  • Sie darf keinen fachlichen Prozess auf der Empfängerseite auslösen.

So definiert, steht ein universelles Werkzeug bereit, um den Nachrichtenaustausch leicht und zuverlässig testen zu können.

Tags: , , , , ,

Hinterlasse eine Antwort

Du musst angemeldet sein, um einen Kommentar zu schreiben.