Zum Inhalt springen

Programmierschnittstelle

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. April 2006 um 15:36 Uhr durch 195.182.116.152 (Diskussion) (Einteilung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Programmierschnittstelle ist die Schnittstelle, die von einem Betriebssystem oder von einem anderen Softwaresystem weiteren Programmen zur Verfügung gestellt wird. Oft wird dafür die Abkürzung API (für engl. application programming interface, deutsch: Schnittstelle zur Anwendungsprogrammierung) verwendet. Im Gegensatz zu einer Binärschnittstelle (ABI) definiert eine API nur die Verwendung der Schnittstellen auf Quelltextebene.

Die meisten Betriebssysteme bieten sehr vielfältige Programmierschnittstellen an. Neben den Zugriffen auf die Hardware wie Festplatte oder Grafikkarte wird dem Programmierer auch das Erstellen von Komponenten der grafischen Benutzeroberfläche erleichtert. Obwohl die Programmierschnittstelle nur zur Benutzung durch Software-Programmierer gedacht ist, und die Beschreibung sich auch entsprechend technisch gibt, hat ein API auch Vorteile für den Benutzer. Wenn alle Programmierer die selbe API für das Erstellen, Zeichnen und Verwalten von Fenstern einer Benutzeroberfläche benutzen, sehen die Fenster auch alle gleich aus und besitzen dieselben Komponenten. Der Benutzer braucht die Bedienung nur einmal zu erlernen.

APIs haben durch die fortschreitende modulare Programmierung und den modularen Aufbau von Rechnern erheblich an Bedeutung gewonnen. Beispiel dafür sind Datenbankschnittstellen.

Heutzutage stellen auch viele Internetdienste APIs zur Verfügung (für Beispiele siehe die Weblinks).

Einteilung

Programmierschnittstellen lassen in folgende Klassen einteilen:

Funktionsorientierte Programmierschnittstellen kennen nur Funktionen mit oder ohne Rückgabewert als Mittel der Kommunikation. Dabei wird fast immer das Konzept der Handles verwendet. Man ruft eine Funktion auf und bekommt ein Handle zurück. Mit diesem Handle lassen sich weitere Funktionen aufrufen, bis abschließend das Handle wieder geschlossen werden muss. Das BIOS eines Personal Computer ist die älteste Programmierschnittstelle für diesen Rechnertyp.

Interfaceorientierte Programmierschnittstellen verwenden Schnittstellenzeiger und sind damit deutlich flexibler als die funktionsorientierten Programmierschnittstellen. Häufig wird eine Typbibliothek mitgegeben.

Protokollorientierte Programmierschnittstellen sind unabhängig vom Betriebssystem und der Computerhardware. Allerdings muss das Protokoll stets neu implementiert werden. Um diesen Aufwand zu minimieren, wird die protokollorientierte Schnittstelle durch eine funktions- oder interfaceorientierte Schnittstelle gekapselt. Man kann hier weiterhin zwischen allgemeinen (z.B. SOAP) und anwendungsspezifischen (z.B. SMTP) Protokollen unterscheiden.

Literatur

  • Carsten Harnisch, Richard Jungkunz: 213 Hacks für Google, Amazon und eBay. Die neuen APIs nutzen mit .NET, PHP, Flash, JavaScript, AppleScript, XML. Galileo Press, Bonn 2004, ISBN 3-89842-477-4
  • Sascha Hameister, Aron Homberg: Google APIs - Einführung, Anwendung, Referenz entwickler.press, Frankfurt am Main 2006, ISBN 3-935042-94-9

Beispiele

Webservice APIs