ПРОЄКТУВАННЯ, РОЗРОБКА ТА ТЕСТУВАННЯ WEB-СЕРВІСУ ДЛЯ ВИБОРУ ТЕМ ДИПЛОМНИХ РОБІТ

Ключові слова: web-сервіс, java, spring, REST API

Анотація

У роботі розглядається проєктування, розробка та тестування web-сервісу для вибору тем студентських дипломних робіт. Цей застосунок може бути корисний як викладачам, так і студентам. Web-сервіс реалізує серверну частину програмного забезпечення, яке надає можливості по створенню, збереженню та розподілу тем серед студентів ВНЗ. REST API – це архітектурний стиль для реалізації веб-сервісів, що ґрунтується на простих та уніфікованих принципах, таких як використання стандартних HTTP-методів для взаємодії з ресурсами через URI, підтримка безстанової комунікації між клієнтом і сервером, підтримка передачі даних у форматах XML і JSON, розділення обов’язків для масштабованості та стійкості систем. Використання REST API спрощує розробку, розгортання та супровід веб-застосунків, роблячи їх більш масштабованими та ефективними. Web-сервіс написаний на мові програмування Java та використовує сімейство фреймворків Spring: Spring Boot, Spring Data JPA, Spring Web, Spring Security. Структура проєкту побудована на основі патерну проєктування Controller-Service-Repository, що включає відповідні шари для впорядкування функціональності. У шарі контролера визначається зовнішній інтерфейс сервісу, він відповідає за надання даних клієнтам. Шар сховища відповідає за зберігання та отримання даних. Сервісний шар є місцем, де розташовується вся бізнес-логіка. Якщо бізнес-логіка потребує отримання або збереження даних, вона взаємодіє з репозиторієм. Для отримання доступу до бізнес-логіки клієнти викликають класи з шару контролера. Як сховище даних використовується СКБД PostgreSQL. Тестування є важливою складовою розробки програмного забезпечення. Для тестування web-сервісу використовуються юніт-тести, що перевіряють окремі компоненти, інтеграційні тести, що перевіряють взаємодію між компонентами, та тести API, які перевіряють працездатність API сервісу. Для тестування REST API використовуються Swagger та Postman. Бібліотека Testcontainers дозволяє створювати тести з використанням реальних залежностей за допомогою контейнерів Docker, що полегшує тестування з використанням реальних сервісів. Web-сервіс дозволяє автоматизувати процес створення та обрання тем дипломних робіт для викладачів і студентів відповідно.

Посилання

1. Ольховська, О. В., Кошова, О. П., Ольховський, Д. М., Семикоз, Д. С. Розробка web-застосунку для формування розкладу в закладі вищої освіти. Вісник Херсонського національного технічного університету, 2023, 1 (84), 155-162. https://doi.org/10.35546/kntu2078-4481.2023.1.21
2. Педченко, Н. С. Моніторинг розвитку кадрового потенціалу Вищого навчального закладу Укоопспілки» Полтавський університет економіки і торгівлі». Актуальні проблеми та перспективи розвитку соціально-трудових відносин в умовах цифрової економіки : матеріали ХІІ Міжнародної науково-практичної конференції. Полтава : ПУЕТ, 2021, 84-88.
3. Kopecký, J., Fremantle, P., Boakes, R. A history and future of Web APIs. it-Information Technology, 2014, 56(3), 90-97.
4. Bülthoff, F., Maleshkova, M. RESTful or RESTless–current state of today’s top web APIs. In The Semantic Web: ESWC 2014 Satellite Events: ESWC 2014 Satellite Events, Anissaras, Crete, Greece, May 25-29, 2014, Revised Selected Papers 11 (pp. 64-74). Springer International Publishing.
5. Зінченко, А. Ю. Проектування розподілених інформаційних системна основі використання технології слабозв’язаних компонентів. Системи та технології, 2023, 63 (1), 5-14. https://doi.org/10.32782/2521-6643-2022.1-63.1
6. Олексійчук, Ю. Ф., Ольховська, О. В., Ольховський, Д. М., Орлова, Д. І. Проєктування та розробка web-сервісу для генерування та розсилки pdf-документів. Системи та технології, 2023, 65(1), 39-45. https://doi.org/10.32782/2521-6643-2023.1-65.5
7. Кошова, О. П., Ольховська, О. В., Тацій, Д. С., Олексійчук, Ю. Ф., & Черненко, О. О. Розробка веб-додатків та сервісів на платформі node.js. Таврійський науковий вісник. Серія: Технічні науки, 2023, (2), 78-89.
8. Fielding, R. T. Architectural styles and the design of network-based software architectures. University of California, Irvine, 2000.
9. Neumann, A., Laranjeiro, N., & Bernardino, J. An analysis of public REST web service APIs. IEEE Transactions on Services Computing, 2018, 14(4), 957-970.
10. Chen, Y., Yang, Y., Lei, Z., Xia, M., Qi, Z. Bootstrapping automated testing for RESTful web services. In International Conference on Fundamental Approaches to Software Engineering (pp. 46-66). Cham: Springer International Publishing, 2021, March.
11. Massaga, A., Kouamou, G. E. Towards a Framework for Evaluating Technologies for Implementing Microservices Architectures. Journal of Software Engineering and Applications, 2021, 14(8), 442-453.
12. Соболєв, П. О. Автоматизована система керування дипломними роботами на кафедрі (серверна частина) (Bachelor’s thesis, КПІ ім. Ігоря Сікорського), 2021.
13. Касьяненко, І. І. iOS додаток управління педагогічними та науковими аспектами роботи кафедри (Master’s thesis, Київ), 2018.
14. Штокал, С. С. Модуль «Додатковий персонал» системи управління дипломними проектами (Bachelor’s thesis, КПІ ім. Ігоря Сікорського), 2019.
15. Walls, C. Spring in action. Simon and Schuster, 2022.
16. Drake, J. D., Worsley, J. C. Practical PostgreSQL. O’Reilly Media, Inc, 2002.
17. Provos, N., Mazieres, D. Bcrypt algorithm. In USENIX, 1999.
18. Fowler, M. Patterns of enterprise application architecture. Addison-Wesley, 2012.
19. Dos Santos, J. S., Azevedo, L. G., Soares, E. F., Thiago, R. M., da Silva, V. T. Analysis of Tools for REST Contract Specification in Swagger/OpenAPI. In ICEIS (2) (pp. 201-208), 2020.
20. Westerveld, D. API Testing and Development with Postman: A practical guide to creating, testing, and managing APIs for automated software testing. Packt Publishing Ltd, 2021.
21. Sharp, T. R. Testing the Persistence Tier with Testcontainers. In Introducing Micronaut: Build, Test, and Deploy Java Microservices on Oracle Cloud (pp. 81-88). Berkeley, CA: Apress, 2022.
Опубліковано
2024-06-26
Як цитувати
Олексійчук, Ю. Ф., Ольховський, Д. М., Ольховська, О. В., & Андрушків, О. М. (2024). ПРОЄКТУВАННЯ, РОЗРОБКА ТА ТЕСТУВАННЯ WEB-СЕРВІСУ ДЛЯ ВИБОРУ ТЕМ ДИПЛОМНИХ РОБІТ. Системи та технології, 67(1), 43-50. https://doi.org/10.32782/2521-6643-2024-1-67.7
Розділ
КОМП’ЮТЕРНІ НАУКИ

Статті цього автора (авторів), які найбільше читають