Abstract:
Web-services have become a governing technology for Service Oriented Architectures due to reusability of services and their dependence on other services. The evolution in service-based systems demand frequent changes to provide quality of service to customers. It is realized by different authors that evolution in service-based systems may degrade design and quality of service and may generate poor solutions known as antipatterns. The detection of antipatterns from web services is an important research realm and it is continuously getting attention of researchers. There are several techniques and tools presented for detection of antipatterns from object-oriented software applications but only few approaches are presented for detection of antipatterns from SOA. The state of the art antipattern detection approaches presented for detection of antipatterns from SOA are not flexible. We present a flexible approach supplemented with a tool support named as SWAD (Specification of Webservice Antipatterns Detection) to detect antipatterns from different SOAP based applications. Service-based systems, in particular, RESTful APIs, need to meet both service consumers’ and providers’ requirements. Like other software systems, RESTful APIs face continuous maintenance and evolution. Antipatterns may hinder the maintenance and evolution of RESTful APIs, as compared to the good design principles, i.e., design patterns that facilitate maintenance and evolution. Antipatterns may also affect the usability of RESTful APIs. Major market players like Facebook and YouTube are already using REST architecture and their APIs are frequently evolving to meet the end users’ requirements. Although, a number of antipatterns are de researchers performed their automatic detection but the evolution of RESTful APIs did not receive much attention. There is a need to track the evolution of antipatterns in the RESTful APIs that could assist service providers publishing well-designed and easy to consume RESTful APIs for their clients. We present the correction of eight REST antipatterns in RESTful APIs with a tool support called SOCAR (Service Oriented Correction of Antipatterns in REST) after analyzing their evolution history for two years. Our correction heuristics are validated by practitioners with an average precision of 100% and an average recall of 94%. Moreover, we propose a methodology for the correction of linguistic antipatterns with a tool support COLAR (Correction of Linguistic Antipatterns for RESTAPIs).