DocumentCode
596223
Title
Web Platform API Design Principles and Service Contract
Author
Yonghong Chen ; Xiwei Xu ; Liming Zhu
Author_Institution
NICTA, Eveleigh, SA, Australia
Volume
1
fYear
2012
fDate
4-7 Dec. 2012
Firstpage
877
Lastpage
886
Abstract
The emergence of web services gives rise to service ecosystems, where core service platforms are exposed through APIs to a large number of third parties to provide new solutions. This often requires platform APIs to be able to evolve rapidly while not breaking backward compatibility in order to support a wider range of planned and unplanned use. The REST architecture style allows a service contract to be negotiated and delivered at runtime aiming to achieve higher level of evolvability. However this potential is often not fully realized due to the lack of systematic approach in architecture design to separate requirement-related contract elements from specification-related elements and integrate them into the overall API design. In this paper, we present a novel approach to designing service platform APIs in order to achieve high evolvability. We firstly apply the problem frames approach to better understand the interface coupling and the evolution of requirements. Based on the problem frame analysis, we propose a media-type centric approach to designing RESTful service API. We applied our approach to the Twitter API evolution. The result shows significant improvements in the areas of contract leaking prevention, interface consistency and adding new features.
Keywords
Web services; application program interfaces; formal specification; software architecture; software maintenance; REST architecture style; RESTful service API; Twitter API evolution; Web platform API design principle; Web service; architecture design; backward compatibility; core service platform; evolvability; interface consistency; interface coupling; media-type centric approach; problem frame analysis; requirement evolution; requirement-related contract elements; service contract; service ecosystem; service platform design; specification-related elements; Contracts; Media; Runtime; Semantics; Twitter; Web services; Evolvability; Platform API; REST; Service contract;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference (APSEC), 2012 19th Asia-Pacific
Conference_Location
Hong Kong
ISSN
1530-1362
Print_ISBN
978-1-4673-4930-7
Type
conf
DOI
10.1109/APSEC.2012.24
Filename
6462757
Link To Document