Розроблення вебзастосунку для автоматизації хімічного виробництва - Легун, Володимир Романович; Lehun, Volodymyr Romanovych (Національний університет "Львівська політехніка", 2024)
Метою роботи є розробка програмного модуля, який буде використовуватись як шаблон для забезпечення високого рівня безпеки, відмовостійкості та можливість отримання даних працівниками, які можуть працювати на хімічному виробництві. У першій частині роботи зроблено аналіз предметної області та актуальності з можливостями реалізації, було розібрано проблеми даної галузі та розглянуто сучасні способи оптимізації. Друга частина роботи містить список функціональних та не функціональних вимог, пояснення технологій та обгрунтування їх вибору, показано сервіси, які використовувались для розробки. Також, в другому розділі було спроектовано структуру модуля із взаємозв’язками між його компонентами[1]. Проведено та показано різні види тестування модуля, такі як модульне, інтеграційне та перевірка безпеки. У третій частині описано реалізацію модуля і його складових, таких як система безпеки, входу та виходу користувача з його облікового запису, алгоритм отримання даних та зміна вигляду цих даних. Фінальна версія модуля складається з таких компонентів як сервера-оркестратора, який керує іншими компонентами та взаємодіями між ними, із сервера конфігурації, який керує передачею конфігураційних файлів із віддаленого репозиторію GitHub необхідним мікросервісам, API Gateway, який виступає як єдина точка входу в систему та відповідає за фільтрування запитів та надсилання цих самих запитів на мікросервіс, який може обробити його, містить 3 функціональні мікросервіси – для роботи з безпекою, для роботи з клієнтською логікою, особистий кабінет наприклад та мікросервіс для отримання даних із зовнішніх джерел[2]. Код, який використовувався в багатьох частинах модуля, було винесено в окрему бібліотеку для простоти та легкості розробки. Результатом роботи є програмне забезпечення, яке позиціонується як MVP продукт для майбутнього масштабування та покращення, яке не займе багато часу та буде дешевим. Дозволяє отримувати дані з різних джерел для відділів хіміків та логістики [3], передбачає систему ролей користувачів із розділенням доступів, з можливістю додавання нових ролей, що є важливим та корисним рішенням для будь-якого підприємства, дозволяє створити особистий кабінет працівника при правильному налаштуванні та додати користувацький інтерфейс. Рекомендовано використовувати розроблений модуль як частину загальної ERP\CRM-системи хімічного виробництва, тому що це дозволить зменшити кількість помилок, пришвидшити роботу того чи іншого відділу та зробити взаємодію між працівниками та керівництвом ефективнішою.JAVA, мікросервісна архітектура, JSON Web Token, REDIS, KAFKA, MYSQL, ERP, веб-застосунок. Робота складається з 82 сторінок, містить 28 рисунків, 12 джерел інформації, 2 додатків.

The purpose of the work is to develop a software module that will be used as a template to ensure a high level of security, fault tolerance, and the ability for employees working in the chemical industry to access data. The first part of the work analyzes the subject area and its relevance regarding implementation possibilities, addresses the problems of this industry, and considers modern optimization methods. The second part of the work contains a list of functional and non-functional requirements, explanations of the technologies used, and justifications for their selection, showing the services that were utilized for development. Additionally, in the second section, the structure of the module was designed with relationships between its components[1]. Various types of testing were conducted and demonstrated for the module, such as unit testing, integration testing, and security verification. The third part describes the implementation of the module and its components, such as the security system, user login and logout from their account, data retrieval algorithms, and the modification of the appearance of the data. The final version of the module consists of components such as an orchestrator server, which manages other components and their interactions, a configuration server that handles the transfer of configuration files from a remote GitHub repository to the necessary microservices, an API Gateway that serves as a single point of entry into the system and is responsible for filtering requests and sending those requests to the microservice that can process them. It includes 3 functional microservices - for security handling, for client logic handling, like a personal account, and a microservice for retrieving data from external sources[2]. The code used in many parts of the module has been moved to a separate library for simplicity and ease of development. The result is a software that is positioned as an MVP product for future scaling and improvements, which will not take much time and will be cost-effective. It allows obtaining data from various sources for the chemistry and logistics departments [3], provides a user role system with access segregation, and enables the addition of new roles, which is an important and useful solution for any enterprise. It allows to create a personal employee cabinet with proper settings and add a custom interface. It is recommended to use the developed module as part of the overall ERP/CRM system of chemical production, as this will reduce the number of mistakes, speed up the work of each department, and make the interaction between employees and management more effective.
Development of a web application for automating chemical production
Keywords: 6.122.00.00; Автоматизація; оптимізація; хімічне виробництво; CRM; Automation; optimization; chemical production; CRM; JAVA; microservice architecture; JSON Web Token; REDIS; KAFKA; MYSQL; ERP; web application. The thesis consists of 82 pages; includes 28 images; 12 information sources; and 2 appendices