Ю. Ф. Олексійчук, О. В. Ольховська, Д. М. Ольховський, Д. І. Орлова
{"title":"ПРОЄКТУВАННЯ ТА РОЗРОБКА WEB-СЕРВІСУ ДЛЯ ГЕНЕРУВАННЯ ТА РОЗСИЛКИ PDF-ДОКУМЕНТІВ","authors":"Ю. Ф. Олексійчук, О. В. Ольховська, Д. М. Ольховський, Д. І. Орлова","doi":"10.32782/2521-6643-2023.1-65.5","DOIUrl":null,"url":null,"abstract":"В роботі розглядається проєктування та розробка web-сервісу для автоматичної генерації, розсилки на email та перевірки PDF-сертифікатів або інших PDF-документів, який може працювати незалежно або в інтеграції з іншими програмними продуктами. Задача генерації PDF-документу реалізується з допомогою бібліотеки iText, що дозволяє створювати файли різними способами. В цьому проєкті PDF-файли генеруються на основі HTML-шаблонів, що дозволяє просто створювати документи різної розмітки та різного оформлення. Для розсилки електронних листів використовується SMPT-сервер від GMail. Створення листів здійснюється з допомогою бібліотеки JavaMailSender. Для перевірки PDF-сертифікату на справжність є дві можливості. Можна перейти по посиланню, яке розміщене на сертифікаті. У випадку, якщо інформація про такий документ є в базі даних, буде виводитися назва заходу та ім’я учасника. Якщо інформації в базі даних немає, то буде виведена інформація про це. Інший спосіб – введення коду з документу в спеціальне поле на web-сторінці. Програмний продукт розроблений у вигляді web-сервісу, що реалізує підхід REST. Проєкт реалізований на мові програмування Java з використанням сімейства фреймворків Spring: Spring Boot, Spring Data JPA, Spring Web, Spring Security. Проєкт реалізує патерн проєктування Controller-Service-Repository і складається із відповідних рівнів. На рівні entity описані сутності з бази даних у вигляді об’єктів. Тобто для кожної із таблиць в базі даних створений клас, поля якого відповідають атрибутам таблиці. На рівні репозиторію описуються запити до бази даних з використанням інтерфейсу JpaRepository. Логіка роботи web-сервісу реалізована на рівні сервісів. Для виконання кожної із задач написаний окремий клас-сервіс або кілька класів, якщо задача велика і її доцільно розбити на підзадачі. REST-контролери відповідають за зовнішній інтерфейс. Для кожної із дій, які може здійснити користувач або інший застосунок, буде створена окрема адреса доступу (endpoint). Основні дії: створення заходу, отримання списку заходів, видалення заходів, додавання інформації про учасника заходу, отримання списку учасників, генерація сертифікатів, розсилка сертифікатів, автентифікація користувачів, перевірка наявності сертифіката по унікальному коду. Web-сервіс має простий інтерфейс користувача у вигляді web-сторінки, на якій можна перевірити сертифікат на справжність. Для роботи адміністраторів створений кабінет за допомогою бібліотеки Swagger.","PeriodicalId":43267,"journal":{"name":"International Journal of Distributed Systems and Technologies","volume":"23 1","pages":""},"PeriodicalIF":0.3000,"publicationDate":"2023-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Distributed Systems and Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.32782/2521-6643-2023.1-65.5","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0
Abstract
В роботі розглядається проєктування та розробка web-сервісу для автоматичної генерації, розсилки на email та перевірки PDF-сертифікатів або інших PDF-документів, який може працювати незалежно або в інтеграції з іншими програмними продуктами. Задача генерації PDF-документу реалізується з допомогою бібліотеки iText, що дозволяє створювати файли різними способами. В цьому проєкті PDF-файли генеруються на основі HTML-шаблонів, що дозволяє просто створювати документи різної розмітки та різного оформлення. Для розсилки електронних листів використовується SMPT-сервер від GMail. Створення листів здійснюється з допомогою бібліотеки JavaMailSender. Для перевірки PDF-сертифікату на справжність є дві можливості. Можна перейти по посиланню, яке розміщене на сертифікаті. У випадку, якщо інформація про такий документ є в базі даних, буде виводитися назва заходу та ім’я учасника. Якщо інформації в базі даних немає, то буде виведена інформація про це. Інший спосіб – введення коду з документу в спеціальне поле на web-сторінці. Програмний продукт розроблений у вигляді web-сервісу, що реалізує підхід REST. Проєкт реалізований на мові програмування Java з використанням сімейства фреймворків Spring: Spring Boot, Spring Data JPA, Spring Web, Spring Security. Проєкт реалізує патерн проєктування Controller-Service-Repository і складається із відповідних рівнів. На рівні entity описані сутності з бази даних у вигляді об’єктів. Тобто для кожної із таблиць в базі даних створений клас, поля якого відповідають атрибутам таблиці. На рівні репозиторію описуються запити до бази даних з використанням інтерфейсу JpaRepository. Логіка роботи web-сервісу реалізована на рівні сервісів. Для виконання кожної із задач написаний окремий клас-сервіс або кілька класів, якщо задача велика і її доцільно розбити на підзадачі. REST-контролери відповідають за зовнішній інтерфейс. Для кожної із дій, які може здійснити користувач або інший застосунок, буде створена окрема адреса доступу (endpoint). Основні дії: створення заходу, отримання списку заходів, видалення заходів, додавання інформації про учасника заходу, отримання списку учасників, генерація сертифікатів, розсилка сертифікатів, автентифікація користувачів, перевірка наявності сертифіката по унікальному коду. Web-сервіс має простий інтерфейс користувача у вигляді web-сторінки, на якій можна перевірити сертифікат на справжність. Для роботи адміністраторів створений кабінет за допомогою бібліотеки Swagger.