Programmierschnittstelle


Programmierschnittstelle

Eine Programmierschnittstelle (englisch application programming interface (API), deutsch Schnittstelle zur Anwendungsprogrammierung“) ist ein Programmteil, der von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird. Im Gegensatz zu einer Binärschnittstelle (ABI) definiert ein API nur die Programmanbindung auf Quelltextebene.[1]

Neben dem Zugriff auf Datenbanken oder Hardware wie Festplatte oder Grafikkarte, kann ein API auch das Erstellen von Komponenten der grafischen Benutzeroberfläche ermöglichen oder vereinfachen.

Heutzutage stellen auch viele Internetdienste APIs zur Verfügung. Folgende APIs gibt es unter anderem für/von soziale/n Netzwerke/n: Connect (Facebook), Direct (YouTube) sowie Sitecore (Facebook, Twitter, StudiVZ)

Im weiteren Sinne wird die Schnittstelle jeder Bibliothek (Library) als API bezeichnet.

Inhaltsverzeichnis

Einteilung

Programmierschnittstellen lassen sich in folgende Klassen einteilen:

Funktionsorientierte Programmierschnittstellen

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.

Dateiorientierte Programmierschnittstellen

Dateiorientierte Programmierschnittstellen werden über die normalen Dateisystemaufrufe open, read, write und close angesprochen. Sollen Daten an ein Objekt gesendet werden, werden diese mit write geschrieben, sollen welche empfangen werden, werden sie mit read gelesen. Unter UNIX ist dieses Prinzip bei der Ansteuerung von Gerätetreibern weit verbreitet.

Objektorientierte Programmierschnittstellen

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

Protokollorientierte Programmierschnittstellen

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.

Siehe auch

Einzelnachweise

  1. Oliver Thoma (2006): Mac OS X 10.4 Tiger. Google Bücher. Abgerufen am 27. März 2011.

Literatur


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Programmierschnittstelle — Programmierschnittstelle,   die von einem Betriebssystem oder einer Entwicklungsumgebung bereitgestellte Sammlung von Funktionen bzw. Routinen, die den Anschluss des Programms an das Betriebssystem, an Hardware Komponenten oder an andere… …   Universal-Lexikon

  • C-ISAM — Programmierschnittstelle zu ISAM Datenbanken, X/Open standardisiert …   Acronyms

  • C-ISAM — Programmierschnittstelle zu ISAM Datenbanken, X/Open standardisiert …   Acronyms von A bis Z

  • Apple Mac OS X — Mac OS X Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia

  • JSR — Ein Java Specification Request (JSR) ist eine Anforderung einer neuen Java Spezifikation oder einer wichtigen Änderung einer existierenden Java Spezifikation, die im Rahmen des Java Community Process (JCP) an das von Sun Microsystems betriebene… …   Deutsch Wikipedia

  • Java Specification Request — Ein Java Specification Request (JSR) ist eine Anforderung einer neuen Java Spezifikation oder einer wichtigen Änderung einer existierenden Java Spezifikation, die im Rahmen des Java Community Process (JCP) an das von Sun Microsystems betriebene… …   Deutsch Wikipedia

  • MACOSX — Mac OS X Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia

  • Mac-OS X — Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia

  • MacOSX — Mac OS X Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia

  • MacOS X — Mac OS X Bildschirmfoto Logo von Mac OS X Basisdaten Entwickler …   Deutsch Wikipedia