APIs sind und bleiben einer der wichtigsten ICT-Trends. Darum haben wir hier nochmals die wichtigsten Punkte rund um APIs zusammengefasst. Was sind die Möglichkeiten einer API? Was sind die verschiedenen Arten von APIs und wie funktionieren sie? Was haben Unternehmen davon, ihre APIs zu veröffentlichen? Welche Kriterien muss eine Rest-API erfüllen? Auf all diese Fragen - und mehr - findet ihr hier Antworten.
API: was ist das?
API steht für Application Programming Interface und ist eine Programmier- oder Anwendungsschnittstelle, deren Code es zwei oder mehr Softwareprogrammen ermöglicht, miteinander zu kommunizieren. APIs können für webbasierte Systeme, Betriebssysteme, Datenbanksysteme, Computerhardware oder Softwarebibliotheken verwendet werden. Laut einem Report des Tech-Giganten IBM sind APIs «zum digitalen Spiegelbild einer Organisation» geworden. APIs sind also ein wichtiges Instrument, um die Interoperabilität zwischen verschiedenen Anwendungen und Systemen zu gewährleisten und so die Effizienz und Flexibilität der Softwareentwicklung zu verbessern.
Woraus besteht eine API?
Eine API besteht aus mehreren Tools, Regelsätzen, Definitionen und Protokollen, die je nach Anwendungsgebiet sehr unterschiedlich ausfallen können.
APIs beinhalten jedoch immer nachfolgende Komponenten:
- technische Spezifikation: diese beschreiben die Möglichkeiten des Datenaustauschs zwischen den Lösungen, wobei die Spezifikation in Form einer Anfrage für Verarbeitungs- und Datenlieferprotokolle erfolgt
- Softwareschnittstelle, die für die Spezifikation geschrieben wurde, die sie darstellt
Die Software, die auf Informationen oder Funktionen einer anderen Software zugreifen muss, ruft deren API auf und gibt dabei an, wie die Daten oder Funktionen bereitgestellt werden müssen. Die andere Software liefert die von der ersten Anwendung angeforderten Daten oder Funktionen. Die Schnittstelle, über die diese beiden Anwendungen miteinander kommunizieren, wird durch die API spezifiziert.
Was ist die Geschichte von APIs?
«APIs stammen aus den frühen Tagen des Computing, und zwar weit vor dem PC. Damals wurden sie primär als Bibliothek für Betriebssysteme benutzt. Sie agierten zumeist auf dem jeweiligen System ihrer Installation, waren ab und an aber auch für die Weiterleitung von Nachrichten zwischen Mainframes zuständig. Fast 30 Jahre später hatten die APIs endlich die Grenzen ihrer lokalen Umgebungen überwunden. Anfang des neuen Jahrtausends wurden sie dann zu einer wichtigen Technologie für die Remote-Integration von Daten», schreibt der US-amerikanische Softwarehersteller Red Hat.
Was macht eine API?
Gemäss dem digitalen Computer-Magazin ComputerWeekly definiert eine API «die korrekte Art und Weise, wie ein Entwickler Dienste von einem Betriebssystem (OS) oder einer anderen Anwendung anfordert und Daten in verschiedenen Kontexten und über mehrere Kanäle ausgibt.» Mit einer API können Produkte oder Services unabhängig von ihrer Implementierung untereinander kommunizieren. Auf diese Weise lässt sich die Anwendungsentwicklung optimieren. In den letzten Jahrzehnten haben APIs einen wichtigen Beitrag zur Weiterentwicklung von Softwares auf der ganzen Welt geleistet. Die steigende Zahl von Webdiensten, die von Cloud-Anbietern über APIs bereitgestellt werden, fördert zudem die Entwicklung von Cloud-Lösungen, dem Internet der Dinge (Internet of Things, IoT) sowie mobilen Anwendungen.
Wie funktionieren APIs?
APIs bestehen wie oben erklärt aus zwei miteinander verbundenen Elementen. Das erste ist eine Spezifikation, die beschreibt, wie Informationen zwischen Programmen ausgetauscht werden und das zweite Element ist eine Softwareschnittstelle, die nach dieser Spezifikation geschrieben und in irgendeiner Weise zur Verwendung veröffentlicht wird. Die Software, die auf die Funktionen und Fähigkeiten der API zugreifen will, soll sie aufrufen, und die Software, die die API erstellt, soll sie veröffentlichen. «Da APIs die Integration neuer Anwendungskomponenten in eine bestehende Architektur für die Entwickler vereinfachen, unterstützen sie automatisch die Zusammenarbeit zwischen Unternehmen und IT-Teams», erklärt Red Hat.
Welche Arten von APIs gibt es?
Es wird zwischen drei Arten von APIs unterschieden, die sich auf die Release-Richtlinien und Zugriffsrechte beziehen: Private, Public und Partner.
- Private API: Eine private API wird von unternehmensinternen Entwicklern gehostet. Private APIs fungieren als Front-End-Schnittstellen zu Back-End-Daten und Anwendungsfunktionen. Die Schnittstelle bietet einen Einstiegspunkt für Developer oder Auftragnehmer, die an der Entwicklung dieser Funktionen arbeiten.
- Public API: Eine Public API (auch offene oder öffentliche API genannt) ist eine Anwendungsprogrammierschnittstelle, die Softwareentwicklern öffentlich zugänglich gemacht wird. Offene APIs werden im Internet veröffentlicht und frei weitergegeben, so dass der Eigentümer eines über das Netz zugänglichen Dienstes den Verbrauchern einen universellen Zugang bieten kann. Red Hat zufolge hat eine öffentliche API einen hohen Geschäftswert, weil sie die Verbindung zu Partnern vereinfacht und erweitert und sowie für eine mögliche Monetarisierung von Daten sorgt.
- Partner API: Die API wird mit ausgewählten Geschäftspartnern geteilt. Es sind spezifische Rechte oder Lizenzen notwendig, um auf eine Partner API zugreifen zu können.
Public APIs: Wieso veröffentlichen immer mehr Unternehmen ihre APIs?
Die Veröffentlichung von APIs ist der Prozess der Vorbereitung von APIs für die interne Entwicklergemeinschaft, Partner und Kunden. «APIs sind mehr als technische Kanäle für die gemeinsame Nutzung von Daten. Gut durchdachte APIs bieten Organisationen eine wichtige Verbindung zu Daten und Diensten, die schnelle Innovationen ermöglichen, Märkte für neue Waren und Dienstleistungen eröffnen und als Grundlage für künftige Partnerschaften dienen. APIs sind zu einer unverzichtbaren externen Repräsentation einer Organisation geworden», heisst es im oben erwähnten IBM-Report.
Public APIs beschleunigen Innovation durch die vereinfachte Zusammenarbeit mit externen Entwicklern. 2013 wurde in diesem Zusammenhang einem Artikel des US-amerikanischen Computermagazins «Wired» gar von einer «API-Revolution» gesprochen. Dabei ginge es darum, die Probleme zu lösen, mit denen Unternehmen oder Einrichtungen bei der Zusammenarbeit mit internen und externen Entwicklergemeinschaften konfrontiert seien.
Ausserdem vergrössern offene APIs die Reichweite von Marken und Lösungen. Durch die Bereitstellung von Technologie an die Öffentlichkeit – wie dies bei einer öffentlichen API der Fall ist – werden Entwickler zur Schaffung eines App-Ökosystems angeregt. Auch bei der Rekrutierung neuer Tech-Mitarbeitenden kann es ein Vorteil sein, wenn die auf dem Arbeitsmarkt stark umworbenen Developer bereits mit den APIs eines potenziellen Arbeitgebers in Kontakt gekommen sind.
Unternehmen müssen neue Produkte immer schneller auf den Markt bringen, um wettbewerbsfähig zu bleiben. Die Schweizer Cloud-Management-Plattform Xelon HQ hilft Unternehmen dabei, neue Lösungen und Applikationen zu entwickeln, testen und betreiben. Bucht jetzt eine Demo oder kontaktiert uns, um zu erfahren, wie das Xelon HQ euch beim Ausbau eures Portfolio und beim Unternehmenswachstum unterstützen kann.
Was müssen Unternehmen beachten, die ihre APIs öffentlich machen?
Das API-Unternehmen Akana betont die Wichtigkeit, vor der Veröffentlichung von APIs festzuhalten, welche Regeln die User dabei befolgen müssen. Eine gute Dokumentierung macht den Zweck und die Verwendung einer API für die Zielgruppe deutlich und enthält Beispiele für die richtige Verwendung der API. Im Idealfall werden die API-Vorgänge in der Dokumentierung aus der Perspektive eines Use Cases erklärt. Zudem macht in vielen Fällen die Veröffentlichung in einer Sandbox Sinn. Damit lassen sich Lösungen in einer geschützten Umgebung testen und die APIs werden nicht nachhaltig verändert. Versionierung ist Akana zufolge ebenfalls eine bewährte Praxis bei der Veröffentlichung von APIs. Dadurch wird sichergestellt, dass Unternehmen Verbesserungen an ihrer API in einer neuen Version implementieren können, ohne die alte API-Version zu zerstören.
Auch das Marketingteam sollte in die Veröffentlichung von APIs involviert werden: «Unternehmen müssen die Auswirkungen von APIs auf das Branding und die Positionierung berücksichtigen», schreibt IBM im API-Report und gibt dafür folgende Tipps: «Ein ansprechendes API-Erlebnis vereint Branding, Design-Denken und Prinzipien sowie eine Gemeinschaft von Vorreitern. Eine klare API-Werbestrategie integriert digitale Präsenz, Teilnahme an Veranstaltungen und den Austausch mit Meinungsmachern. Ein erfolgreiches Muster für API-Branding beinhaltet Konsistenz, Klarheit und Beständigkeit.»
Was ist eine Rest-API?
Ein im Zusammenhang mit APIs oftgenannter Begriff ist Rest-API, weswegen wir Rest-APIs hier ebenfalls beleuchten. Eine Rest-API ist eine API oder Web-API, die den Beschränkungen der REST-Architektur unterliegt und Interaktionen mit RESTful Webservices ermöglicht. REST steht für ‘Representational State Transfer’ und ist eine Sammlung von Architekturbeschränkungen, die vom US-amerikanischen Informatiker Roy Fielding entwickelt wurde. Wird eine Client-Anforderung über eine RestAPI gestellt, überträgt diese eine Repräsentation des Ressourcenstatus an den Anforderer oder Endpunkt. Die Repräsentation beziehungsweise die damit verknüpften Informationen werden in einem der folgenden HTTP-Formate bereitgestellt: JSON (JavaScript Object Notation), HTML, XLT, Python, PHP oder Plain Text.
Extratipp: Wusstet ihr, dass sich sämtliche Funktionen im Xelon HQ auch über Rest-API abrufen und in eure Systeme integrieren lassen?
Welche Kriterien muss eine Rest-API erfüllen?
Red Hat definiert nachfolgende Kriterien für Rest-APIs:
- eine aus Clients, Servern und Ressourcen bestehende Client-/Server-Architektur, die Anforderungen per HTTP verwaltet
- zustandslose Client- und Server-Kommunikation (das heisst, dass zwischen GET-Anforderungen keine Client-Informationen gespeichert werden und die einzelnen Anforderungen separat sind)
- cachingfähige Daten, mit denen Client/Server-Interaktionen optimiert werden
- eine einheitliche Schnittstelle zwischen Komponenten, um Informationen in standardisierter Form zu übertragen. Hierfür müssen wiederum folgende Kriterien erfüllt sein:
- Die angefragten Ressourcen sind identifizierbar und von den an den Client gesendeten Repräsentationen getrennt.
- Ressourcen können durch den Client über die von ihnen empfangene Repräsentation manipuliert werden, weil sie genügend Informationen hierfür enthält.
- An den Client zurückgegebene selbstbeschreibende Nachrichten enthalten genügend Informationen, die die Art und Weise der Verarbeitung durch den Client beschreiben.
- Hypertext/Hypermedia: Der Client sollte nach dem Zugriff auf eine Ressource in der Lage sein, mithilfe von Hyperlinks alle aktuelle verfügbaren ausführbaren Aktionen aufzufinden.
- Ein mehrstufiges System, mit dem alle Servertypen organisiert werden, die am Abruf der angeforderten Informationen in für den Client unsichtbaren Hierarchien beteiligt sind.
- Optional: Code-on-Demand (die Fähigkeit, auf Anforderung ausführbaren Code vom Server an den Client zu senden und so die Client-Funktionalität zu erweitern)
Trotz der langen Kriterienliste handelt es sich bei REST um Richtlinien, die flexibel implementiert werden können. «Dadurch wiederum gestalten sich Rest-APIs schneller und kompakter mit verbesserter Skalierbarkeit und eignen sich so perfekt für das Internet of Things (IoT) und die Entwicklung mobiler Apps», so das Fazit von Red Hat.
Möchtet ihr herausfinden, was Rest-APIs eurem Unternehmen bringen? Kontaktiert uns für ein unverbindliches Beratungsgespräch.
In der Xelon Knowledge Base findet ihr weitere Artikel rund um das Thema API:
Postman API Monitoring: Automatisches Monitoring von REST-API Endpoints
Shania Lauper