- Kopplung (Informatik)
-
In der Informatik versteht man unter dem Begriff Kopplung die Verknüpfung von verschiedenen Anwendungen, Komponenten oder Softwaremodulen. Im Unterschied zur Integration werden Schnittstellen nicht abgebaut, sondern, wie der Name sagt, gekoppelt. Das Hauptproblem der Kopplung ist die Frage, wie die Daten übergeben werden. Hierfür existieren verschiedene Möglichkeiten:
- Kopplung durch menschlichen Eingriff: Dies ist keine Kopplung im engeren Sinne, muss allerdings mit aufgeführt werden. Hierbei werden die Informationen durch einen Menschen zwischen den beiden Systemen transportiert.
- Kopplung durch formatierte Dateien: Hierbei werden die Daten zwischen den Anwendungen mit einfachen Dateien (auch Flatfiles genannt) transportiert. Alle beteiligten Anwendungen müssen das entsprechende Format verstehen. Als Dateiformate werden häufig tabulatorgetrennte bzw. kommagetrennte oder XML-basierte Dateiformate verwendet.
- Kopplung durch Konverter: Das Problem, dass die verschiedenen Anwendungen auf ein Format zum Austausch einigen müssen, wird durch Konverter gelöst. Ein Konverter wandelt ein Datenformat in ein anderes um. Hierbei versucht er die Semantik der Daten beizubehalten. In vielen Fällen ist dies jedoch nicht vollständig möglich. Im Bereich der freien Software existieren viele Beispiele für Konverter. So wandelt beispielsweise dvi2ps eine DVI-Datei in eine PostScript-Datei um.
- Kopplung durch Kopplungsprozeduren: Bei der Kopplung über Prozeduren ruft das Client-System bei dem Server eine Funktion auf mit deren Hilfe die Daten übertragen werden. Gleichzeitig ist hiermit das direkte Anstarten einer Logik auf Serverseite möglich. In den meisten Fällen muss für die Kopplung über diese Methode allerdings der Quelltext von einem oder von beiden Anwendungen angepasst werden. In den verschiedenen Programmiersprachen und Konzepten existieren unterschiedliche Techniken, um dies möglich zu machen (Stichworte: RPC oder RFC, CORBA, RMI, SOAP bzw. Web Service, .NET Remoting, COM, DCOM).
- Kopplung im Sinn von objektorientierter Programmierung (OOP) beschreibt den Grad der Abhängigkeiten zwischen Klassen. Man strebt für ein System eine möglichst lose Kopplung an, also ein System, in dem jede Klasse weitgehend unabhängig ist und mit anderen Klassen nur über möglichst schmale, wohldefinierte Schnittstellen kommuniziert. Lose Kopplung wird unter anderem durch Kapselung erreicht.
Arten der Kopplung
Insgesamt unterscheidet man sieben Arten der Kopplung. Dabei gilt die Regel: Je niedriger die Kopplung desto eigenständiger ist die Klasse, das Modul, die Methode usw.
- Content coupling (Inhaltskopplung) – starke Kopplung
- Common coupling (Bereichskopplung)
- External coupling (Externdatenkopplung)
- Control coupling (Kontrollkopplung)
- Stamp coupling (Datenstrukturkopplung)
- Data coupling (Datenkopplung)
- No coupling (keine Kopplung) – niedrige Kopplung
Wikimedia Foundation.