Thiemo Fetzer 16. September 2009

Was ist…Lexikon: API

Thiemo Fetzer lebt seit 2008 in London und promoviert dort im Fachbereich...

API steht für „Application programming interface“ was sich auf Deutsch zu einem Wort reduziert – Programmierschnittstelle oder Schnittstelle zur Anwendungsprogrammierung. Über eine Programmierschnittstelle können verschiedene Systeme miteinander interagieren und Informationen austauschen.

Dabei legt eine API zum einen das Format von Anfragen fest, sowie das Vokabular. Oftmals wird für den Informationsaustausch auf das SOAP Protokoll zurückgegriffen, welches ein formelles XML Schema ist, nach dem die Kommunikation zwischen Webservices abläuft. Im weiteren Sinn definiert die API auch die verwendeten Datenstrukturen oder Objektklassen, sowie die Protokolle über welche die Kommunikation durchgeführt wird.

Für Webentwickler werden APIs in ihrer Bedeutung stetig wachsen. Fast alle Branchenriesen bieten bereits eine API an. So können eBay Poweruser auf Desktop Software zurückgreifen, über die Sie ihre Auktionen auf verwalten können. Dies wird ermöglicht durch die eBay API. Nutzer, die für Amazon Werbung in ihren Webseiten schalten, können über deren API auf den Produktkatalog und mittlerweile auch einen gesamten Verkaufsprozess indirekt auf ihrer eigenen Webseite über Amazon abwickeln.

Insbesondere im kommerziellen Bereich sind APIs mittlerweile wichtig. Sie ermöglichen Unternehmen die automatisierte Beschaffung von Zwischen- und Vorprodukten, wobei stets der Lagerbestand mit in Betracht gezogen wird. Sollte der Lagerbestand eine kritisches Level erreichen, werden in automatisierten Beschaffungssystemem automatisch Bestellungen abgesetzt oder Produktionsaufträge in das System des Zulieferers geschrieben. Das spart Zeit und Personalaufwand und führt zu einer zunehmenden Integration der Systeme.

Beispiel einer Anwendung der Google Maps API, zu der es auf Dr.Web auch einen Artikel gibt. Hier sehen Sie auf der Webseite der Londoner Polizei eine Karte, mit den Stadtteilen und den Kriminalitätsraten.

Dies bereitet jedoch auch Sicherheitsrisiken, da über eine API sich ein System nach außen öffnet und so das System angegriffen werden kann, sollten Lücken auftauchen. So können über unsichere APIs zum Beispiel SQL Injections möglich sein. Dabei wird versucht, durch bestimmte Abfragen, welche über die API gesendet werden, die Datenbank zu verändern oder gesicherte Informationen auszulesen.

So könnte eine Abfrage nach den Produktdaten zu dem Produkt mit der ID=56 manipuliert werden, indem die Anfrage modifiziert wird. So kann aus „SELECT * FROM productData WHERE ID=56“ etwa  „SELECT * FROM productData WHERE ID=56 UNION SELECT login, password, ’n‘ FROM userData“. Das „n“ steht hier für die Anzahl der Spalten, da die Anfrage bei einem Union-Select genausoviele Spalten haben muss, wie die ursprüngliche Abfrage. Das ist eine Information, an die man durch die API sehr leicht kommt, weil die API schließlich die Schnittstelle, die Datentypen sowie die Abfragemöglichkeiten definiert. Das heißt durch die Schnittstelle, können sich Systeme weiterer Sicherheitsgefahren öffnen, weil durch sie auch Information über die Systemarchitektur preisgegeben wird.

Auf Dr.Web haben wir uns die APIs von mehreren Webdiensten bereits angeschaut. Eine Liste von APIs finden Sie auf Programmableweb.

Thiemo Fetzer

Thiemo Fetzer lebt seit 2008 in London und promoviert dort im Fachbereich "Entwicklungsökonomie" an der London School of Economics. Zuvor hat er Wirtschaftswissenschaften, Mathematik und Informatik in Magdeburg und Ulm studiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.