Definition „Distributed Application“

Was ist eine verteilte Anwendung?

| Autor / Redakteur: LineFeed / Stephan Augsten

Verteilte Anwendungen werden auf einem Server oder in der Cloud betrieben und lassen sich auf mehreren Systemen gleichzeitig ausführen.
Verteilte Anwendungen werden auf einem Server oder in der Cloud betrieben und lassen sich auf mehreren Systemen gleichzeitig ausführen. (Bild: OpenClipart-Vectors / CC0)

Verteilte Programme sind ein grundlegender Bestandteil vernetzter Systeme. Als Server und Clients ermöglichen sie im Netz verteilten Geräten, zentrale Ressourcen zu nutzen. Mit Blockchains ist zudem eine neue Art der Distributed App entstanden.

Die Distributed App im herkömmlichen Sinn

Als Kurzform von Distributed Application bezeichnet der Term Distributed App zunächst eine Software, die nicht von einem einzelnen Computer, sondern einem verteilten System ausgeführt wird.

Die klassische Form eines verteilten Programms ist eine Client-Server Architektur. Diese teilt die Funktionalität der Software in zwei unterschiedliche Einheiten. Die Clients dienen als Benutzerschnittstelle und laufen auf vernetzten Endgeräten. Der Server stellt die eigentliche Funktionalität bereit und ist auf einem zentralisierten System installiert.

Dieses Modell ist vereinfacht, weil auch der Server aus mehreren, verteilten Instanzen bestehen kann, die zusammen eine höhere Leistung bereitstellen und die Ausfallsicherheit erhöhten. Ein typisches Beispiel sind Webserver, auf die Anfragen von Clients per Load Balancing verteilt werden. Die Aufteilung erfolgt aber transparent, sodass das System nach außen wie ein einzelner Server erscheint.

Client-Server-Systeme mit wechselnden Rollen

Ein Peer-to-Peer Netzwerk beinhaltet keine zentrale Instanz, die eine Server-Funktionalität bereitstellt. Stattdessen übernehmen im Allgemeinen alle Knoten sowohl eine Server- als auch eine Client-Rolle. Diese Form der verteilten Programme stellt daher als symmetrische Variante lediglich einen Sonderfall der Client-Server-Architektur dar.

DApps als neue Form verteilter Programmierung

Eine jüngere Bedeutung des Begriffs Distributed App hat sich im Zusammenhang mit Blockchains und Kryptowährungen der zweiten Generation entwickelt. Zuerst von Ethereum implementiert, bieten diese die Möglichkeit einer dezentralisierten Programmausführung, die über die Blockchain verifizierbar ist. Zur Unterscheidung von anderen Arten werden diese verteilten Programme auch als Decentralized Apps oder kurz DApps bezeichnet. Sie sind zum Beispiel im Einsatz für:

  • Digitale Signaturen für Dokumente
  • Sicheres Identitätsmanagement ohne zentrale Kontrollinstanz
  • Lademanagement für Elektrofahrzeuge (RWE)
  • Online-Plattformen für Glücksspiele
  • Neuartige DRM-Systeme

Ungenaue Begrifflichkeit der Distributed App

Unabhängig von der neuartigen Bedeutung im Zusammenhang mit Smart Contracts ist der Begriff „Verteilte Programmierung“ von jeher unscharf. Einerseits kann Software, die in einen Server- und einen Client-Teil aufgespalten ist, prinzipiell sowohl auf unterschiedlichen, über ein Netzwerk verbundenen Geräten ausgeführt werden als auch auf demselben Computer.

In manchen Fällen ist die rein lokale Anwendung sogar der Normalfall. Ein Beispiel dafür ist der standardmäßige Logging-Mechanismus auf Unix-Systemen, Syslog. Dessen Server kann zwar auch für die Verwendung im Netz konfiguriert werden, normalerweise nimmt er aber nur die Log-Meldungen der auf demselben Computer installierten Programme entgegen und speichert sie ebenfalls lokal ab. Andererseits überschneidet sich die verteilte Programmierung teilweise mit der Parallelprogrammierung.

Wie unterscheiden sich Distributed Apps vom Parallel Computing?

Parallele Programmierung bedeutet die gleichzeitige Ausführung desselben Programmcodes auf mehreren Prozessoren. Diese Beschreibung trifft allgemein auch auf verteilte Programmierung zu. Üblicherweise impliziert der Begriff „Parallelprogrammierung“ aber eine enge räumliche Nähe der beteiligten Recheneinheiten, wie die in einem Rack zusammengefassten Transputer-Boards der dedizierten Parallelrechner der 1980er-Jahre oder nachfolgend die Mehrkern-Prozessoren. Trotzdem stellen auch diese Parallelrechner eine verteilte Programmierung dar, denn die beteiligten CPUs müssen über ein Netzwerk miteinander verbunden sein, selbst wenn dieses nur innerhalb desselben Chips realisiert ist.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

MetaMask vereinfacht Ethereum-Einstieg

Blockchain erreicht normale User

MetaMask vereinfacht Ethereum-Einstieg

Meist fehlt es bei Blockchain-Konzepten an einfachen Zugriffsmöglichkeiten, insbesondere für User. Im Falle von Ethereum könnte MetaMask könnte Abhilfe schaffen, denn das Chrome-Plug-in ist mehr als nur eine Ether-Wallet. lesen

Automatisierte Last- und Funktionstests in der Amazon-Cloud

Metaways stresst Software via Web

Automatisierte Last- und Funktionstests in der Amazon-Cloud

Mithilfe von Amazon-Cloud-Technologien und einer Kombination aus Software-Lösungen lassen sich Last- und Funktionstests von Applikationen weitgehend automatisieren. Die Tests können somit in wesentlich höherer Frequenz durchgeführt werden und es fallen deutlich weniger Kosten an. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45231521 / Definitionen)