Application Programming Interface (API)
API ist die Abkürzung für Application Programming Interface. Ein API ist eine Schnittstelle, über die verschiedene Softwareanwendungen oder auch Teile einer Software miteinander kommunizieren und Daten austauschen können. Im Web-Bereich sind vor allem die beiden API-Varianten RESTful API und GraphQL-API verbreitet. Heute bieten so gut wie alle Content Management Systeme eine oder beide API-Varianten an. Besonders populär wurde die API-Architektur jedoch durch die Headless CMS.
API in der Software-Entwicklung
In der Software-Entwicklung wird die Bezeichnung API-Schnittstelle sehr breit gefasst. Beispielsweise bieten auch Software-Bibliotheken APIs an, mit deren Hilfe die Bibliothek in eine andere Software integriert und nutzbar gemacht werden kann. Über die API-Schnittstelle kann ein WYSIWYG-Editor zum Beispiel in ein Content Management System integriert wird.
In der Web-Entwicklung werden API auch häufig genutzt, um eine komplexe Software in kleine und unabhängige Software-Komponenten zu unterteilen, die miteinander über APIs verbunden werden. Dieses Prinzip wird auch als Microservice-Architektur bezeichnet, um sich von Software-Monolithen abzugrenzen.
APIs bei Content Management Systemen
APIs sind bei Content Management Systemen weit verbreitet. Über APIs werden beispielsweise andere Software-Komponenten wie ein DAM oder ein PIM in das CMS integriert. Über APIs werden außerdem auch Inhalte an externe Software-Systeme bereitgestellt. Viele Content Management Systeme sind auch dem Trend der Microservice-Architektur gefolgt und haben einzelne Komponenten unter dem Stichwort decoupled CMS voneinander entkoppelt, beispielsweise die Datenspeicherung von der Autorenoberfläche.
Die Headless CMS haben schließlich die API-Architektur zum obersten Prinzip erhoben, indem sie auf eine Webseite als Endprodukt verzichten und stattdessen nur noch ein API zur Abrufung der Inhalte anbieten. Die Darstellung der Inhalte übernehmen dann Dritt-Systeme. So gut wie alle traditionellen Content Management Systeme bieten heute ebenfalls umfangreiche APIs für die Abrufung und Verwaltung von Inhalten an und werden als Hybrid-CMS bezeichnet.
RESTful API und GraphQL API
Bei der Entwicklung von API-Schnittstellen haben sich zumindest im Web-Bereich zwei Prinzipien durchgesetzt: Die RESTful API und die GraphQL-API. Bei der RESTful API wird jede Ressource (zum Beispiel ein Artikel oder ein Benutzer) separat über eine eindeutige URL abgerufen. Um alle nötigen Inforamtionen zu sammeln werden unter Umständen viele Abrufe benötigt. Bei der GraphQL-API gibt es dagegen nur einen Abfragepunkt. Bei der Abfrage können alle Felder definiert werden, die zurückgegeben werden sollen.
GraphQL ist eine neuere Entwicklung. Inzwischen bieten viele der Headless- und Hybrid-CMS beide API-Varianten an.