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