Zum Hauptinhalt springen

Schnittstellen

API

Auch wenn der Fachbegriff nicht ganz so bekannt ist - benutzt hat sie schon fast jeder. Sobald man im Internet unterwegs ist, stößt man auf Application Programming Interfaces - sogenannte APIs! Grundlegend sorgen diese für die Kommunikation zweier Systeme, in unterschiedlichster Form. So stellen sie Code bereit, der die Zugangspunkte für den Server regelt und damit eine Verbindung herstellt.

Auch wenn man es nicht merkt, beansprucht man im Internet unzählige solcher Schnittstellen. Beispielsweise in Online-Shops werden APIs verwendet, um Produktinformationen anzeigen oder den Zahlungsvorgang möglich machen zu können.

netzreich betreut APIs verschiedenster Art und ist deshalb perfekt für Ihr nächstes Projekt vorbereitet.



Meine Schnittstelle

* Pflichtfelder

Unterschiedliche Interessen - Unterschiedliche Schnittstellen

Internal API
Betriebsinterne Kommunikation zwischen einzelnen Systemen sollte idealerweise von der Öffentlichkeit nicht einsehbar sein. Genau dafür sorgen Internal APIs. Sie ermöglichen einen privaten Verkehr von Daten, sodass diese sicher und geschützt am Ziel ankommen. Unternehmen können sich auf sie verlassen und erzielen durch die Nutzung eine deutliche Effizienzsteigerung.

Customer API
Diese Schnittstelle verfügt über ein Berechtigungssystem, welches den Raum der Benutzer so einschränkt, dass Informationen nur da ankommen,
wo sie auch sollen. Unterschied zu der bereits genannten ist die Nutzungserweiterung auf externe Unternehmen - vorausgesetzt ist natürlich der Besitz einer speziellen Berechtigung, die den Zugriff auf die Schnittstelle ermöglicht.

Open Source API
Den Kreis schließt eine immer beliebter werdende Methode der Datenübertragung - die Open Source API. Wie der Name schon sagt, ist die Schnittstelle öffentlich und für jeden zugänglich. Daraus ergeben sich Kostenersparnisse, eine bessere Datenerfassung und ein schnellerer Datenaustausch.

Jetzt eine professionelle Betreuung Ihrer API buchen!

Verbreitete Software-Schnittstellen

REST-API

Die wahrscheinlich am weitesten verbreitete Architektur basiert auf einem einfachen, standardisierten System, weshalb sie für die Arbeit mit verschiedenen Datentypen geeignet ist. In den meisten Fällen unterstützt sie webbasierte Apps in ihrer Kommunikation oder in der Kommunikation zu Kunden. Dabei wird das http-Protokoll genutzt, um die entsprechenden Daten per JSON zu übermitteln.


GraphQL

GraphQL ergänzt sehr viele Lücken der REST-API. Der große Unterschied: Hier werden nur genau die Daten gesendet, die auch angefragt wurden. Dies gelingt durch eine feinere Steuerung des Datenverkehrs. Dadurch wird Over- und Underfetching stark reduziert, wodurch das gesamte System deutlich schneller läuft. Mit anderen Worten: Es werden nicht unnötige Daten versendet, aber auch keine vergessen.


XML oder JSON?

Diese zwei Datenformate werden bevorzugt für den Austausch strukturierter Daten verwendet. netzreich bevorzugt JSON, da dieses Format einfacher strukturiert ist und den Umgang erleichtert. Außerdem sind JSON-Dokumente im Vergleich kompakter, sodass bei Übertragungen weniger Leistung und Zeit in Anspruch genommen wird. Auch für Laien ist JSON verständlicher und lesbarer. Aufgrund der aufgelisteten Punkte wird das Format immer populärer und somit auch von netzreich primär genutzt.

Zur eigenen Schnittstelle

Das Projekt Kundencenter unseres Partners TelemaxX umfasst moderne APIs, die auf GraphQL und REST basieren und ein sicheres JWT-Token-Autorisierungssystem nutzen. Die Kernkomponente ist eine leistungsstarke GraphQL-API, entwickelt mit Typescript und Apollo, inklusive automatischer Code-Generierung für benutzerfreundliche Client-SDKs. Als Datenbank nutzen wir CockroachDB. Das Kundencenter bedient Kundenanfragen hauptsächlich über die GraphQL-API, während Administrationsaufgaben und Schnittstellen ausschließlich über REST abgewickelt werden. Unsere APIs sind als Microservices organisiert und in Kubernetes gehostet, um eine zuverlässige Hochverfügbarkeit zu gewährleisten.

Für dieses Projekt nutzt netzreich eine REST-API mit der Swagger Documentation, also dem Open API Standard. Da diese Schnittstelle nicht öffentlich zugänglich ist, regelt das JSON Web Token die Zugriffsrechte. So können sie nur authentifizierte User einsehen. Die Programmierung wurde mit Nest JS umgesetzt. Zum Warenwirtschaftssystem nutzt netzreich eine XML-Schnittstelle.

Hierfür nutzt netzreich eine GraphQL-Schnittstelle auf der Basis von Hygraph. Diese API sorgt dafür, dass aktuelle Inhalte / Angebote der STOBAG auf den Websites der jeweiligen Fachpartner angezeigt werden. So muss ein neues Produkt nur einmal angelegt werden und wird auf alles Websites der Partner direkt übernommen. Durch diese vielschichtige Verbreitung ist eine schlanke und performante Schnittstelle sehr wichtig, weshalb GraphQL in diesem Fall das Mittel der Wahl ist.