Programmierschnittstelle

In der Informatik , eine Application Programming Interface oder Application Programming Interface (oft bezeichnet als API für Application Programming Interface ) ist ein standardisierter Satz von Klassen , Methoden , Funktionen und Konstanten , die als dient Fassade , durch die Software bietet Dienstleistungen für andere Software. Es wird von einer Softwarebibliothek oder einem Webdienst angeboten , meistens begleitet von einer Beschreibung , die angibt , wie Verbraucherprogramme die Funktionalität des Anbieterprogramms nutzen können .

Allgemeiner sprechen wir von API ab dem Zeitpunkt, an dem eine IT-Einheit versucht, mit oder auf einem Drittsystem zu agieren, und diese Interaktion erfolgt auf standardisierte Weise unter Berücksichtigung der vom Drittsystem festgelegten Zugriffsbeschränkungen. Das Drittsystem soll "eine API verfügbar machen". Daher werden so unterschiedliche Dinge wie die Signatur einer Funktion, eine URL , ein RPC … manchmal als vollständige APIs (oder Mikro-APIs) betrachtet.

In der heutigen Software - Industrie, Computer - Anwendungen nutzen viele Programmierschnittstelle, da die Programmierung durch Wiederverwendung erfolgt Funktions Ziegel zur Verfügung gestellt von Software von Drittanbietern. Diese Konstruktion durch Assemblierung erfordert, dass der Programmierer weiß, wie er mit anderer Software interagiert, was von deren Programmierschnittstelle abhängt. Der Programmierer muss die Details der internen Logik der Fremdsoftware nicht kennen und dies wird auch nicht unbedingt vom Hersteller dokumentiert. Nur die API wird wirklich benötigt, um das jeweilige Drittsystem zu verwenden.

Software wie Betriebssysteme , die Datenbankverwaltungssysteme , die Programmiersprache oder Anwendungsserver umfassen eine oder mehrere Schnittstellenprogrammierungen.

Beschreibung

Eine Programmierschnittstelle ist eine klar abgegrenzte Fassade, über die eine Software einer anderen Software Dienste erbringt. Das Ziel besteht darin, einen Zugang zur Funktionalität bereitzustellen, indem die Details der Implementierung ausgeblendet werden. Eine Programmierschnittstelle kann aus Klassen , Methoden oder Funktionen , Datentypen und Konstanten bestehen . Meistens wird eine Programmierschnittstelle durch eine Softwarebibliothek implementiert, die eine Lösung für ein Computerproblem bietet, indem sie ihren Betrieb außer Acht lässt.

Die Beschreibung der Programmierschnittstelle spezifiziert, wie Clients mit Software interagieren können, indem sie die von der Software gebotene Funktionalität hervorheben und die Details ihres Betriebs verbergen. Eine Programmierschnittstelle kann in vielen Programmen verwendet werden und dient dann als Baukasten, der Funktionen bereitstellt, die in Anwendungen integriert werden können. Programmierer erstellen Programmierschnittstellen für andere Programmierer, für die Computerindustrie, manchmal aber auch für den eigenen Bedarf.

benutzen

Die Erstellung und Nutzung von Programmierschnittstellen ist ein wesentliches Thema der zeitgenössischen Programmierung. Eine Anwendung verwendet typischerweise viele Programmierschnittstellen, die durch Softwarebibliotheken implementiert werden, die selbst andere Programmierschnittstellen verwenden können.

In einer serviceorientierten Architektur können Anwendungen auf Funktionalitäten von Drittanbietern angewiesen sein, die von Software über durch Webdienste implementierte Programmierschnittstellen angeboten werden .

Programmierschnittstellen sparen Zeit durch Zusammenarbeit und Spezialisierung von Softwareentwicklungsteams. Zum Beispiel schreibt heute niemand ein selbstgemachtes DBMS für eine Computeranwendung. Programmierer verwenden vorhandene Standard-DBMS von Unternehmen, die sich auf diese Art von Produkten spezialisiert haben, und konzentrieren sich auf die für ihre Anwendung spezifische Logik. Viele Infrastrukturprodukte stehen daher in Form von Frameworks oder Bibliotheken zur Verfügung .

Eine Programmierschnittstelle ermöglicht beispielsweise einem Programm den Zugriff auf die Dienste, die von dem Betriebssystem angeboten werden , das das Programm hostet. Die Sockets- Schnittstelle ist ein klassisches Beispiel für eine Programmierschnittstelle, die es einem Programm ermöglicht, die Möglichkeiten der Netzwerkschicht des Betriebssystems auszunutzen.

Eine der bekanntesten Schnittstellen ist die Windows-API . Es ist eine Sammlung von Funktionen, Datentypen und Konstanten in der Programmiersprache C (Windows wurde hauptsächlich in C geschrieben, insbesondere der Kernel und einige C++), die es Programmierern ermöglicht, Anwendungen für Windows-Betriebssysteme zu erstellen. Es bietet die Möglichkeit, Dateien und Prozesse zu verwalten, über Netzwerke zu kommunizieren und grafische Oberflächen zu handhaben .

Markt

In der heutigen Software - Industrie, Computer - Anwendungen nutzen viele Software von Drittanbietern, wie beispielsweise einem Betriebssystem , Standardbibliotheken oder Anwendungsserver . Jedes dieser Produkte verfügt über eine eigene Programmierschnittstelle. Jeder Programmierer, der an der Entwicklung solcher Produkte beteiligt ist, beschäftigt sich also bewusst oder unbewusst mit dem Geschäft mit Programmierschnittstellen. Aus betriebswirtschaftlicher Sicht ist eine Programmierschnittstelle ein Vertrag, in dem ein Feature-Anbieter sein Angebot, die von ihm angebotenen Features und etwaige Einschränkungen beschreibt.

Bauen durch Zusammenbauen von Software erfordert, dass der Bauherr weiß, wie die Teile miteinander interagieren. Wer die Montage durchführt, muss nicht alle Details der internen Mechanismen eines Teils kennen, solange er dessen Programmierschnittstelle kennt. Die Programmierschnittstelle ist das Minimum, das ein Programmierer wissen muss, um eine Software von Drittanbietern verwenden zu können. Bei einer Funktion sind es der Name dieser Funktion, die Parameter und die Art des Ergebnisses sowie die beobachtbaren Auswirkungen der Funktion.

Eine Programmierschnittstelle wird als gewöhnliches Softwareprodukt auf dem Markt vertrieben, das regelmäßig verbessert wird. Die Implementierung der über die Programmierschnittstelle nutzbaren Funktionalitäten kann sich unter Beibehaltung der vertragskonformen Fassade periodisch ändern.

API-Beispiele

Beispiele je nach Anwendungsgebiet

Funktionen von Programmierschnittstellen in Java

Programmierschnittstellen können mehrere Funktionen haben. In Java EE finden wir beispielsweise die folgenden Funktionen:

APIs können verwendet werden, um den Zugriff auf andere APIs zu vereinfachen

Übermittelte Daten

Programmierschnittstellen können Metadaten enthalten .

API-Verwaltung 

Die Management API ist eine Disziplin , ein Werkzeug für das API - Management , eine IT - Lösung , die Organisationen helfen soll , Unternehmen zu betreiben und die beste API zu veröffentlichen , ohne das Informationssystem zu gefährden . Es ist ein Mittel, um interne und externe Dienste sicher miteinander zu verbinden. Darüber hinaus ermöglicht API Management auch eine gewisse Sichtbarkeit der Zugriffsanfragen auf seine APIs. Dies sichert die exponierten APIs, erleichtert die Verwaltung ihres Lebenszyklus, hilft bei der Kontrolle des API-Verbrauchs und bietet Reporting-Tools zur Überwachung von Verträgen. Die Management-API impliziert die Erstellung von Benutzersupport für Ressourcen , die die API definieren und dokumentieren.

Hinweise und Referenzen

  1. „  Programmierschnittstelle  “ , Le Grand Dictionnaire terminologique , Office québécois de la langue française (Zugriff am 27. Mai 2019 ) .
  2. "  Programmierschnittstelle: API oder Anwendungsprogrammierschnittstelle  " , auf journaldunet.fr ,20. Januar 2019(Zugriff am 27. Juni 2019 ) .
  3. Jean-Noël Anderruthy, Monitoring und E-Reputation-Techniken , Editions ENI ,Juni 2009, 355  S. ( online lesen ) , s.  24

    „Eine API ( Application Programming Interface ) […]“

  4. François Mouzard, IT - Glossar: Terminologie Bulletin n o  233 , Minister für öffentliche Arbeiten und Government Services - Übersetzungsbüro,2011, 553  S. ( ISBN  978-0-660-60165-6 und 0-660-60165-6 , online lesen ).
  5. (en) Martin Reddy, API Design for C ++ , Elsevier - 2011, ( ISBN  9780123850041 ) .
  6. (en) Jaroslav Tulach, Practical API Design: Confessions of a Java Framework Architect , Apress - 2008, ( ISBN  9781430209744 ) .
  7. (in) Joe Casad, Sams Teach Yourself TCP / IP in 24 Hours , Sams Publishing - 2004 ( ISBN  9780672325656 ) .
  8. "  Eine Entwicklerfrage mit Raymond Chen - In welcher Programmiersprache ist Windows geschrieben?  » (Zugriff am 13. Januar 2021 )
  9. (en) Daniel Jacobson - Dan Woods - Greg Brail, APIs: A Strategy Guide , O'Reilly Media Inc. - 2011, ( ISBN  9781449308926 ) .
  10. (in) David A. Watt, Programmiersprachen-Designkonzepte , John Wiley & Sons - 2004 ( ISBN  9780470020470 ) .
  11. "  API-Management: API-Gateways einrichten | Microsoft Azure  “ , unter azure.microsoft.com (Zugriff am 11. Januar 2018 )
  12. https://developer.salesforce.com/page/Salesforce_APIs
  13. „  Überblick über die API-Verwaltung  “ , auf microsoft.com ,23. Januar 2017(Zugriff am 31. Mai 2017 )
  14. Frédérick Miszewski, „  Warum API Management kein IT-Thema ist  “ , auf nexworld.fr (Zugriff am 31. Mai 2017 )
  15. Margaret Rouse, „  Gestion des API  “ , auf lemagit.fr (Zugriff am 31. Mai 2017 )

Siehe auch

Zum Thema passende Artikel

Externe Links