Hallo an alle!

Heute möchten wir Ihnen eine Übersetzung eines Programmierartikels des berüchtigten
Mike Amundsen , dem leitenden Architekten der API Academy, anbieten. In diesem vergleichsweise kurzen Text erklärt Mike auf intelligente Weise, warum Sie der Entwicklung der API besondere Aufmerksamkeit schenken müssen und wie die APIs korrekt ausgeführt werden.
Während meiner Zeit als Lehrer an der
API Academy hatte ich die Gelegenheit, um die Welt zu reisen und tolle Leute kennenzulernen. Sie arbeiten an beeindruckenden Projekten in verschiedenen Unternehmen - von jungen Startups bis zu etablierten globalen Unternehmen. Unglaublich, aber wo immer ich war und mit wem ich sprach, tauchten in unseren Gesprächen viele gemeinsame Ideen, Tricks und Eindrücke auf. Die drei häufigsten sind Microservices, APIs und eine Innovationskultur. Alle drei werden eingeführt, um die digitale Transformation des Unternehmens zu beschleunigen.
Dieser Artikel ist der zweite in einer Reihe von drei Veröffentlichungen. Hier werde ich darüber sprechen, was wir an unserer API-Akademie im Kontext dieser drei starken Trends lehren, und einige Tricks beschreiben, die Ihrem Unternehmen helfen, von großen Worten zu echten Conversions überzugehen. In einem
früheren Artikel habe ich der Bedeutung von Microservices besondere Aufmerksamkeit gewidmet
und mich auf drei Dinge konzentriert, die Sie heute tun können: 1) den Übergang zur kontinuierlichen Bereitstellung, 2) die Bereitstellung vorbereiteter Bereitstellungen und 3) die Reduzierung der Warteschlange „in Arbeit“, um die Zeit bis zum Erreichen des Produkts zu verkürzen der Markt. Diese drei wesentlichen Gewohnheiten helfen Ihrem Unternehmen, die Vorteile von Microservices voll auszuschöpfen.
APIs bieten eine MehrkanalbereitstellungViele Unternehmen verwenden Microservices und versuchen, die wichtigsten Funktionen ihres Unternehmens so zusammenzufassen, dass ihre Skalierbarkeit und Zuverlässigkeit gewährleistet ist. Microservices entsprechen wichtigen Funktionselementen der IT-Komponente Ihres Unternehmens. Aber das ist nur die halbe Miete. Es ist auch notwendig, herauszufinden, wie diese Möglichkeiten bereitgestellt werden können, damit mit ihrer Hilfe die aktuellen Herausforderungen für Ihr Unternehmen bequem gelöst werden können. Hier kommt die API ins Spiel.
APIs - Anwendungsprogrammierschnittstellen - spielen für eine Maschine dieselbe Rolle wie eine grafische Oberfläche - für Benutzer der Informationssysteme Ihres Unternehmens. Oft werden APIs verwendet, um verschiedene Funktionen zu einer konsistenten und erschwinglichen Lösung zu kombinieren. Beispielsweise kann Ihr Unternehmen Services verwenden, um Transaktionen in Bezug auf Kunden, Konten und Verkäufe zu verarbeiten. Jeder dieser Dienste wurde sorgfältig entworfen, programmiert und getestet. Anschließend wurde er freigegeben und in die Infrastruktur Ihres Unternehmens integriert. Der Service bietet Funktionen, die für Ihr Unternehmen von entscheidender Bedeutung sind. Sobald Sie eine neue Lösung erstellen müssen, um Benutzer in den Verlauf der Dinge einzuführen, sollte diese Lösung auf einer Vielzahl von Geräten und Plattformen funktionieren. Wir beginnen also, die API mit voller Kapazität zu verwenden.
Eine einzelne API, die für Lösungen geschärft wurde - beispielsweise eine API, um Benutzer mit dem System vertraut zu machen - kann so gestaltet werden, dass die wichtigsten Interaktionen und Aufgabenabläufe, die im Stadium einer solchen Einarbeitung kritisch sind, an die Oberfläche kommen. Hier benötigen wir eine API, mit der Sie verschiedene Funktionselemente in Bezug auf Kunden, Konten und Verkäufe in sichere, leistungsstarke und erschwingliche Benutzeroberflächen für eine Vielzahl von Zielgruppen in Ihrem Unternehmen mischen können. Beispielsweise können sich Vertriebsmitarbeiter über einen Browser, Office-Administratoren aus PC-Anwendungen und potenzielle Kunden über Smartphones und Tablets anmelden.
Wir können sagen, dass die API eine Art „Klebstoff“ ist, der die Programmelemente zusammenhält, eine Zwischenschicht, über die Ihre internen Dienste und externen Verbraucher von Diensten interagieren. API ist das Tool zum Verteilen von Schlüsselfunktionen, so dass Service-Konsumenten sie nutzen können. Ihre Aufgabe besteht darin, wichtige Mechanismen für die Interaktion mit dem Benutzer auf einer Vielzahl von Hardwareplattformen zu erstellen. Zu diesen Verbrauchern können andere in Ihrem Büro arbeitende Teams, Kollegen, mit denen Sie remote kommunizieren, wichtige Geschäftspartner oder sogar Remote-Mitarbeiter gehören, die an der Entwicklung oder dem Design auf Kundenseite beteiligt sind.
Design Thinking und APIDie meisten Unternehmen wissen, wie wichtig es ist, Zeit für die Entwicklung einer Benutzeroberfläche für ihre Anwendungen aufzuwenden. Weil bekannt ist, dass gutes Design bei Benutzern beliebt ist, die Markentreue erhöht und es Ihnen ermöglicht, ein neues Unternehmen zu fördern. Gleichzeitig kann schlecht gestaltetes Interface-Design Kunden stören, der Marke schaden, den Umsatz reduzieren und Chancen auswählen. Gleiches gilt für das API-Design.
Wenn die API schlecht ausgeführt wird, ist es für Entwickler schwierig, sie zu verstehen. Aus diesem Grund können sie Fehler in das System einbringen und unnötige Kosten für die Behebung von Fehlern und die Änderung der Infrastruktur verursachen. Wenn die API jedoch gut funktioniert hat, ist es für den Mitarbeiter einfacher, effektiv damit zu arbeiten. Der Zeitaufwand für die Erstellung einer stabilen Lösung wird reduziert, und das Team erhält sogar einen Anreiz, frische, innovative Lösungen herauszugeben, die Kunden und Kollegen helfen. API-Design ist ein so wichtiger Arbeitsbereich, dass Werner Vogels, Chief Technology Officer von Amazon, sogar sagte:
Wir haben sofort erkannt, dass das Entwerfen einer API eine sehr wichtige Aufgabe ist, da wir nur einen Versuch haben werden, sie richtig zu lösen.
Es handelt sich um hochwertige APIs, die dazu beitragen, Partner für Ihr digitales Ökosystem zu gewinnen und die internen Unternehmenstransformationen Ihres Unternehmens zu vereinfachen. Die Fähigkeit, Zeit zu investieren, um alles richtig zu machen, ist auf lange Sicht eine wichtige Fähigkeit, die wir nur von den Unternehmen verfolgen, die gelernt haben, wie sie ihre APIs vollständig nutzen können.
Wichtige API-DesigntippsEs ist sehr wichtig, die API richtig zu machen - und es gibt viele Gründe. Nach der Veröffentlichung ist es nicht möglich, die API zurückzusetzen. Wenn Kunden und wichtige Geschäftsstrukturen von Ihrer API abhängen, kann das Ändern der Abhängigkeit andere Elemente des Systems beschädigen, wichtige Funktionen beeinträchtigen und Ihre Investitionen und den Zeitaufwand verringern. Bei der Implementierung des API-Programms müssen Sie andere wichtige Dinge berücksichtigen. Ich werde nur einige erwähnen.
Canonical API existiert nichtEs ist ein Fehler, "im Voraus" zu versuchen, ein kanonisches API-Design für Ihr gesamtes Unternehmen auszuwählen. Nur versuchen, einige Objekte und Datenmodelle im gesamten Unternehmen zu implementieren, dh eine einzige API zu erstellen, die jetzt und in Zukunft ausnahmslos alle Aspekte Ihres Unternehmens berücksichtigt - höchstwahrscheinlich ist dies eine Sackgasse. Es ist viel besser, Ihren Entwicklern Empfehlungen zu geben und Einschränkungen anzugeben, die ihnen helfen, Fehler zu vermeiden, Domänenwissen kreativ zu enthüllen und anzuwenden, um erstaunliche APIs zu erstellen, die sowohl Kollegen als auch Partner ansprechen.
Implementierungsprozess: Abschneiden aller unnötigenDa die API nur eine Schnittstelle ist und keine Funktion als solche, müssen Sie in der Lage sein, die API in wenigen Tagen und Wochen, jedoch nicht in Monaten zu entwerfen, zu implementieren, zu testen und bereitzustellen. Wir wissen, wie Unternehmen versuchen, das Risiko der Erstellung einer API zu verringern, um sicherzustellen, dass die API im Voraus bequem getestet und der Freigabeprozess automatisiert werden kann, damit die APIs selbst kostengünstiger und bequemer zu erstellen sind.
Konzentrieren Sie sich auf Interaktion, nicht auf IntegrationEin weiterer wichtiger Aspekt, mit dem erfolgreiche Unternehmen fertig werden können, ist die Fähigkeit, Entwicklungsteams beizubringen, bereits in der Entwurfsphase mit anderen Elementen in die API zu integrieren. Solche Organisationen erklären, wie sie mit ihren APIs arbeiten. Daher sind solche APIs nicht nur leicht zu verstehen, sondern auch leicht mit anderen APIs dieses Unternehmens zu verknüpfen. Die Konzentration auf eine breite Interaktion ist wichtiger als die Gestaltung einer engen und engen Integration.
Drei Dinge, die Sie heute tun könnenSolche Arbeiten brauchen wie alle wichtigen Änderungen Zeit. Das Warten auf den Erfolg wird jedoch nicht lange dauern. Ich erzähle Ihnen von drei Maßnahmen, die ich in verschiedenen Unternehmen einhalten musste und die Sie heute ergreifen können.
Übernehmen Sie Ihre eigene API-PraxisEine Schlüsselkomponente für den langfristigen Erfolg Ihres API-Programms ist die Entwicklung technologie-spezifischer API-Entwurfspraktiken. Stellen Sie sicher, dass ein solches Programm nicht vollständig von der neuesten Programmierweise unter Verwendung von Bibliotheken oder Plattformen abhängt. Hierfür ist es am bequemsten, sich auf das Paradigma „erster Schritt - API“ zu verlassen.
"Das erste, was ist die API" bedeutet, dass wir zuerst die API entwerfen und erst dann über die Details ihrer Implementierung nachdenken. Im Prinzip ist die Geschäftskomponente dieselbe, unabhängig davon, mit welcher Technologie Sie die API implementieren: sei es SOAP, CRUD, REST, gRPC, GraphQL oder eine andere beliebte Sache. Mit einem gut konzipierten Programm können Sie höchstwahrscheinlich Empfehlungen formulieren, die für verschiedene Technologie-Stacks relevant sind, Ihrem Team helfen, mögliche Einsparungen bewerten und die Konsistenz der Entscheidungen für nachfolgende Versionen von Plattformen gewährleisten.
Wir garantieren geringe Risiken beim Erstellen einer APINachdem die API mit hoher Qualität entwickelt wurde, ist es Zeit, sie in die Realität umzusetzen. Gleichzeitig empfehle ich, mit einer Skizze zu beginnen und dann mit dem Prototyp und dem Montagemuster fortzufahren.
Gliederungs-APIs sind genau „Skizzen“. Kleine ungefähre „Zeichnungen“, die einen Eindruck davon vermitteln, wie sich diese API aus der Position eines Entwicklers heraus „nach Geschmack und Farbe“ entwickeln kann. Eine API-Skizze sollte in wenigen Stunden und nicht in Tagen erstellt werden. Darüber hinaus sollte auf seiner Grundlage ein Projekt erhalten werden, das Kollegen und Stakeholdern gezeigt werden kann, so dass die erste Diskussionsrunde und die ersten Änderungen fast keine Kosten verursachen. Ich verwende dafür gerne die Apiary API-Vorlage. Es verwendet eine einfache Auszeichnungssprache, mit der Sie einen funktionierenden API-Server in wenigen Minuten simulieren können. Ein bestimmtes Werkzeug ist nicht so wichtig, Übung ist wichtig. Gliederungen helfen Ihnen bei der billigen Recherche und beginnen erst dann mit der Vorbereitung einer vollständigen API.
Mir ist aufgefallen, dass beim Prototyping Tools wie Swagger / OpenAPI beliebt sind. Prototypen sind viel aufwändigere Modelle Ihres Endprodukts. Sie ähneln der Kulisse für den Film. Wenn Sie nicht genau hinschauen, sehen Sie eine praktisch reale Szene! Das Team sollte in wenigen Tagen einen detaillierten Prototyp erstellen können. Ein solcher Prototyp sollte sich frei mit Testinstrumenten, Virtualisierungsdiensten und anderen Plattformelementen verbinden lassen, damit Sie direkt beobachten können, wie er mit Ihrem System interagiert. Prototypen werden benötigt, um sie zu testen. Sie sind Ihre letzte Verteidigungslinie, bevor Sie Geld für die Erstellung einer wirklich funktionierenden API ausgeben müssen.
Hier ist die Montagephase abgeschlossen. Als nächstes müssen wir einen Arbeitsplan formulieren, Fristen festlegen und beginnen, den Prototyp in ein Produkt zu verwandeln. Wir brauchten eine Skizze und einen Prototyp, um die Details herauszufinden, Fehler zu identifizieren usw. Der Erstellungsprozess selbst ist nicht so interessant. Sie müssen nur jeden Tag das fertige Ergebnis anzeigen und Schritt für Schritt die API implementieren, bis die Arbeit fertig ist. Viele Unternehmen bemühen sich, API nicht länger als 90 Tage zu erstellen.
Drei Wale Management APIWenn Sie die Situation umfassender betrachten als auf Entwurfs- und Implementierungsebene einer bestimmten API, müssen Sie sich an ein praktikables Programm für die Arbeit mit der API in Ihrer Organisation halten und allgemeine Empfehlungen für die Entwicklung von APIs anwenden, die allen Teams bekannt sind. Eine klare Regelung ermöglicht es Ihnen, die Entwicklung der API im gesamten Unternehmen zu steuern, ohne die Implementierungsdetails übermäßig zu überwachen.
Eric Wilde, mein Kollege an der API Academy, betont, wie wichtig es ist, „die Landschaft Ihrer APIs zu verwalten“, dh drei Schlüsselelemente eines API-Programms zu regulieren: Protokolle, Formate und Terminologie.
Die Protokollregulierung ist ein klarer Hinweis darauf, welche Protokolle auf Anwendungsebene ein API-Team bei der Vorbereitung neuer Versionen unterstützen sollte. Die meisten Unternehmen glauben, dass alle neuen APIs HTTP unterstützen müssen. Einige geben auch andere optionale Protokolle an, wie z. B. MQTT, Thrift und andere binäre Protokolle. Hier ist es am wichtigsten, alle Teams im Voraus zu informieren: „Wenn Sie in Zukunft die Interoperabilität Ihrer APIs gewährleisten möchten, müssen Sie diese Protokolle verwenden.“ Um diese Regel zu implementieren, ist es ratsam, eine kontinuierliche Lieferpipeline zu verwenden.
Die Regulierung von Formaten bedeutet, dass Sie vereinbaren müssen, in welchen Formaten die Daten zwischen den Diensten gesendet werden. Fast alle Browser erwarten eine Antwort im HTML-Format. Auf diese Weise müssen Sie auf der Ebene Ihrer API entscheiden, in welchem Format sie mit dem gesamten Ökosystem interagieren soll. Die meisten Unternehmen bevorzugen einfache Formate wie JSON, XML oder CSV, aber ihren Nachrichtenmodellen fehlen wichtige Metadaten, insbesondere Objektnamen, Links und Eingabeformulare - und sie sind für langfristige Interaktionen erforderlich. Andererseits kenne ich auch Unternehmen, die fortgeschrittenere Formate verwenden, z. B. HAL, Siren und Collection + JSON für HTTP-basierte APIs. Für binäre Interaktionen zwischen Diensten verwenden viele Organisationen Protobuf und ähnliche Formate als Grundlage. Unabhängig davon, für welches Format Sie sich entscheiden, ist es wichtig, es in Ihrer Montagelinie zu überprüfen und sicherzustellen, dass nur APIs in Produktion gehen, die den Vorschriften vollständig entsprechen.
Das dritte API-Management-Kit ist die Terminologie. In diesem Fall geht es um die Kontrolle über die Namen von Datenpunkten und Aktionskennungen, die beim Austausch von Nachrichten zwischen Diensten verwendet werden. Unter Einhaltung der Terminologie kann die Organisation keinen Zweifel daran haben, dass die neuen Dienste normalerweise von den bestehenden akzeptiert werden. Ich erinnere an die von Eric Evans vorgeschlagene "gemeinsame Sprache" für fachorientiertes Design (DDD) und stelle fest, dass die von Ihnen gewählte Terminologie erforderlich ist, um über den kritischsten Geschäftsbetrieb zu sprechen. Es sollte schwierig sein, einen Service in der Produktion zu erstellen, der "brandneue" Namen für Datenfelder und Aktionskennungen verwendet. Im Gegenteil, Elemente der Montagelinie sollten auf Übereinstimmung mit der im gesamten Unternehmen akzeptierten allgemeinen Terminologie überprüft werden, und APIs, die aus dieser Terminologie herausfallen, sollten nicht in die Produktion fallen.
Nachdem Sie diese Prinzipien gelernt haben: „Zunächst einmal - API“, „Sketch-Prototype-Assembly“ und „Three API Control Kit“, kann Ihr Team die APIs mit voller Kapazität verwenden, ohne die Stabilität während der Ausführung zu gefährden.