- Stub (Programmierung)
-
Ein Stub (von englisch stub ‚Stubben, Stummel, Stumpf‘) oder Stutzen bezeichnet in der Softwareentwicklung einen Programmcode, der anstelle eines anderen Programmcodes steht. Dabei ist der Programmcode, den der Stub ersetzt, entweder noch nicht entwickelt (Top-Down) oder er ist auf einem anderen Rechner oder in einem anderen Speicherbereich. In den letzten beiden Beispielen ist der Stub der lokale Anknüpfungspunkt um ansonsten nur über komplexe Protokolle erreichbare Softwarekomponenten einfach anzusprechen und diese Komplexität zu verbergen. Ein Stub entspricht dann dem Entwurfsmuster Stellvertreter (Proxy).
Insbesondere kommen Stubs bei der Entwicklung verteilter Systeme zur Anwendung: Die Funktionalität eines entfernten, nur über ein Netzwerk erreichbaren Softwaresystems wird auf dem lokalen System in Form einer „Stub-Komponente“ zur Verfügung gestellt. Diese Stub-Komponente kann von der Software des lokalen Systems so angesprochen werden, als wäre die Funktionalität des entfernten Systems lokal vorhanden (Zugriffstransparenz). Statt aber diese gewünschte Funktion tatsächlich zu implementieren, übersetzt die Stub-Komponente die Anfragen in Netzwerkaufrufe (Marshalling), kommuniziert mit dem fernen System und delegiert die Aktion an dieses. Für das nutzende System bleibt dieser Kommunikationsvorgang verborgen.
Bei einer Kommunikation nach dem Client-Server-Modell (RPC, RMI) heißt der lokale Vertreter-Stub auf dem Klienten auch proxy. Für das Gegenstück auf dem Server kann man sich bei verschiedenen Techniken aus einer abstrakten Beschreibung ein Grundgerüst erstellen lassen, ein so genanntes Skeleton.
Siehe auch
Wikimedia Foundation.