Flexibilität und Leistung eines Systems hängen stark von der Art ab, wie seine Komponenten zusammen wirken.
Die beiden Aspekte stehen dabei im Widerstreit. Generell sind integrierte Systeme leistungsfähiger, während interoperierende Komponenten flexibler anpassbare Systeme ergeben.
Grafik: Integration und Interoperation
Integration (Schnittstelle)
Integrierte Komponenten sind gleichsam "verdrahtet". Sie kommunizieren via eine feste Schnittstelle, über die sie sich direkt Daten übergeben, logische Funktionen aktivieren und Ergebnisse übernehmen. Solche Komponenten werden als eng gekoppelt bezeichnet.
Interoperation (Protokoll)
Interoperierende Komponenten "sprechen" miteinander. Sie tauschen Meldungen gemäss den Regeln eines Protokolles aus, Mittels Meldungen übergeben sie sich Daten, erteilen sich Bearbeitungsaufträge und übernehmen Ergebnisse. Solche Komponenten werden als lose gekoppelt bezeichnet.
Konsequenzen
Solche Komponenten sind im Rahmen eines Protokolls (einer Sprache) auf einander abgestimmt. In der Regel muss jede Komponente bei jedem Kommunikationsschritt eine Übersetzung zwischen Meldungen und internen Schnittstellen vornehmen.
Es können alle Komponenten zusammen wirken, die das gleiche Protokoll unterstützen. Das Protokoll beschreibt und begrenzt den möglichen Funktionsumfang.
Interoperierende Komponenten können auf denselben oder verschiedenen Maschinen mit demselben oder unterschiedlichen Betriebssystemen ausgeführt werden. Sie können völlig verschieden implementiert sein.
Für die Meldungsvermittlung kommt in der Regel auf allen beteiligten Maschinen eine Kommunikations-Software, die so genannte Messaging Middleware, zum Einsatz.
Protokoll-Beispiele
TCP/IP: Netzwerk-Protokolle des Internet
HTTP: Web-Browser
POP, IMAP, SMTP: e-Mail
FTP: Datei-Transfer
EDI, UN/EDIFACT: Elektronischer Datenaustausch im Geschäftsverkehr
SWIFT: Nachrichtenverkehr zwischen Finanzinstituten