Download Dissertation - Eldorado

Transcript
2 Grundlagen
• welches Format unterstützt wird (XML27 , JSON28 ,...)
• wie genau die Aufrufdetails aussehen (z. B. zur Authentifizierung)
• ob eine gute Dokumentation mit Beispielen und Listen von Fehlernachrichten und -codes existiert
Insgesamt kommen sie zu der Erkenntnis, dass bei REST-APIs oft das
Problem der „Unterspezifizierung“ vorliegt, dass also zu wenige Informationen über den Service nach außen kommuniziert werden. So wird
oft nicht einmal genau ersichtlich, was genau an Eingabedaten verlangt
wird oder was als Ausgabedaten produziert wird. So extrem kann dieses
Problem bei SOAP-basierten APIs nicht auftreten, da in einer WSDL
die Schnittstelle immer mit der Hilfe von XSD genau definiert werden
muss. Weiterhin kritisieren sie APIs, die zwar direkt HTTP benutzen,
sich jedoch nicht an das REST-Paradigma halten. Zum Beispiel ändert
die GET-Methode in manchen Fällen Daten oder die POST-Methode
wird benutzt um Daten zu holen. In dieser Studie wurden viele APIs
untersucht (ohne sich auf ein bestimmtes Gebiet zu fokussieren), der
Großteil der APIs sind jedoch kleine APIs mit sehr wenigen Operationen. Dies ist ein wesentlicher Unterschied zu den ERP-APIs, die in dieser
Arbeit im Mittelpunkt stehen.
Es existieren noch drei recht ähnliche (etwas ältere) Studien über WebAPIs, die 2005 von Fan und Kambhampati [FK05], 2007 von Li et al.
[LLZ+ 07] und 2008 von Al-Masri und Mahmoud [AMM08] veröffentlicht wurden. Die erste betont hauptsächlich die geringe Größe der APIs
(„more than 77% of the services have less than 5 operations“), die fehlende Dokumentation, besonders in den WSDL-Dokumenten und dass
die meisten Services lediglich zum Auslesen von Daten benutzt werden.
Die zweite Studie, die zu sehr ähnlichen Ergebnissen kommt, erwähnt
ebenfalls die geringe durchschnittliche API-Größe. Die einzige komplexe API ist jene der bekannten Verkaufs- und Handelsplattform eBay.
Dies zeigt den typischen Charakter von Business-APIs: Die Anzahl der
Operationen ist relativ hoch und die Datenstrukturen weisen eine komplexe Struktur auf. Die dritte Studie legt seinen Fokus auf die Qualität
der APIs, jedoch hauptsächlich auf einfache statistische Werte wie die
folgenden:
• Ist der Service wirklich erreichbar?
• Existiert ein valides WSDL-Dokument?
• Wie groß ist das WSDL-Dokument?
• Welche Programmiersprache wurde für die Implementierung der
Services genutzt?
27
28
XML: Extensible Markup Language
JSON: JavaScript Object Notation
26