Die Abkürzung API steht für „Applikation Programming Interface“ (zu Deutsch: „Schnittstelle zur Anwendungsprogrammierung“). Diese vordefinierten Schnitt¬stellen werden von Betriebssystemen oder Applikationen zur Verfügung gestellt, damit Anwendungsentwickler diese Schnittstellen zwischen Anwendung und Pro¬tokollsoftware in ihren eigenen Programmen verwenden können, ohne dass die Schnittstelle jedes Mal neu programmiert werden muss. Durch API’s werden häu¬fig genutzte Funktionen und Ressourcenzugriffe standardisiert vom Hersteller zur Verfügung gestellt. Diese Standardisierung hilft zusätzlich die Systemstabilität zu erhöhen da Änderungen z.B am Betriebssystem oder der Hardware keine Aus¬wirkungen auf die Anwendung haben
Inhaltsverzeichnis
1. DER API ‐ ANSATZ
2. EINTEILUNG VON PROGRAMMIERSCHNITTSTELLEN
2.1. EINTEILUNG IN KLASSEN
2.2. EINTEILUNG IN DEDIZIERTE UND GENERISCHE API
2.3. HIGH-LEVEL-/LOW-LEVEL-API
3. EINSATZBEREICHE
3.1. WINDOWS-API
3.2. BROWSER-API
3.3. BUSINESS-API
LITERATURVERZEICHNIS
1. Der API-Ansatz
Die Abkürzung API steht für „Applikation Programming Interface“ (zu Deutsch: „Schnittstelle zur Anwendungsprogrammierung“). Diese vordefinierten Schnittstellen werden von Betriebssystemen oder Applikationen zur Verfügung gestellt, damit Anwendungsentwickler diese Schnittstellen zwischen Anwendung und Protokollsoftware in ihren eigenen Programmen verwenden können, ohne dass die Schnittstelle jedes Mal neu programmiert werden muss. Durch API’s werden häufig genutzte Funktionen und Ressourcenzugriffe standardisiert vom Hersteller zur Verfügung gestellt. Diese Standardisierung hilft zusätzlich die Systemstabilität zu erhöhen da Änderungen z.B am Betriebssystem oder der Hardware keine Auswirkungen auf die Anwendung haben.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Einsatz Programmierschnittstellen
2. Einteilung von Programmierschnittstellen
2.1. Einteilung in Klassen
Die Programmierschnittstellen können in vier Klassen eingeteilt werden[1].
Funktionsorientierte Programmierschnittstelle, z.B. DLL (Dynamic Link Library) erlauben schnelle Transaktionen da sie nur Funktionen mit oder ohne Rückgabewert als Kommunikationsmittel verwenden. Verwendet werden sie darüber, dass eine Funktion aufgerufen wird, welche ein Handle (Filedescription, welche zur Laufzeit erzeugt wird und Daten, innerhalb dessen Gültigkeitsdauer, identifiziert) zurückliefert. Damit lassen sich weitere Funktionen aufrufen, bis die Transaktion abgeschlossen ist.
Dateiorientierte Programmierschnittstellen gehen über den Dateisystemaufruf. Werden Daten an ein Objekt gesendet oder von einem Objekt empfangen geschieht dies über den Aufruf der „write“ bzw. „read“ Anweisung. Dieses Prinzip ist bei Treibersoftware weit verbreitet.
Objektorientierte Programmierschnittstellen werden meist in Verbindung mit Typbibliotheken veröffentlicht und verwenden Schnittstellenzeiger, was sie sehr flexibel macht.
Unabhängig vom Betriebssystem und Hardware sind protokollorientierte Programmierschnittstellen, dort muss allerdings das Protokoll immer neu implementiert werden, wenn die Programmierschnittstelle nicht durch funktions- oder interfaceorientierte Schnittstellen gekapselt wird. Dabei kann zwischen allgemeinen und anwendungsspezifischen Protokollen unterschieden werden.
2.2. Einteilung in dedizierte und generische API
Generische (parametrisierbare) API sind standardisiert und arbeiten mit generischen Formaten (wie z.B. XML), wodurch Transaktionen zur Formatsumwandlung eingespart werden können. Das Prinzip dahinter beruht auf Objekten, statt einen festen Datentyp festzulegen, wird dieser erst bei der Verwendung implementiert. Dienste im Betriebssystem Windows (ab NT/2000) verfügen über generische Anwendungsprogrammierschnittstellen[2].
Dedizierte API sind für spezielle Formate ausgelegt, dies macht sie zwar effektiver aber auch abhängiger.
2.3. High-Level- / Low-Level-API
Nach ONC[3] RPC (Remote-Procedure-Calls) können API auch in High- und LowLevel eingeteilt werden.
High-Level-API sind danach die erste Stufe und ermöglichen eine weitgehend automatische Codeerzeugung bei der Client-Server-Kommunikation, sodass der Entwickler einer Anwendung mit wenigen Funktionsaufrufen auskommt.
Low-Level-API dagegen ermöglichen Eigenentwicklungen, wenn spezielle Lösungen gebraucht werden, dazu gehören z.B. asynchrone RPC.[4]
[...]
1 Vgl. http://de.wikipedia.org/wiki/ApplicationProgrammingInterface, Zugriffsdatum: 24.02.2009
2 Vgl. „Java 6 – der interaktive Programmierkurs“ von Ulrike Böttcher
3 ONC steht für Open Network Computing, eine verteilte Architektur von Sun Microsystems
4 Vgl. „Konzepte und Modelle verteilter Kommunikation“ aus „Masterkurs verteilte betriebliche Informationssysteme“ von Peter Mandl
- Quote paper
- Murat Ertugrul (Author), 2006, Erläuterung des API-Ansatzes, Munich, GRIN Verlag, https://www.grin.com/document/136023