Trennung von Schnittstellen

Mal angenommen es gibt 4 Systeme, die über eine Datei als Schnittstelle miteinander gekoppelt sind. Jedes der 4 Systeme kann schreibend oder lesend darauf zugreifen.

Problematisch sind dabei nicht die verschiedenen Systeme, sondern dass von allen eine Schnittstelle verwendet wird. Wenn also ein System eine Änderung an der Schnittstelle benötigt, sind alle anderen Systeme ebenfalls betroffen. Dass dadurch die Wartbarkeit beinahe bei 0% liegt, macht ein solches Konstrukt die Optimierung von Prozessen fast unmöglich.

Fraglich ist bei einem solchen Konstrukt, ob es überhaupt fachlich Sinn macht. Aus meiner Sicht kann das in der Regel nicht so sein, weil es ja einen Grund hat, warum es verschiedene Systeme sind. Dieser Grund kann dann auch nur fachlich sein, weil die Systeme verschiedene Funktionalitäten implementieren.

Funktionalitäten haben wiederum in der Regel unterschiedliche Anforderungen. Das kann insbesondere auch die Granularität der zu liefernden Daten betreffen. Durch die eine Datei als Schnittstelle muss diese Granularität an das System angepasst werden, das die niedrigste Aggregation der Daten benötigt.

Die Zeit, die vielleicht bei der Implementierung durch nur eine Schnittstelle gespart wurde, geht natürlich spätestens bei einer eventuell nötigen Optimerung verloren. Noch mehr Zeit geht verloren, wenn bis dahin wegen Schnittstellenänderungen alle 4 Systeme angepasst werden müssen.

Natürlich kostet es Zeit, verschiedene Schnittstellen zu implementieren. Wenn man sich die Zeit also nimmt, spart man sich langfristig Zeit und kann bei notwendigen Änderungen schneller reagieren und auf Absprachen zwischen vielen Systemen verzichten.


Kommentare oder Kontakt gern über Twitter oder die anderen Plattformen.