Automation in e-procurement system with auction module

B.V. Bodak, А.Yu. Doroshenko

Abstract


The article focuses on design and development around automation processes in complex e-procurement system with auction module. The complex system was built based on microservices architecture using latest server-side and client-side technologies. Data synchronization and integration amongst system’s various modules was implemented in real time via Web Socket protocol and database triggers. Web client notification methods involved SignalR technology. Data was stored in a distributed database and cached to dramatically improve query execution time. Authentication and authorization for users, modules, and subsystems was designed according to OAuth 2.0 standard with a proprietary implementation of the Proof Key Code Exchange algorithm and Backend for Frontend approach. The web client was built as a single page application using a strongly typed managed language to simplify development and debugging process. The client application was optimized with the help of lazy-loading algorithms for key modules, among them supplier, buyer, and common module. The system was composed into a Docker container to be ready to publish on cloud services or physical servers and support any operating system. A set of unit, integration, and system tests was created for each subsystem and module. Monitoring of the complex includes a technology stack to log, store, and visualize request statuses, latency, uptime, and overall health of the system. Existing automation flows for build and deployment were improved to accommodate the needs of the complex e procurement system. The system was designed and built for key stakeholders such as private enterprises acting as buyers and people or companies acting as suppliers.

Problems in programming 2023; 2: 91-100


Keywords


e-procurement; auction, e-procurement automation; REST API; Blazor; Web Sockets; Identity Service; OAuth 2.0; Docker; ELK

References


ProZorro open-source government e-pro-curement system [Online] - Available from: https://prozorro.gov.ua/en.

ProZorro results report 2022 [Online] - Available from: https://infobox.prozorro. org/articles/richniy-zvit-prozorro-za-rezul- tatami-2022-roku.

Doroshenko, A.Yu., Bodak B.V. (2019). The impact and unforeseen challenges of E-pro-curement systems in Canada. Winter Info- Com Advanced Solutions. pp. 9 10.

SmartTender for commercial customers [On- line] - Available from: https://smarttender. biz/etm/pro-kompaniyu.

How much money does a e-procurement system save, Centre of Excellence in Procurement [Online] - Available from: https://cep. kse.ua/article/impact-of-prozorro/impact- of-prozorro.pdf

Dapper performance benchmark, Dapper GitHub [Online] - Available from: https://github.com/DapperLib/Dapper/blob/main/ Readme.md.

Fette I, Melnikov A. (2011). The WebSocket protocol [Online] - Available from: https:// datatracker.ietf.org/doc/html/rfc6455 CrossRef

Overview of ASP.NET Core SignalR, Microsoft Documentation [Online] - Available from: https://learn.microsoft.com/en-us/ aspnet/core/signalr/introduction.

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

Identity Server Documentation, Duende [Online] - Available from: https://docs.du- endesoftware.com/identityserver/v6/over- view/.

Doroshenko A.Yu., Bodak B.V. (2021). Designing RESTful API for the e-procurement system in private sector. Problems of programming No 1. pp. 3 15. CrossRef

Jones M., Bradley J., Sakimura M. (2015). JSON Web Token (JWT) [Online] - Available from: https://datatracker.ietf.org/doc/ html/rfc7519. CrossRef

ASP.NET Core Blazor, Microsoft Documentation [Online] - Available from: https:// learn.microsoft.com/en-us/aspnet/core/ blazor.

Proof Key for Code Exchange, IETF [Online] - Available from: https://datatracker. ietf.org/doc/html/rfc7636.

Lazy load assemblies in ASP.NET Core Blazor Web Assembly, Microsoft Documentation [Online] - Available from: https:// learn.microsoft.com/en-us/aspnet/core/ blazor/webassembly-lazy-load-assemblies.

Bodak B.V., Doroshenko A.Yu. (2022). Pro-tecting public clients using an authorization algorithm. Problems of programming No 3-4. pp. 409 416. CrossRef

Getting started with MudBlazor [Online] - Available from: https://mudblazor.com/get- ting-started/installation.

Building a Docker image for ASP.NET Core, Microsoft Documentation [Online] - Available from: https://learn.microsoft.com/ en-us/aspnet/core/host-and-deploy/docker/ building-net-docker-images.

What is ELK Stack, Elastic [Online] - Avail- able from: https://www.elastic.co/what-is/ elk-stack.

Logstash introduction, Elastic [Online] - Available from: https://www.elastic.co/ guide/en/logstash/current/introduction.html.

About Azure Event Hubs - A big data streaming platform, Microsoft Documentation [Online] - Available from: https://learn. microsoft.com/en-us/azure/event-hubs/ event-hubs-about.

How to log events to Azure Event Hubs in Azure API Management, Microsoft [Online] - Available from: https://learn.microsoft. com/en-us/azure/api-management/api-man- agement-howto-log-event-hubs.




DOI: https://doi.org/10.15407/pp2023.02.091

Refbacks

  • There are currently no refbacks.