Як це працює: Роман Левосюк про RsCore

У рубриці “Як це працює?” ми спілкуємося з розробниками, програмістами, проєктними менеджерами, керівниками напрямів аби дізнатися, як інноваційні рішення допомагають створювати продукти, що спрощують людям життя.

Наш наступний герой, від банківського напрямку РЕНОМЕ СМАРТРоман Левосюк, розповідає про нове покоління системи для банківських пристроїв, що вміє розмінювати купюри на менші номінали, друкувати банківські картки, здійснювати валютообмін, проводити звичайні і не тільки банківські операції.

Роман Левосюк

заступник керівника R&D
РЕНОМЕ СМАРТ

Продукт:
платформа RsCore

Як виникає потреба створювати щось нове?

Колись ми розробили Tomas. Він слугував для розширення функціональних можливостей банкоматів (поповнення мобільного, карток тощо) та був дуже популярним. Мабуть, не знайдеться банку, що про нього не знає. Це бренд перевірений роками і досвідом.

Час минає, все змінюється. Те, що колись вважалось найкращим, застаріває. Виробники авто часто роблять рестайлинг попередніх моделей, вдосконалюють їх, і випускають нові покоління У світі програмного забезпечення – з’являються нові версії, а ще нові фреймворки та утиліти, на яких їх створюють. Раніше, програмісти писали багато функцій для власних потреб, тепер – можуть використовувати готові інструменти в своїй роботі. Цей ринок динамічно розвивається і фахівців, що знають старі та складні мови програмування знайти все важче. Це стало однією з причин, чому ми задумалися над заміною Tomas-у. З іншого боку, він мав певні обмеження, які важко/неможливо було розвивати аби продукт залишався конкурентним на ринку.

“В бізнесі теж приходить момент, коли треба розробити нове”

Ситуація така ж як і з авто: купили, пару років від’їздили, а тепер вкладаєте гроші в щось свіже, гарніше й надійніше. В бізнесі теж приходить момент, коли треба розробити нове, що буде краще виконувати свої задачі і генеруватиме більший дохід. Можна спробувати продовжити життя старого продукту, але рано чи пізно на вашому шляху з’являться архітектурні обмеження, які неможливо розширити. 

RsCore містить у собі абсолютно весь функціонал Tomas, при цьому його можна використовувати значно ширше, як платформу для всіх продуктів компанії.

Як це працює

Що він робить?

Кожен знає, що таке зняти кошти в банкоматі – вставили картку і отримали кеш. Опісля вам приходить смс про зняття коштів. А банківські працівники отримують сповіщення, що на якомусь банкоматі була здійснена така операція. Або ви скидаєте готівку на картку через кіоск. Отримувач відразу бачить надходження у власному банківському кабінеті. Зі сторони банку тут теж ніщо не проходить повз. Дії та оповіщення – все виконує RsCore.

Іншими словами, це клієнт серверне рішення. Коли клієнти (у даному випадку, пристрої самообслуговування), на яких встановлена частина RsCore, “бігають” на сервер, щоб отримати дані та провести платежі.

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

Як це працює

RsCore має мікросервісну архітектуру, що це простими словами?

Її можна порівняти з вуликом. Кожна сота слугує для зберігання пилку, розплоду тощо – це мікросервіс з певною функцією. Ніби незалежні одне від одного, але й кожна має визначену структуру, форму і взаємодіє з іншими згідно неї. Бджоли створюють соти, використовуючи різні інгредієнти, наповнюють їх медом з різних рослин та квітів. Точно так само як програмісти, які працюють над мікросервісами. Кожен шестикутник виконує свою роль, але взаємодіючи один з одним, вони утворюють систему. Іноді ми можемо викинути якусь частину сот, через пошкодження чи ще щось, але загалом на систему це не впливає. Так само з сервісом – один сервіс перестає працювати, видає помилку, але решта працює добре і система виконує свої функції. 

“Ми легко можемо побудувати нову додаткову систему, відповідно до запитів та вимог”

Мікросервіси формують рамку, рамки – вулик. У вулику рамки можна міняти місцями, додавати чи зменшувати їхню кількість. Як функції у проєктах, які додають програмісти.  

У версії RsCore 2.0 ми багато змінили, в порівнянні з попередньою. Збільшили рамки для вощини, збільшили власне рамку. Можна швидко робити інсталяцію системи, її оновлення, використовуємо шаблони, як листи вощини у бджільництві. Зараз ми легко можемо побудувати нову додаткову систему, відповідно до запитів та вимог.

Як це працює

Яким ви бачите подальший розвиток?

Зараз на ринку популярною є послуга SaaS (software as a service) коли пристрої можна взяти в оренду з усім необхідним, включаючи обслуговування. . Наприклад, є клієнт, що хоче встановити обмінні термінали. Йому для цього потрібно розгорнути сервер, поставити комп’ютер, програмне забезпечення, купити на нього ліцензію, адмініструвати, найняти людей для обслуговування, купити пристрої. В результаті – це великі витрати. В моделі SaaS ми можемо розгорнути ці системи на власних потужностях, налаштувати, адмініструвати і надати готовий продукт для використання. Далі він може з ним працювати і моделювати певні процеси.

З іншого боку, замовників може бути декілька. Кожному треба розгорнути окреме програмне забезпечення, окремий екземпляр цього рішення. Для кожного новий сервер. Що далі?

Поясню на прикладі з будівельниками. Щоб збудувати хату для сім’ї, треба купити земельну ділянку мінімум на 6 сот. Навіть, якщо будинок має розмір 5х5 м. І так щоразу, коли з’явиться подібний запит. Виходить дорого і не завжди рентабельно. Але якщо поглянути на проблему через призму багатокористувацького режиму, то на одній ділянці можна одразу створити багатоквартирний будинок і помістити туди декілька сімей. З нашого боку важливо, щоб сусіди між собою ніколи і ніяк не пересікалися, у них мають бути окремі входи та життя.

Для повноцінної роботи в SaaS потрібно, щоб ПЗ підтримувало multi-tenancy (багатокористувацький режим). Суть багатокористувацького режиму полягає в тому, що RsCore ми розгортаємо на власному сервері, ставимо, наприклад, функцію валютообміну і підключаємо до нього термінали декількох замовників. Вони не знають про існування сусідів, повністю від них ізольовані та мають доступ виключно до своїх даних. Ми вже маємо напрацювання для розробки цього функціоналу та будемо його розширювати.

Можете пригадати перший проєкт на RsCore, що це було?

Першим і найдавнішим є кейс з Укркоопспілкою – кооперацією, що має велику мережу сільських магазинів. Це був проєкт POC (proof of concept – з англ., перевірка концепції) –  як мешканці сільської місцевості будуть реагувати на нестандартні для них рішення. Ми в невеликих сільських магазинах мережі ставили термінали. У них зазвичай обмежений асортимент, а у наших терміналах можна було замовити те, чого не вистачало з доставкою в магазин або додому (навіть, безкоштовно). На терміналі містився каталог товарів і каталог послуг (вся комуналка, поповнення карток, мобільного, кредитів тощо). Він стояв на ніжці з двома моніторами: один касиру, а другий клієнту. Екрани дублюються, відповідно те, що робить касир, клієнт міг бачити і навпаки. 

Це був дуже об’ємний і, напевно, один із найскладніших проєктів на RsCore, у якому взяли участь 13 сіл Тернопільської області. Було дуже багато інтеграцій, зокрема, з великими українськими рітейлерами: Ельдорадо (з популярним асортиментом), EVA (хімія, косметика), Будпостач (будівельні матеріали), BeSmart (дитячі товари). Ціни, акції, знижки – точно такі, як на сайті магазинів. Альфа Банк, Easypay забезпечували нам фінансові послуги, оплати та поповнення. Ще були опції для продавця, що міг приймати замовлення на магазин, робити повернення, генерувати звіти та ін.

Як це працює

Чи були якісь курйозні випадки в ході роботи?

Рітейлери не рідко пропонували клієнтам знижки та акції на певні товари. Іноді ідентичні товари стояли на полицях у сільських магазинах. Тож одного дня сільські комерсанти додумалися замовити товари через термінал зі знижкою, наприклад, порошок у EVA і поставити у себе із вищою ціною. 

Було, що термінали вимикали на ніч. Нібито через те, що вони їм багато світла “з’їдали”. Та насправді, за потужністю він використовує електроенергії не більше, ніж звичайний комп’ютер.

На яких ще пристроях може працювати RsCore?

Це можуть бути кіоски. І поштомати, через які клієнтам банки доставляють картки, документи, договори, послуги. Вони можуть стояти у популярних торгових точках, де банк має своє невелике представництво самообслуговування. Причому, воно як повноцінне відділення: має банкомат, кіоск самообслуговування, зв’язок з оператором та ін.

Пригадав, цікавий випадок з поштоматом. І повчальний. Якось банк відправив посилку клієнту. У RsCore для поштоматів фінустанови можуть створювати посилки та складати маршрутні листи. Обов’язково вказуються контактні дані клієнта. І от халепа, допустили помилку в номері телефону, на який мав прийти код підтвердження. Без нього клієнт не може отримати посилку і зміни внести неможливо, якщо посилка вже на місці. Прийшлося використовувати позаштатні методи, влазити в систему, змінювати номер телефону. А потім ми придумали, як уникати потібних ситуацій у майбутньому.

Також у нас є розмінний кіоск – вставляєте купюру і отримуєте її у менших номіналах. Це популярний проєкт для країн Африки, де готівка використовується у великих об’ємах. Там часто і мільйони можуть “ходити”. 

Ще один проєкт для країн з Африки – кіоск, що заміняє банківське відділення. Він оснащений гаджетами для розпізнавання обличчя, сканером відбитків пальців та паспортів. Крім цього, він може надрукувати банківську картку, відкрити чи закрити рахунок, отримати банківські виписки та ін. 

Серед наших кейсів є також каса самообслуговування для Ельдорадо. Це така панелька з каталогом товарів, які можна обирати і зразу оплатити на терміналі карткою. 

Наш RsCore можна зустріти у Азербайджані. Це депозитні машини з пачковим прийомом. Але не ті, де прийом здійснюється по одній купюрі. Тут приходять з мішками і сумками коштів, складають купюри великими стосами, а пристрій все обчислює. 

Дуже цікаво працювати з Азербайджаном. Іноді складно в комунікації, вони трохи не послідовні. Часом нагадують дітей в пісочниці, що хочуть зліпити пасочку, не заважаючи на те, що сухий пісок. Певно, це заслуга їхнього гарячого менталітету. Тож ми їх вчимо, напрявляємо на вірний шлях… і часто наш ранок починається не з кави.

Чимало проектів країн Африки, СНГ та Європи перебувають на стадії розробки і, на жаль, говорити про них ще не можна.

Валютообмін був першим продуктом на RsCore, розкажіть як він працює?

Ще на Tomas була можливість здійснювати валютообмін. Однак, існувала не вирішена проблема. У банкомат закладаються кошти більших номіналів. Але коли при обміні валюти виникала решта, він не міг насипати копійок. Колись цей момент вирішувався плаваючим курсом, який зараз заборонений.

Тож згодом ми навчилися інтегрувати інші системи (Portmone, Easypay), з допомогою яких тепер решту можна зарахувати собі на картку, мобільний чи віддати на благодійність. 

Можна скористатися фіскальним принтером. І не простим, а з мізками, що дозволяє фінансовим компаніям, законно робити операції валютообміну, підтримує багато вимог згідно законодавства України, вміє передавати дані в податкову та зберігати їх.

Є можливість безготівкової купівлі валюти. Для цього просто вставляєте картку у банкомат і кошти списуються в гривні, а на руки отримуєте долари. А якщо хочете продати валюту і купити гривню, то її відразу можна зарахувати на картку. Операції з картками чи пейпасами дуже популярні в нашій країні. В цілому на безготівкові розрахунки припадає близько 60% від усіх операцій із платіжними картками. Це, насправді, дуже зручно. Ви не прив’язується до робочих годин банку і користуєтесь послугами в потрібний момент у ТЦ чи 24/7.

Що далі?

В цілому, ми багато над чим працюємо – над власне продуктом і його проєктами. Плануємо розширити його функції та зробити ще більш стандартизованим.

Як це працює