Erstellen einer API

30. Juni 2022

Was ist eine API?

Was ist eine API und welche Richtlinien sind entscheidend für ihre erfolgreiche Entwicklung? Eine Application Programming Interface (API) ist eine Sammlung von Programmierfunktionen, Tools und Protokollen, die externen Anwendungen den Zugriff auf die Funktionen oder Daten einer Plattform, eines Betriebssystems, einer Anwendung oder eines Services ermöglichen. Effektiv gestaltete APIs fördern den Datenaustausch und die Zusammenarbeit, indem sie ein Ökosystem schaffen, in dem verschiedene Softwarekomponenten miteinander kommunizieren und gemeinsam Geschäftsprozesse unterstützen. APIs sind ein zentraler Bestandteil moderner Anwendungen sowie cloudnativer, mikroservicebasierter Architekturen – sie bilden die Hauptschnittstellen, über die verschiedene Dienste miteinander interagieren und moderne Benutzererlebnisse ermöglichen.

Die Entwicklung, Gestaltung und Bereitstellung erfolgreicher APIs erfordert die Anwendung verschiedener Best Practices. Durch die Einhaltung dieser Best Practices wird sichergestellt, dass sowohl Entwickler als auch Anwendungen sicheren Zugriff erhalten und die Nutzung einfach und effizient bleibt. Zu diesen Best Practices gehören:

  • Ein einfaches und elegantes Design, das sicherstellt, dass Entwickler mit unterschiedlichem Kenntnisstand und Erfahrung die APIs nutzen können
  • Ein hohes Maß an Sicherheit, um den Datenzugriff gemäß den Anforderungen zu beschränken
  • Schlanke Designprinzipien, damit der Zugriff auf die API weder die Quellanwendung noch externe Anwendungen beeinträchtigt
  • Ergänzende Dienste zur Gewährleistung von Governance, Sicherheit und Nutzungsüberwachung bestehender APIs

So entwickeln Sie eine völlig neue API

Die Entwicklung einer API hängt maßgeblich von verschiedenen Faktoren ab – sowohl von der Quelle als auch von den externen Anwendungen, die mit dieser Quelle interagieren. Im Rahmen der API-Planung sollten Sie sich unter anderem folgende Fragen stellen:

Was sind Ihre Ziele?
Für jedes Projekt ist der beste Startpunkt der Überblick: Ziele definieren und verstehen. Der Zweck Ihrer API ist der Leitfaden dieses Projekts. Welche Informationen werden über die API ausgetauscht? Wie werden sie genutzt oder präsentiert? Berücksichtigen Sie zudem die Zielgruppe Ihrer Anwendung und deren Bedürfnisse.

Was sind Ihre Einschränkungen?
Die Kehrseite Ihrer Projektziele sind die Projektgrenzen. Eine realistische Betrachtung der Entwicklung ist unerlässlich, daher sollten Sie Ihre Ressourcen- und Zeitbeschränkungen genau kennen. Zudem müssen technische Einschränkungen berücksichtigt werden – wie z. B. Sicherheitsaspekte, Auswirkungen auf Hardware-Ressourcen oder Leistungsanforderungen, insbesondere wenn Skalierbarkeit ein Thema ist.

Wie sieht Ihre Architektur aus?
Beim Entwurf einer API von Grund auf haben Entwickler zahlreiche Ausgangspunkte zur Auswahl. Sprachen wie Python, Java, JavaScript, C# und viele andere eignen sich gleichermaßen zur API-Entwicklung. Weitere Aspekte, die Sie bei der Gestaltung berücksichtigen sollten, sind Benutzerfreundlichkeit, Skalierbarkeit (unter Berücksichtigung des Ressourcenbedarfs) und Sicherheit. Letztere ist besonders wichtig, da APIs als Brücken zwischen Anwendungen fungieren. Und beide Seiten müssen dabei ausreichend geschützt sein. Eine API mit Sicherheitslücken ist anfällig für Angriffe wie Code-Injection oder Datenlecks.

Mit diesen grundlegenden Überlegungen lassen sich Richtlinien definieren, auf deren Basis Entwickler tiefer in den Prozess der API-Entwicklung einsteigen können.

SOAP- im Vergleich zu REST-APIs

Eine der zentralen Entscheidungen beim Entwurf einer API betrifft die Art und Weise, wie die Anwendung auf Webservices zugreift. Die beiden gängigen Software-Architekturstile – Simple Object Access Protocol (SOAP) und Representational State Transfer (REST) – bieten jeweils wirksame Ansätze für die API-Entwicklung. Beide haben Vor- und Nachteile, und welche Lösung am besten geeignet ist, hängt von den Anforderungen und dem Nutzungskontext des Projekts ab. In der Regel unterstützen Webservices entweder SOAP oder REST – daher wird die Wahl des passenden Webservice-Typs oft durch die Frage bestimmt, welche Option besser zu Ihren Zielen passt.

Was versteht man unter SOAP?
SOAP ist ein auf XML basierendes Protokoll, das ursprünglich von Microsoft entwickelt wurde. Es basiert auf einem festen Regelwerk und schafft standardisierte Kommunikationsstrukturen, die zahlreiche Erweiterungen (wie WS-Coordination und WS-Security), Automatisierung sowie integrierte Fehlerbehandlung unterstützen. SOAP eignet sich besonders für verteilte Umgebungen, kann jedoch aufgrund seiner strikten XML-Struktur zu einer hohen Komplexität im Code führen.

Was versteht man unter REST?
REST wurde als einfachere und leichtere Alternative zu SOAP entwickelt und arbeitet auf Punkt-zu-Punkt-Basis. Als speziell auf effiziente Skalierbarkeit ausgelegter Software-Architekturstil bietet REST eine Reihe standardisierter Vorgaben, die den Verarbeitungsaufwand minimieren und gleichzeitig hohe Flexibilität ermöglichen. Durch seine schnelle Reaktionszeit reduziert REST die Latenz bei unterschiedlichen Ausgabeformaten, die von Anwendungen verwendet werden, wie JSON oder CSV.

Sollten Sie für Ihre API REST oder SOAP verwenden?
Welcher Standard ist für Ihre Anwendung am besten geeignet? Das hängt von Ihren Bedürfnissen ab. In den meisten Fällen, in denen eine Anwendung einfache, benutzerorientierte Nachrichten ermöglicht – etwa das Teilen von Medien oder die Ausgabe einer Datenbankabfrage – sind REST-APIs die ideale Wahl. SOAP weist eine steilere Lern- und Nutzungskurve auf, doch diese inhärente Komplexität macht es fähig, anspruchsvollere Transaktionen zu verarbeiten – wie beispielsweise sichere Zahlungsvorgänge.

API-Design-Tools auswählen

Die technischen Details beim Aufbau einer API variieren je nach den vom Entwicklungsteam gewählten Tools. Die API-Lösungen von Oracle Cloud Infrastructure (OCI) ermöglichen eine einfache Gestaltung und Entwicklung von APIs mithilfe eines umfassenden Toolkits für schnelles Prototyping und Validierung – basierend auf OpenAPI-Spezifikationen. Mit OCI können Benutzer ihre APIs entweder mit API Blueprint oder Swagger entwerfen. Darüber hinaus lassen sich APIs sowohl von Grund auf neu erstellen als auch mithilfe von Vorlagen entwickeln, um den Entwicklungsprozess zu beschleunigen.

Sehen wir uns den API-Entwicklungsprozess in OCI etwas genauer an. In diesem Beispiel wird eine API-Ressource erstellt – optional mit einer zuvor hochgeladenen API-Beschreibungsdatei – über die OCI-Konsole. Führen Sie die Schritte selbst aus, indem Sie sich für einen kostenlosen OCI-Account anmelden.

  1. Öffnen Sie in der Konsole das Navigationsmenü und klicken Sie auf Developer Services. Wählen Sie anschließend unter API Management die Option Gateways aus.
  2. Auf der Seite APIs klicken Sie auf Create API Resource und geben Sie einen Namen an. Laden Sie anschließend eine API-Beschreibungsdatei (in einer unterstützten Sprache) sowie Tags hoch.
  3. Klicken Sie auf Create, um die neue API-Ressource zu erstellen.
  4. Schreiben Sie danach den Backend-Code. Verwenden Sie Ihre bevorzugte Programmiersprache und Ihr bevorzugtes Framework, um den Code zu entwickeln, der Ihre API steuert. Dieser Schritt kann iterativ erfolgen und die Zusammenarbeit mit weiteren Beteiligten umfassen
  5. Testen Sie den Backend-Code. Der API-Entwicklungsdienst von Oracle stellt verschiedene Tools bereit. Damit testen Sie lokal und über verschiedene Continuous-Integration-(CI-)Dienste.
  6. Bereitstellen. Starten Sie die API und machen Sie sie für Entwickler-Ökosysteme, Partner, Kunden und interne Entwickler zugänglich. Oracle API Gateway ermöglicht die Überwachung und Verwaltung der API-Nutzung, der Verbindungen, der Sicherheit und der Governance.

Weitere Details zur API-Entwicklung mit der cloudbasierten API-Lösung von Oracle finden Sie im Oracle API Developer’s Guide (PDF).

Best Practices für das Testen von APIs

Gründliches Testen Ihrer API ist ein entscheidender Schritt, um einen reibungslosen Start und einen stabilen Betrieb sicherzustellen. Damit Ihre APIs den geschäftlichen Anforderungen entsprechen, sollten Sie die folgenden bewährten Vorgehensweisen beachten:

  • Führen Sie eine API-Smoke-Testprüfung durch, um den Code zu validieren. Dieser einfache Test überprüft, ob die grundlegenden Funktionen Ihrer API ordnungsgemäß arbeiten. Der Smoke-Test sollte zudem auf wiederkehrende Fehler getestet werden.
  • Verwenden Sie realistische Daten unter Bedingungen, die Ihrer Produktionsumgebung möglichst nahekommen. Wenn Sie mit Daten arbeiten, die reale Anwendungsfälle nicht widerspiegeln, erschwert dies die Fehlersuche und kann zu unzuverlässigen Testergebnissen führen. Daher sollte das Testen reale Szenarien so genau wie möglich nachbilden.
  • Führen Sie positive und negative Tests durch. Da Tests ein vollständiges Spektrum erwarteter Ergebnisse und Nutzungsszenarien abdecken müssen, sollten Entwickler sowohl positive Tests (erwartete funktionale Ergebnisse) als auch negative Tests (gezielt erzeugte Fehler mit unerwarteten Ergebnissen) in ihre Testplanung einbeziehen.
  • Verwenden Sie eine umfassende Nachverfolgung der API-Antworten, um transparente Ergebnisse sicherzustellen. Das Testen kann ein langwieriger und mühsamer Prozess sein – bei großen Datenmengen ist es verlockend, Testergebnisse zu verwerfen. Eine sorgfältige Protokollierung dieser Daten ermöglicht jedoch eine klare Dokumentation von Funktionalität, Verhalten, Testergebnissen und Wirksamkeit.
  • Überprüfen Sie Sicherheit und Leistung. Funktionalität ist zwar entscheidend, doch sobald die Tests erfolgreich verlaufen sind, ist es ebenso wichtig, Sicherheitsaspekte (z. B. Daten- und Zugriffsschutz) sowie Leistungsfaktoren (z. B. Ressourcennutzung, Skalierbarkeit und effiziente Verarbeitung) zu testen.

Bereit, Ihre API zu entwickeln und zu testen? Testen Sie die Oracle Cloud Infrastructure API Management Services kostenlos und erleben Sie eine vollständige Lösung für das API-Lifecycle-Management.