Designing RESTful API for the e-procurement system in private sector

А.Yu. Doroshenko, B.V. Bodak

Abstract


The software for the e-procurement system was developed based on .NET Core RESTful API with Open API specifications. The server side uses RESTful API which ensures compatibility with the majority of clients and enables them to exchange information in JSON format. The authentication and authorization flow was implemented using OAuth open standard paired with Microsoft Identity Service. User roles and functionality were handled with a standalone service for authentication and registration that made our system efficient and scalable. Business logic was designed to be split into micro-services accessible through routing controllers. This approach allowed us to separate the responsibilities between the server and the client side. Special authorization headers passed during modification queries allowed us to control and restrict access to particular resources for unauthorized users. The distributed cache mechanism inside the data repository level was used in order to increase the responsiveness of the system. The state handling subsystem was designed utilizing Finite State Machine concepts. The developed system was verified using unit and integration tests.

Prombles in programming 2021; 1: 03-15


Keywords


e-procurement; RESTful API; OpenAPI v3.0; API architecture; scalable software systems

References


Doroshenko A.Yu., Bodak B.V. (2019) .The impact and unforeseen challenges of E-procurement systems in Canada. Winter InfoCom Advanced Solutions. P. 9–10.

Business Dictionary, Reverse auction [Online] – Available from: https://financial-dictionary.thefreedictionary.com/Reverse+auction

PHP Pro Bid Auction features [Online] – Available from: https://www.phpprobid.com/features/auctions

iLance Auction Software [Online] – Available from: https://www.ilance.com/auction-software/

Mubark A., Haggren A. (2017). Computer Science Optimization Of Reverse Auctions.

Stateless 3.0 – A State Machine library for .NET Core [Online] – Available from: https://www.hanselman.com/blog/stateless-30-a-state-machine-library-for-net-core/

What is a RESTful API [Online] – Available from: https://searchapparchitecture.techtarget.com/definition/RESTful-API

Architectural Styles and the Design of Network-based Software Architectures [Online] – Available from: https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

About Swagger specification [Online] – Available from: https://swagger.io/docs/specification/about/

Repository and UnitOfWork in ASP.NET Core [Online] – Available from: http://www.c-sharpcorner.com/ article/repository-pattern-in-asp-net-core/

Doroshenko A.Yu., Bodak B.V. (2020) The implementation of RESTful API for social media events platform. Summer InfoCom Advanced Solutions. P. 11–12.

Build, test, and deploy .NET Core apps [Online] – Available from: https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/dotnet-core?view=azure-devops




DOI: https://doi.org/10.15407/pp2021.01.003

Refbacks

  • There are currently no refbacks.