Schnittstellenbeschreibung – den System-zu-System-Datenaustausch verbindlich definieren
Management Summary
- Eine IT-Systemschnittstelle ermöglicht und regelt den Ende-zu-Ende-Datenverkehr zwischen zwei Softwareanwendungen der IT-Systemlandschaft.
- Häufig wird die Etablierung einer IT-Systemschnittstelle unterschätzt. Dabei sind die Kosten hoch. Die Entwicklungsaufwände kleiner Schnittstellen starten bei 5.000 Euro, die Verbindungen zu Kernsystemen erreichen rasch einen sechsstelligen Bereich mit Investitionsvolumen von 100.000 Euro und mehr.
- Eine Schnittstellenbeschreibung präzisiert und dokumentiert die IT-Systemschnittstelle. Sie besteht aus einen fachlichen, technischen und organisatorischen Teil. Eine gute Beschreibung senkt die Umsetzungskosten, beschleunigt die Fertigstellung, reduziert das Betriebsausfallrisiko und erhöht die Cyber-Sicherheit.
- Die Schnittstelle samt ihrer Beschreibung entsteht auf Basis eines offiziell verabschiedeten Projektes mit fachlichen und technischen Akteuren.
- Mit zunehmender Digitalisierung von Fachprozessen, dem Wachstum der IT-Systemlandschaft sowie einer steigenden Zahl von Hacking-Angriffen wächst der Stellenwert des professionellen Schnittstellenmanagements. Dieses API Management betrachtet den gesamten Lebenszyklus aller IT-Systemschnittstellen.
Application Landscape Management
In einer IT-Systemlandschaft stecken 2 Mio. Dollar Optimierungspotential.
Wie viel können Sie realisieren?
Bestimmen Sie in weniger als 8 Minuten mit 14 Einzelfragen die Optimierungshebel im Management Ihres Applikationsportfolios.
Was ist eine Schnittstellenbeschreibung?
Eine IT-Systemschnittstelle (auch System-System-Schnittstelle oder engl. System Interface) ist ein geplanter oder bestehender Datenaustausch zwischen zwei Softwareanwendungen. Die Praxis verwendet das Konzept uneinheitlich. Etabliert haben sich drei Perspektiven:
- Verbindungspunkt: Der Fokus liegt auf einem System und seine internen bzw. externen Verbindungsfähigkeiten. Das System offeriert seinen Nachbarsystemen eine Programmierschnittstelle, auch Anwendungsschnittstelle oder Application Programming Interface (API) genannt. Beschreiben Sie einen Verbindungspunkt mit einer Schnittstellenspezifikation (auch API Dokumentation).
- Verbindungstechnik: Hauptaugenmerk ist die Verbindungskomponente (auch Kopplungstechnologie) innerhalb eines IT-Systems bzw. zweier IT-Systeme. Die Komponente ist mittels einem Schnittstellenadapter, einer Integrationsschicht oder einem Bussystem wie einem Enterprise Service Bus (ESB) realisiert. Die Technik fungiert als Übersetzer. Definieren Sie diese Koppelung durch eine Technologiedokumentation.
- Verbindungslösung: Die vollständige Ende-zu-Ende Verbindung von zwei IT-Systemen. Die Systeme tauschen über die Schnittstelle Daten miteinander aus. Spezifizieren Sie die Kommunikation mittels einer Schnittstellenbeschreibung (auch Schnittstellendokumentation).
Systeme der Informationstechnik tauschen ausschließlich Daten miteinander aus. Der Transfer von Stoffen (z.B. Flüssigkeiten, Gasen, Festkörper) oder Energie ist dagegen zwischen mechanischen oder Cyber-physischen Systemen möglich.
Bei einer unidirektionalen Schnittstelle sendet nur ein System an das Andere. Die Kommunikation verläuft von Quell- zu Ziel-System in eine Richtung. Bei einer bidirektionalen Schnittstelle senden und empfangen beide Systeme. Die Kommunikation erfolgt in beide Richtungen, die System agieren jeweils als Quelle und Ziel.
Für das (daten-)sendende IT-System ist die Schnittstelle eine Export-Schnittstelle, für das (daten-)empfangende IT-System eine Import-Schnittstelle. Neben die an seine Nachbaranwendungen bereitgestellten externen Schnittstellen besitzt ein System auch interne Schnittstellen, also Kommunikationsverbindungen zwischen seinen Komponenten (auch Modulen bzw. Subsystemen).
Schließlich erfolgt bei einer direkten Schnittstelle eine automatische Datenübertragung von System zu System. Im Gegenzug erfolgt bei einer indirekten Schnittstelle zunächst ein Export in eine Datei, welcher durch einen Nutzer dann im zweiten Schritt als (veränderter) Import dem empfangenden System bereitgestellt wird.
Fachliche Anforderungen
z.B. Nutzen, Zweck, Daten und Eigenschaften
Technische Realisierung
z.B. Dateiformat, Kommunikationsprotokoll und Netzwerkkonfiguration
Organisatorische Verantwortung
z.B. Zuständigkeiten, Wartungsfenster und Eskalation
Worin besteht der Mehrwert einer Schnittstellenbeschreibung?
Die Schnittstellenbeschreibung unterstützt den gesamten Lebenszyklus einer System-zu-System-Kommunikation von der Entwicklung, über den Betrieb bis zum Ablauf im Fehlerfall. Ein fundiertes Schnittstellendokument verbunden mit einem stringenten Erstellungs- & Pflegeprozess…
- senkt die Umsetzungskosten und beschleunigt die Fertigstellung der Schnittstelle,
- reduziert das Betriebsausfallrisiko des Interfaces und
- senkt das Sicherheitsrisiko ein Opfer von Hacking-Angriffen zu werden.
Bei großen (und meist historisch gewachsenen) IT-Systemlandschaften stellen wir oft fest, dass IT-System-Schnittstellen unbewusst vergessen, versehentlich redundant errichtet bzw. fehlerhaft zirkulär betrieben werden. Es fehlt an Transparenz über die bestehenden System-zu-System-Verbindungen. Die disziplinierte Aufnahme und Dokumentation in Form von Schnittstellenbeschreibungen schaffen Abhilfe.
„Bei den wenigsten IT-Systemschnittstellen gilt das ‚Ganz oder gar nicht‘-Prinzip. Zerlegen Sie die Gesamtverbindung zwischen den beiden Systemen entlang der unterstützten Anwendungsfälle in disjunkte Einzelinteraktionen. Jede sollte einen fachlichen Mehrwert stiften. Entwickeln und veröffentlichen Sie anschließend nacheinander die Interaktionen. Schritt für Schritt wird Ihre Schnittstelle mächtiger.“
Welche fachlichen Details enthält die Schnittstellenbeschreibung?
Definieren Sie zuerst im fachlichen Teil einer Schnittstellenbeschreibung den Zweck und Nutzen (das ‚Wozu‘), die zu übermittelnden Daten (das ‚Was‘) und Güteeigenschaften (das ‚Wie‘) je System-zu-System-Interaktion aus Sicht der Fachbereiche.
Eine IT-Systemschnittstelle bereitzustellen verursacht Kosten. Nicht nur einmalig für die Einrichtung, sondern auch wiederkehrend für Wartung und Weiterentwicklung. Bei Aktualisierung bzw. Änderung einer der beteiligten IT-Systeme bzw. der zu Grunde liegenden Schnittstellentechnologie muss oft auch die Schnittstelle angepasst werden.
Nicht jede Kommunikationsbeziehung zwischen zwei IT-Systemen muss immer vollständig automatisiert werden. Wägen Sie anhand der Datenmengengerüste und der manuellen Import- und Exportaufwände ab und notieren Sie den Business Case im Einleitungskapitel Ihrer Schnittstellenbeschreibung.
Definieren Sie zudem im fachlichen Teil, welche Daten die beteiligten IT-Systeme miteinander je Interaktion austauschen. Wir nutzen dazu eine Satzbeschreibung, d.h. eine Mapping-Tabelle, die zwischen Quelle und Ziel übersetzt. Auf Feldebene spezifizieren Sie fachlich je Interaktion…
- Bezeichnung von Quell- und Zieldatenfeld (eindeutiger fachlicher Name)
- Synonyme (z.B. Abkürzungen, Akronyme, inoffizielle Namen)
- Kurzbeschreibung (z.B. Zweck, Bedeutung, Eigenschaften)
- Strukturmerkmale (z.B. Minimal- und Maximallänge, Startzeichen, Konsistenzregeln)
- Beispiele & Ausprägungsmöglichkeiten (z.B. Statusausprägungen, Wertebereich)
- Abbildungsvorschrift zwischen Quelle und Ziel (z.B. 1:1 Transfer, Übersetzungsfunktion)
Gehen Sie dabei zielorientiert vor. Das empfangende IT-System bestimmt die zu betrachtende Datenfelder. Erörtern Sie zudem Fehlerbilder wie fehlerhafte oder fehlende Daten, falsche Wertebereiche, zu geringe/hohe Datenmengen, inkorrekte Kodierungen, Ausfall der Schnittstellentechnologie oder falsche Aufrufgeschwindigkeiten. Definieren Sie, wie das empfangende IT-System bei diesen Anomalien umgehen soll.
Erarbeiten Sie Güteeigenschaften an eine jede System-zu-System-Interaktion.
- Zu welchem Zeitpunkt erfolgt der Datenaustausch (z.B. jeden Arbeitstag vs. Kalendertag, 1x wöchentlich)?
- Welche Datenmengen muss die Verbindung leisten können (z.B. 10.000 Datensätze pro Arbeitstag, 1 GByte/s)?
- Muss die Kommunikation synchron (sofortige Antwort auf eine Anfrage) oder asynchron (verzögerte Antwort auf eine Anfrage) erfolgen (z.B. kontinuierlich mit max. 1 Sekunde nach Änderung, 1x Batch-Lauf pro Nacht)?
- Mit welcher Performanz soll der Datentransfer erfolgen (z.B. max. 5 Minuten)?
- Welche Sicherheitsvorgaben muss die Schnittstelle genügen (z.B. verschlüsselter Datenaustausch, Datenspeicherung, Zugriffe)?
- Was passiert bei einem Ausfall eines der beteiligten Systeme (z.B. lose Kopplung durch Pufferung, direkte Abhängigkeit wegen enger Kopplung)?
Bei Gesprächen mit den Fachbereichen visualisieren wir die Systemverbindung oft mittels einem UML Kontextdiagramm oder einem UML Kommunikationsdiagramm.
„Oft involviert die Etablierung einer IT-Systemschnittstelle mehrere Fach- und IT-Bereiche. Stellen Sie durch ein offiziell beauftragtes Schnittstellenprojekt sicher, dass die erforderlichen Akteure von Beginn an eingebunden sind und zeitliche Kapazitäten für die Umsetzung mitbringen. Kurze durchorchestrierte Intensiv-Vorhaben stechen langgezogene Endlosunterfangen.“
Welche technischen Details enthält die Schnittstellenbeschreibung?
Auf Grundlage der fachlichen Definition spezifizieren Sie im technischen Teil Ihrer Schnittstellenbeschreibung die technologische Umsetzung der System-zu-System-Verbindung (das ‚Wie‘ und ‚Womit‘).
Präzisieren Sie aus Perspektive der IT…
- die Datenfeldbezeichnung (z.B. Datentyp, Länge, Reguläre Ausdrücke)
- das Austauschdateiformat (z.B. DBF, TXT, CSV, XML, proprietär)
- das Kommunikationsprotokoll (z.B. HTTPS, SSH, FTP)
- das Übermittlungskomponenten (z.B. Enterprise Service Bus, Adapter, Message-Oriented-Middleware)
- den Schnittstellentyp (z.B. REST, SOAP, Rechner-Verbund-System, Message Queuing, Datenbank View)
- den Programmcode (z.B. Export-Skripte, Import-Routinen samt Pfadnamen)
- die Ressourcenzugänge (z.B. Server-IP-Adresse & Port, IT-System-Nutzer, Firewall-Freischaltungen)
- die Sicherheitsaspekte (z.B. Verschlüsselungstechnik, Identifizierung, Authentifizierung)
Einigen Sie sich, ob die Abbildungen der Datensätze im Quell- bzw. Ziel-System oder von einem separaten System (z.B. Schnittstellenadapter) übernommen wird.
Hilfreich im Dialog mit den IT-Entwicklern ist eine an das UML Komponentendiagramm angelehnte Darstellung. Aus unserer Sicht einfacher verständlich also die Lolipop-Notation ist der Einsatz von Datenflusspfeilen. Diese zeigen eindeutig die Kommunikationsrichtung an.
„Verwenden Sie für die Schnittstellenbeschreibung eine standardisierte Dokumentenvorlage. Dieser Styleguide stellt die Vollständigkeit und Einheitlichkeit sicher und gibt beim Dokumentieren Orientierung. Ein Leser wiederum findet in einer bekannten Vorlage rasch die gesuchten Schnittstellendetails. Nehmen Sie die fertiggestellte Schnittstellenbeschreibung in den Schnittstellenkatalog auf.“
Welche organisatorischen Details enthält die Schnittstellenbeschreibung?
Im organisatorisch Teil Ihrer Schnittstellenbeschreibung halten Sie die zuständigen Personen für…
- die beteiligten IT-Systeme,
- die Schnittstellentechnologie
sowohl auf fachlicher als auch technischer Seite fest (das ‚Wer‘). Zudem vereinbaren Sie die Kommunikations- und Eskalationswege. Fixieren Sie ebenfalls den Umgang mit Wartungsfenstern und Downtimes sowie das Änderungsmanagement bei Updates und Upgrades.
Machen Sie aus der Beschreibung einen IT-Systemschnittstellenvertrag (auch Schnittstellenkontrakt oder Schnittstellenvereinbarung), indem Sie das Dokument von den Beteiligten offiziell abzeichnen lassen.
Sollte sich bei dem von ihnen verantworteten System oder der Schnittstellentechnologie etwas ändern bzw. zwingen äußere Faktoren zu Anpassungen (z.B. Hacking-Angriffe), sind diese Akteure verpflichtet die Auswirkungen auf die Schnittstelle abzuleiten und notwendige Anpassungen zu veranlassen.
„Schnittstellen zu IT-Systemen von Dienstleistern, Zulieferern und Partnerfirmen sollten Sie sehr sorgfältig beschreiben und die Verantwortlichkeiten explizit festzurren. Deklinieren Sie insbesondere mögliche externe Angriffsszenarien durch. Sobald beide Seiten – fachlich wie auch technisch – der Schnittstellenbeschreibung zugestimmt haben, fungiert das Dokument als Vertrag.“
Wie lässt sich eine Schnittstelle samt Beschreibung erstellen?
Konzipieren, entwickeln und aktivieren Sie eine System-zu-System-Schnittstelle auf Grundlage eines dedizierten Business-IT-Projektes. Beachten Sie, dass die beteiligten Schnittstellenpartner ihre individuellen fachlichen bzw. technischen Sprachwelten, Abteilungs- bzw. Projektziele, Linien- bzw. Projektaufgaben sowie Budgets bzw. Zeiteinschränkungen besitzen.
Holen Sie sich das Mandat der Führungskräfte und Projektleiter für den Einsatz ihrer Systemexperten zum Aufbau der Schnittstelle ein. Vereinbaren Sie ein festes Korsett von Arbeitsterminen. Nachfolgend unser 5-Phasiges Vorgehensmodell zur Entwicklung von Schnittstellen.
Bekanntlich sagt ein Bild mehr als 1.00 Worte. Visualisieren Sie IT-Systemschnittstellen mit Hilfe geeigneter Modellierungssprachen. Eine Auswahl der von uns verwendeten Darstellungstypen.
- Nutzen Sie das Kontextdiagramm der Unified Modelling Language (UML) für die Verbildlichung von gerichteten Datenflüssen zwischen Systemen.
- Das UML Komponentendiagramm mit seiner Lollipop Notation zeigt angebotene und genutzte Funktionen bzw. Datenobjekte auf.
- Der ArchiMate Application Cooperation Viewpoint visualisiert die zwischen Systemen ausgetauschten Datenobjekte.
UML ist eine Sprache für die Spezifikation von Software bzw. Software-Systemen, nicht zur Spezifikation von IT-Systemen bzw. deren Schnittstellen. Dennoch ist gerade das Kontextdiagramm ein aus unserer Sicht sehr nützlicher Darstellungstypus für Inter-System-Schnittstellen.
„Prüfen Sie, ob in Ihrer Branche Standards für den Datenaustausch zwischen Systemen existieren. So definiert der Standard BMEcat vom Bundesverband Materialwirtschaft, Einkauf und Logistik den Austausch von elektronischen Katalogen. Das Brancheninstitut für Prozessoptimierung bietet Normen zur elektronischen Abwicklung von Geschäftsprozessen in der Versicherungsbranche.“
Fazit
In digitalen Zeiten steigt die Zahl und die Bedeutung von IT-Systemen in Unternehmen. Ganz automatisch wachsen damit auch der Bedarf und Stellenwert von IT-Systemschnittstellen. Starteten IT-Initiativen für Unternehmen bis weit in die 1990er Jahren oft auf der grünen Wiese (Stichwort: Greenfield-Ansatz), sind IT-Projekte heute auch immer Integrationsprojekte.
Die Entwicklung einer Schnittstelle ist eine Investition. Kleine Verbindungen starten bei 5.000 bis 10.000 Euro, komplizierte Datenbrücken zu Kernsystemen wie CRM, ERP oder Finance liegen im sechsstelligen Investitionsrahmen.
Stellen Sie mittels einer durchdachten Schnittstellenbeschreibung sicher, dass die erforderliche Systemverbindung rasch entwickelt, effizient gewartet, einfach ausgebaut und systematisch geschützt werden kann. Etablieren Sie für Ihre IT-Systemlandschaft ein Schnittstellenmanagement, neudeutsch API Management. Für jedes IT-System und jede Einzelverbindung besteht Klarheit über den Datenverkehr mit seinen Nachbarsystemen.
Ebenfalls interessant
Schatten-IT – versteckte IT erkennen und wirkungsvoll eindämmen
Was ist Schatten-IT? Und wie lässt sich Shadow IT wirkungsvoll eindämmen? Wichtige Fakten und Ansätze für IT-Leiter und technische Entscheider.
Die IT-Strategie – erstellen, beschließen und erfolgreich verankern
Was enthält eine IT-Strategie? Und wie wird diese realisiert? Aufbau, Entwicklung, Beispiele & Tipps für eine erfolgreiche IT Strategy.
Die IT-Systemlandschaft – die IT Landscape struktuiert erfassen & standardisieren
Wie lässt sich die IT-Systemlandschaft erfassen und standardisieren? Vorgehen zur Homogenisierung und Rationalisierung der IT Landscape.
Leseempfehlungen
- 1CRM: Was ist eine Schnittstelle? (letzter Abruf: 30.05.2022)
- Alexander Mendle: Schnittstellenvertrag – ist das too much? (letzter Abruf: 30.05.2022)
- Gregor Hohpe: Enterprise Integration Patterns (letzter Abruf: 07.01.2024)
- Johner Institut: Software-Schnittstellen – Beschreibung konform IEC 62304 (letzter Aufruf: 30.05.2022)
- Nordic APIs: The Bezos API Mandate: Amazon’s Manifesto For Externalization (letzter Aufruf: 30.05.2022)
- Sascha Thattil: API Entwicklung – Wie Sie eine API entwickeln lassen (letzter Aufruf: 30.05.2022)
- Peter Welchering: Zwei schwere Sicherheitslücken im Apples iOS bedrohen iPhones und iPads (12min), Deutschlandradio 20.08.2022 (letzter Abruf: 24.08.2022)
- Wikipedia: Schnittstelle (letzter Aufruf: 30.05.2022)
Sie möchten Ihre IT-Systemschnittstellen professionell managen?
Gerne unterstützen wir Sie!
Dr. Christopher Schulz
Business Analyst, Enterprise Architect & Projektmanager
Bitte akzeptieren Sie unsere Datenschutzerklärung.