Client APIs are Effected by Web APIs Evolution

dc.contributor.authorFarrukh Liaquat
dc.contributor.authorFA17-RCS-002
dc.contributor.authorLHR TP 7281
dc.contributor.authorDr. Ghulam Rasool
dc.date.accessioned2026-02-16T04:11:25Z
dc.date.issued2021
dc.description.abstractWeb APIs (Application Programming Interfaces) evolution means updating the APIs to improve their performance. Web services are used for communication between applications such as Facebook, Youtube, etc. The commonly used protocols in web services are SOAP (Simple Object Access Protocol), REST (Representational State Transfer), JSON (JavaScript Object Notation), WPS (Web Processing Service), WSCL (Web Services Conversation Language), WSFL (Web Services Flow Language) and XML-RPC (XML Remote Procedure Call). The SOAP is with strict rules and allows only XML data format while REST is a Representational State Transfer and it allows a combination of different messaging data formats such as HTML, JSON, XML, and plain text. The APIs versioning consists of some changes such as adding new methods and parameters, updating methods and parameters names, and deleting methods and parameters. These changes provide an opportunity to analyze design patterns and antipatterns. The APIs may have incomplete functionalities, which shows immature APIs updates. The APIs updates bring new and improved functionalities as well as incompatibilities and integration problems for client developers. The client developers have to modify their client programs according to these changes to use new APIs. However, much prior work is found related to web services (web APIs), but our research work is mainly related to client APIs as well as web APIs. The main objective of this research is to analyze web APIs evolution pains as well as pain-causing factors to client APIs. For this purpose, we use the versioning history approach, and record the changelog of web APIs such as Youtube, and performed empirical analysis. We invoke web APIs for the detection of antipatterns. We develop a reverse engineering Add-in in Sparx System for reverse engineering of the web APIs. The Add-in automatically generates source code metrics from source code dll. The Add-in extracts 9 artifacts from source code such as the number of interfaces, number of classes, number of fields, number of code files, number of namespaces, disk size, manifest, and availability. We extract source code metrics from 10 web APIs such as Alchemy, BestBuy, Bitly, Dropbox, External-IP, Facebook, Instagram, TeamViewer, WhatsApp, and YouTube. We also extract source code metrics from 10 open-source client projects APIs such as NewtonSoft, RestSharp, NLog, SharpZipLib, Protobuf-net, Zxing, Telegram, Lucene, SharpDX, and AForge. We perform empirical analysis on source code metrics and analyzed that the APIs evolve due to Changing the number of interfaces, Changing the number of classes, Changing the number x of methods, Changing the number of fields, Changing the number of code files, Changing the number of namespaces, and Changing the size of the file. When web APIs evolve, client APIs also evolve respectively to accommodate these changes. Therefore, client APIs are effected by web APIs evolution
dc.identifier.urihttps://repository.cuilahore.edu.pk/handle/123456789/1637
dc.language.isoen
dc.publisherLibrary Information Services, COMSATS University Islamabad, Lahore Campus
dc.relation.ispartofseriesLHR TP 7281
dc.subjectDr. Ghulam Rasool
dc.subjectFA17
dc.subjectTECHNOLOGY::Information technology::Computer science
dc.subjectDepartment of Computer Science
dc.subjectWeb APIs (Application Programming Interfaces)
dc.subjectWPS (Web Processing Service)
dc.subjectWSCL (Web Services Conversation Language)
dc.subjectWSFL (Web Services Flow Language) and XML-RPC (XML Remote Procedure Call).
dc.titleClient APIs are Effected by Web APIs Evolution
dc.typeThesis

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
7281.pdf
Size:
3.5 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
319 B
Format:
Item-specific license agreed to upon submission
Description:

Collections