Erstellen einer API

30. Juni 2022

Was ist eine API?

Was versteht man unter einer API und welche Richtlinien gibt es für das erfolgreiche Erstellen einer API? Eine Anwendungsprogrammierschnittstelle (API) ist eine Gruppe von Programmierfunktionen, Tools und Protokollen, mit denen externe Anwendungen entweder auf die Funktionen oder die Daten einer Plattform, eines Betriebssystems, einer Anwendung oder eines Service zugreifen und mit diesen interagieren können. Effektive APIs öffnen die Tür zu mehr Datenaustausch und Zusammenarbeit und schaffen ein Ökosystem, in dem verschiedene Softwareteile miteinander kommunizieren können, um Geschäftsfunktionen bereitzustellen. APIs sind eine Kernkomponente moderner Anwendungen und Cloud-nativer, Microservices-basierter Architekturen. Sie erstellen die Hauptkanäle für verschiedene Services, um miteinander zu kommunizieren und moderne Erlebnisse zu bieten.

Das Entwerfen, Entwickeln und Verteilen erfolgreicher APIs erfordert die Nutzung einer Reihe von Best Practices. Durch die Einhaltung dieser Best Practices gewährleistet der Prozess einen sicheren Zugriff und eine einfache Verwendung durch Entwickler und Anwendungen. Die folgenden Best Practices umfassen:

  • Einfaches und elegantes Design, das sicherstellt, dass Entwickler unterschiedlicher Fähigkeiten und Erfahrungen die APIs verwenden können
  • Hohe Sicherheit, um den Zugriff auf Daten nach Bedarf zu begrenzen
  • Lean Designprinzipien, um sicherzustellen, dass der Zugriff auf die API weder die Quelle noch die externe Anwendung blockiert
  • Zugehörige Services zur Gewährleistung von Governance, Sicherheit und Nutzungsüberwachung für vorhandene APIs

Wie Sie eine völlig neue API entwickeln können

Die Erstellung einer API hängt weitgehend von bestimmten Faktoren ab, die sowohl die Quelle als auch die externen Anwendungen betreffen, die mit dieser Quelle verbunden sind. Im Folgenden finden Sie einige Fragen zur Planung Ihres API-Entwicklungsprozesses.

Was sind Ihre Ziele?
Für jede Art von Projekt ist der beste Ort, um zu beginnen, immer das große Ganze: Ihre Ziele zu definieren und zu verstehen. Der Zweck Ihrer API ist das leitende Licht auf dieses Projekt. Welche Informationen werden über die API ausgetauscht? Wie wird es verwendet oder präsentiert? Weitere Elemente, die berücksichtigt werden müssen, sind das Verständnis der Zielgruppe Ihrer Anwendung und ihrer Anforderungen.

Was sind Ihre Einschränkungen?
Die Kehrseite Ihrer Projektziele sind Projektbeschränkungen. Die Anwendung eines praktischen Objektivs auf die Entwicklung ist ein notwendiger Schritt, daher sollten Sie ein gutes Verständnis Ihrer eigenen Ressourcen- und Zeitplanbeschränkungen haben. Ein weiterer zu berücksichtigender Faktor: Technische Einschränkungen wie Sicherheitsbedenken, Auswirkungen auf Hardwareressourcen und Performanceanforderungen sollten ein Problem darstellen.

Was ist Ihre Architektur?
Wenn es darum geht, eine API von Grund auf neu zu entwerfen, haben Entwickler zahlreiche Ausgangspunkte zur Auswahl. Python, Java, JavaScript, C# und andere Sprachen sind alle in der Lage, Ihre API zu entwickeln. Weitere Faktoren, die in Ihre Designüberlegungen integriert werden können, sind Verwendbarkeit, Skalierbarkeit (gekoppelt mit den Ressourcenanforderungen) und Sicherheit. Diese letzte ist besonders wichtig, da APIs als Brücken zwischen Anwendungen fungieren. Dabei müssen beide Seiten ihre Daten ordnungsgemäß schützen. Eine API mit Sicherheitslücken ist offen für Exploits wie Code-Injection und Datenexposition.

Mit diesen Big-Picture-Fragen können Richtlinien definiert werden und Entwickler können tiefer in den Prozess der Erstellung einer API von Grund auf eintauchen.

SOAP- vs. REST-APIs

Eine der wichtigsten Entscheidungen beim Entwerfen einer API hängt davon ab, wie die Anwendung auf Webservices zugreift. Simple Software Architecture Styles Object Access Protocol (SOAP) und Representational State Transfer (REST) können beide effektive Pfade für das Entwerfen einer API sein. Beide bieten Vor- und Nachteile, und diejenige, die am besten für ein Projekt funktioniert, hängt von der Situation und dem Kontext der Nutzung ab. Im Allgemeinen unterstützen Webservices entweder SOAP oder REST. Daher kann die Entscheidung über den Webservice für Ihre API sehr gut dadurch definiert werden, ob SOAP oder REST für Ihre Ziele besser funktioniert.

Was ist SOAP?
SOAP ist ein XML-basiertes Protokoll, das ursprünglich von Microsoft entwickelt wurde. SOAP basiert auf einer Reihe von Regeln und erstellt Standards in Messaging, die zahlreiche Erweiterungen (WS-Koordination und WS-Sicherheit), Automatisierung und integrierte Fehlerbehandlung unterstützt haben. SOAP funktioniert am besten in einer verteilten Umgebung, aber seine Abhängigkeit von der XML-Struktur kann den Code zu komplex machen.

Was ist REST?
REST wurde als einfachere, leichtgewichtigere Alternative zu SOAP entwickelt, die auf Punkt-zu-Punkt-Ebene funktioniert. Als Softwarearchitekturstil, der speziell für eine effiziente Skalierbarkeit entwickelt wurde, bietet REST eine Reihe von standardisierten Einschränkungen, die die Verarbeitung minimieren und gleichzeitig Flexibilität bieten. Die schnelle Antwort von REST minimiert die Latenz über verschiedene Ausgabenachrichtenformate hinweg, die von Anwendungen verwendet werden, einschließlich JSON und CSV.

Soll REST oder SOAP für Ihre API verwendet werden?
Was ist der beste Standard für Ihre Anwendung? Das hängt von Ihren Bedürfnissen ab. In den meisten Fällen, in denen die Anwendung einfache, benutzerorientierte Nachrichten wie freigegebene Medien oder Ausgaben aus einer Datenbankabfrage aktiviert, sind REST-APIs ideal. SOAP hat eine steilere Lern- und Nutzungskurve, aber diese inhärente Komplexität macht es in der Lage, kompliziertere Transaktionen wie sichere Zahlungen zu verarbeiten.

API-Design-Tools auswählen

Die Muttern und Schrauben beim Aufbau einer API variieren je nach den vom Entwicklungsteam gewählten Tools. Mit den API-Lösungen von Oracle Cloud Infrastructure (OCI) können Sie APIs einfach mit einem vollständigen Toolkit entwerfen und entwickeln, das ein schnelles Prototyping und eine schnelle Validierung basierend auf OpenAPI-Spezifikationen ermöglicht. Mit OCI können Benutzer entweder auf API Blueprint oder Swagger zugreifen, um ihre APIs zu entwerfen. Darüber hinaus können APIs von Grund auf oder aus Vorlagen erstellt werden, um den Entwicklungsprozess zu beschleunigen.

Werfen wir einen genaueren Blick auf den API-Entwicklungsprozess auf OCI. In diesem Beispiel erstellen wir eine API-Ressource (optional mit einer API-Beschreibung, die aus einer hochgeladenen API-Beschreibungsdatei erstellt wurde) mit der OCI-Konsole. Befolgen Sie die Schritte selbst, indem Sie sich für einen kostenlosen OCI-Account registrieren.

  1. Öffnen Sie in der Konsole das Navigationsmenü, und klicken Sie auf "Entwicklerservices". Klicken Sie unter "API-Management" auf "Gateways".
  2. Klicken Sie auf der Seite "APIs" auf "API-Ressource erstellen", und geben Sie den zugehörigen Namen an. Laden Sie eine API-Beschreibungsdatei (die eine API-Beschreibung in einer unterstützten Sprache enthält) und Tags hoch.
  3. Klicken Sie auf "Erstellen", um die neue API-Ressource zu erstellen.
  4. Schreiben Sie den Backend-Code. Erstellen Sie mit Ihrer bevorzugten Programmiersprache und Ihrem bevorzugten Framework den Backend-Code, der Ihre API unterstützt. Dies kann ein iterativer Prozess sein, der andere Mitarbeiter umfasst.
  5. Testen Sie den Backend Code. Der API-Entwicklungsservice von Oracle umfasst verschiedene Tools, um sowohl lokal als auch über verschiedene Continuous Integration-(CI-)Services zu testen.
  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 Nutzungsüberwachung und -verwaltung von API-Verbindungen, Sicherheit und Governance.

Ausführlichere Informationen 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

Ein gründliches Testen Ihrer API ist ein entscheidender Schritt, um einen reibungslosen Start und einen reibungslosen Betrieb zu gewährleisten. Hier finden Sie eine kurze Liste effektiver Best Practices für die API, die Sie bei der Bereitstellung von APIs unterstützen, die Ihren Geschäftsanforderungen entsprechen:

  • Validieren Sie den Code mit einem API-Rauchtest (ein Bare-Bones-Test validiert, ob die grundlegende Funktionalität Ihrer API funktioniert). Der Rauchtest sollte auf wiederholbare Fehler prüfen.
  • Verwenden Sie realistische Daten unter Bedingungen, die Ihrer Produktionsumgebung ähneln. Die Arbeit mit Daten, die nicht den realen Anwendungsfällen entsprechen, verlängert nur Ihre Fähigkeit, verschiedene Szenarien zu beheben, und kann zu unzuverlässigen Tests führen. Daher sollten Tests ein reales Szenario so genau wie möglich replizieren.
  • Führen Sie positive und negative Tests durch. Da Tests ein vollständiges Spektrum an erwarteten Ergebnissen und Nutzungsszenarien erfordern, müssen Entwickler sowohl positive (erwartete funktionale Ergebnisse) als auch negative (geplante Fehler, die unerwartete Ergebnisse erzeugen) Tests als Teil ihres Plans berücksichtigen.
  • Nutzen Sie ein umfassendes Tracking von API-Antworten für transparente Ergebnisse. Tests können ein langer und mühsamer Prozess sein, und der Impuls, Testergebnisse zu verwerfen, ist natürlich, wenn große Mengen vorhanden sind. Die sorgfältige Protokollierung dieser Daten gewährleistet jedoch eine klare Aufzeichnung von Funktionalität, Verhalten, Testergebnissen und Effektivität.
  • Sicherheit und Performance prüfen Funktionalität ist natürlich von entscheidender Bedeutung, aber sobald sich das Testen bewährt hat, ist es genauso wichtig, auf Sicherheit (Daten- und Zugriffsrisiken) und Performance (Ressourcennutzung, Skalierung und effiziente Verarbeitung) zu überprüfen.

Sind Sie bereit, Ihre API zu erstellen und zu testen? Testen Sie Oracle Cloud Infrastructure API-Management-Services kostenlos, um die vollständige API-Lebenszyklusmanagementlösung zu erleben.