Інтернет-конференції НУБіП України, ТЕОРЕТИЧНІ ТА ПРИКЛАДНІ АСПЕКТИ РОЗРОБКИ КОМП’ЮТЕРНИХ СИСТЕМ '2020

Розмір шрифту: 
МОДЕЛЬ РОЗГОРТАННЯ СИСТЕМИ КЕРУВАННЯ ПЕРСОНАЛОМ ЗА ДОПОМОГОЮ TELEGRAM API
Ілля Олегович Танасюк

Остання редакція: 25-04-2020

Тези доповіді


Розроблювана система, призначенням якої є керування персоналом базується на API, наданих платформою Telegram. Вибір платформи був зумовлений дослідженням предметної області, яке показало, що дана платформа є найбільш популярною, зокрема серед цільової аудиторії, яка складається з осіб 20-35 років, громадян України.

API, яке надає платформа Telegram [2], надає доступ до створення та використання «ботів» - спеціалізованих програмних систем, які імітують діяльність людини, та автоматизують певні процеси. Як і більшість програмних продуктів, які надають API, Telegram використовує підхід REST, який передбачає модель взаємодії, при якій сервер не запам’ятовує стан клієнта, а відповідно кожен запит містить повну інформацію необхідну для опрацювання, а також може бути не пов’язаний з попереднім.

Для реалізації системи було вибрано архітектуру, яка складається з двох ботів, які взаємодіють з користувачами системи (менеджери, офіціанти, клієнти компанії), а також бази даних. В ролі якості бази даних було вибрано MySQL. Відповідно до вищеописаних особливостей підходу REST API, взаємодія з сервером ускладняється процесом формування запиту до серверу (відповідно документації), а також парсингу результатів отриманих з серверу в структури даних зручних для роботи. Для підвищення ефективності та зручності розробки, було прийнято рішення скористатись так званою «обгорткою» для API, яка бере на себе процес формування запиту до серверу з урахуванням всіх вимог, а також повертає результати від сервера у вигляді об’єктів. Таке рішення збільшує ефективність, за рахунок чого, підвищується якість розроблюваної системи.

Використання двох ботів зумовлене розділенням сфер використання – для клієнтів компанії та для працівників було створено окремі продути. Таке рішення знижує потенційний час очікування клієнта, оскільки разом з ним ботом могли б одночасно користуватись десятки працівників, і зниження часу відповіді бота напряму впливало б як на враження клієнта від продукту, так і на ефективність роботи персоналу. Взаємодія ботів відбувається засобами бази даних, шляхом обміну інформацією (статус обслуговування події, нові заявки на проведення події, уточнення даних, і тд.). Розміщення модулів системи на фізичному рівні продемонстровано на рис.2 та рис.3.

Окрім бази даних, взаємодія між ботами реалізована також через спеціальні буферні файли. Дана взаємодія реалізована шляхом створення буферних файлів для кожного бота. В дані файли записуються команди, які необхідно виконати в суміжному боті, який в свою чергу в окремому потоці очікує на надходження інформації в даний файл, після чого виконує вказану команду. Такий спосіб взаємодії необхідний для виконання певних дій, наприклад сповіщення менеджера (який користується ботом для персоналу) про створення заявки на обслуговування події, або ж інформування клієнта про зміну ціни на обслуговування (яка відповідно відбувається в боті персоналу). Вибір даного методу зумовлений обмеженням Telegram API, яке не дозволяє роботу двох екземплярів обробників для одного й того ж бота.Таким чином, в результаті було спроектовано архітектуру системи керування персоналом, за допомогою технологій REST API на мові програмування python.