Software-Engineering: Best Practices für Software-Systemschnittstellen
Schnittstellen überwinden Grenzen zwischen Softwaresystemen. Auf dem Weg von der Konzeption bis zum produktiven Einsatz kann jedoch eine Menge schiefgehen.

- Andreas Walter
Schnittstellen zwischen Softwaresystemen bilden die Nervenbahnen jedes Systemverbunds. Nur mit ihnen ist eine systemübergreifende Automatisierung von Prozessen möglich. Schnittstellen sind jedoch fachlich, technisch und organisatorisch komplex. Daher ist das Risiko von Fehlern, Missverständnissen und zeitlichen Problemen auf dem Weg von der Konzeption bis zum produktiven Betrieb groß. Mit grundlegenden Maßnahmen, die dieser Artikel darstellt, kann man diese Risiken jedoch erheblich mindern. Die beschriebenen Maßnahmen sind in unterschiedlichen Vorgehenskontexten und für verschiedene Arten von Systemen anwendbar.
Jedes System dient einem bestimmten fachlichen Zweck und ist logisch und technisch von anderen Systemen abgegrenzt. Zudem besitzt es eine organisatorische Zugehörigkeit, denn für seine Entwicklung und seinen Einsatz sind bestimmte Personen oder organisatorische Einheiten zuständig und verantwortlich. Ob es sich bei dem System konkret um einen Monolithen, einen oder mehrere Microservices oder etwas anderes handelt, ist hier unerheblich – entscheidend ist, dass das System von anderen Systemen abgegrenzt ist. Schnittstellen überwinden die fachlichen, technischen und organisatorischen Grenzen zwischen Systemen. Dadurch können die Schnittstellenpartner, also die beteiligten Systeme, Informationen austauschen und einen gemeinsamen Zweck erfüllen.
- Will man seine Softwaresysteme über Schnittstellen mit anderen Systemen kommunizieren lassen, so bedarf es einer guten Planung, damit Kosten und Zeitplan nicht explodieren.
- Neben technischen Aspekten sind auch fachliche und organisatorische Faktoren zu berücksichtigen und die entsprechenden Entscheidungsträger einzubinden.
- Eine Checkliste hilft bei Analyse, Umsetzung und Produktivsetzung.
Auf dem Weg von der Konzeption bis zum produktiven Einsatz einer Schnittstelle kann eine Menge schiefgehen. Zum Beispiel kann sich bei der Integration der Schnittstellenpartner herausstellen, dass die Entwickler die für die Schnittstelle vorgesehenen Nachrichteninhalte unterschiedlich interpretiert haben. Das macht Änderungen an Schnittstellenspezifikationsdokumenten und an der Implementierung in einem oder mehreren Systemen erforderlich, die zusätzliche Kosten und Verzögerungen mit sich bringen.
Das war die Leseprobe unseres heise-Plus-Artikels "Software-Engineering: Best Practices für Software-Systemschnittstellen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.