COMPARISON OF CODE FIRST AND DESIGN FIRST APPROACHES IN API DEVELOPMENT
DOI:
https://doi.org/10.26906/SUNZ.2020.4.051Keywords:
Design First, Code First, API, RESTful API, OpenAPI SpecificationAbstract
This article deals with API design and modelling issues in software development. Recently it has been found that the API can be used as full-fledged products and interfaces for business, significantly allows to expand your own value proposition with the help of partners' capabilities, and to connect with clients through various channels. The purpose of the article is to review, analyze and compare the Openapi specification-based Design First method with the Code First approach to create a Restful API. Based on the Design First approach, you can develop an API which based on the generated boilerplate code from the Openapi description (contract) or other description formats, test scripts and stubs, which allows to parallelize execution of tasks between performers and increase speed of development. The results of the comparison of the performance of the API-based development, which are created using two approaches, are shown, that the implementation of the API approach Design First offers a number of advantages for different developers compared to the Code First method. Using Burndown diagram and calculating Velocity (the speed) of the team’s work, it is concluded that the Design First approach allows faster execution of the tasks
Downloads
References
Patni, S. (2017), Pro RESTful APIs: Design, Build and Integrate with REST, JSON, XML and JAX-RS, 1st ed., Apress, Santa Clara, California, USA, 126 p.
Jin, B., Sahni, S. and Shevat, A. (2018), Designing Web APIs, 1st ed., O'Reilly Media, Inc., Sebastopol, CA, USA, 232 p.
"Understanding the API-First Approach to Building Products", [Електронний ресурс. – Режим доступу до матеріалу: https://swagger.io/resources/articles/adopting-an-api-first-approach/
"What is API: Definition, Types, Specifications, Documentation", [Електронний ресурс, 2019. – Режим доступу до матеріалу: https://www.altexsoft.com/blog/engineering/what-is-api-definition-types-specifications-documentation/
Gontovnikas, M. "The Business Value of API-First Design", [Електронний ресурс, 2020. – Режим доступу до матеріалу: https://auth0.com/blog/the-business-value-of-api-first-design/
Кучук Н.Г., Гавриленко С.Ю., Лукова-Чуйко Н.В., Собчук В.В. Перерозподіл інформаційних потоків у гіперконвен- гертній системі / С.Ю. Гавриленко. Сучасні інформаційні системи. 2019. Т.3, No2. С. 116-121. DOI: https://doi.org/10.20998/2522-9052.2019.2.20
Nechausov A., Mamusuĉ I., Kuchuk N. Synthesis of the air pollution level control system on the basis of hyperconvergent infrastructures. Сучасні інформаційні системи. 2017. Т. 1, No 2. С. 21-26. DOI: https://doi.org/10.20998/2522-9052.2017.2.04
Ponelat, J.S. and Rosenstock, L.L. (2021), Designing APIs with Swagger and OpenAPI, Manning, 400 p.
Зиков І. С., Кучук Н. Г., Шматков С. І. Синтез архітектури комп'ютерної системи управління транзакціями e-learning. Сучасні інформаційні системи. 2018. Т. 2, No 3. С. 60–66. DOI: https://doi.org/10.20998/2522-9052.2018.3.10
Rosenstock, L. "OpenAPI and Design-First Principles", [Електронний ресурс, 2018. – Режим доступу до матеріалу: https://stoplight.io/blog/openapi-and-design-first-principles-96e7c4b2aec1/
Takashi, N. "An API-First Approach For Designing Restful APIs", [Електронний ресурс, 2020. – Режим доступу до матеріалу: https://hackernoon.com/an-api-first-approach-for-designing-restful-apis-5tu3zru